-
Число публикаций
376 -
Регистрация
-
Последнее посещение
-
AMKoin
100 [Подарить AMKoin]
Весь контент пользователя WinCap
-
Здравствуйте. Помогите разобраться с вопросом различия lightmap и vertex шейдеров в ЗП 1.6.02. Меня интересует не столько техническая разница в реализации, сколько практическая. Я даже примерно не могу увидеть в игре, в чем между ними разница? Специально устанавливал рядом две плоскости с различными настройками шейдеров и мне кажется, что в игре они выглядят одинаково. Может я как-то не так скомпилировал уровень или нужны "особые" настройки освещения? Пожалуйста, объясните, чем они отличаются и как это увидеть в игре?
-
@НаноБот, удаление и спавн я реализовал, но выглядит не красиво... сильно не красиво. Функцию телепортации NPC я продублировал в движке и пытался применить к объектам, но ничего не выходит - они не перемещаются.
-
Здравствуйте. Подскажите, пожалуйста, возможно ли реализовать функцию "телепортации" для физических объектов (physic_object)? Может кто-то уже такое делал и есть откуда позаимствовать? Движок игры 1.6.02 CoP.
-
Здравствуйте. Никак не могу подобрать логику для NPC’я. Хочу посадить его в конце коридора, за небольшое укрытие. И что бы при появлении в коридоре Actora, NPC "поливал" его из автомата, желательно без остановки, прерываясь только на перезарядку. Пожалуйста, подскажите варианты логики/анимаций, чтобы такое реализовать.
-
Функция "remove_sleep_static():
-
Функция "remove_sleep_static()". Переменная "sleep_time" получает текущее время, поэтому всё скидывается. Здесь к нему нужно прибавлять количество минут которые проспал ГГ.
-
@Капрал Хикс @RayTwitty, а точно нужно использовать функцию "GetSelectedItem"? local index = list:GetSelectedItem() if index == 4294967295 then return end Она же возвращает Item.
-
Здравствуйте. Движок CoP 1.6.02. В серверных классах есть парные функции: void UPDATE_Read(NET_Packet &tNetPacket) и void UPDATE_Write(NET_Packet &tNetPacket). Есть необходимость добавить новую переменную в эти функции для обмена между серверным и клиентским классом. Для предметов "заспавненных" во время игры всё работает, но для предметов, поставленных в SDK, происходит вылет. Это ожидаемо, т.к. в all.spawn'е, собранным стандартным xrCompiler'ом, этой переменной нет. Подскажите, пожалуйста, возможно ли в функции "UPDATE_Read" как-то определить, что чтение переменных происходит из all.spawn?
-
@Баба ЯГА, логика для объектов задается в его секции параметром "custom_data". Например, объект [jup_b206_plant] в файле "configs\misc\quest_items.ltx" из оригинальной игры. Для него прописан файл: custom_data = models\objects\ignore_static.ltx Всё, что находится в этом файле, после спавна объекта, будет записано в его "custom_data", в том числе и секция [logic], если её там указать. Есть небольшой нюанс. Содержимое файла, указанного в параметре "custom_data", сохраняется в самом объекте и после спавна его уже не изменить. Для отладки это не очень удобно. Вместо этого в секции [logic] можно указать ссылку на файл с логикой: [logic] cfg=scripts\zaton\zat_bochka_logic.ltx А уже в этом файле прописывать все, что нужно. В этом случае можно производить отладку логики и после спавна объекта. Это работает не только с предметами, но и одиночными NPC (не в составе squad'а).
-
@rost2000, а ещё, в добавлении к предыдущему посту: Наличие "зоны" лучше проверить перед циклом, один раз. А внутри цикла нужно убедиться в наличии объекта: if obj and zone:inside(obj.position) then
-
@Norman Eisenherz, попробуй вместо "sobj:section_name()" использовать "sobj:name()".
-
@Dalarcsis, в файле "dialog_manager.script" в функции "load" забыл добавить чтение новой переменной:
-
Спасибо за "наводку". Нашел виновного - Weld distance, в настройках сцены.
-
@Haron_108 Здесь всё нормально. Ошибка в другом месте. SDK утверждает, что секция "zones\teleport_horiz" прописана дважды. Попробуй пройтись поиском по конфигам, может, где-то по ошибке продублирован параметр "$spawn" с такой секцией. Или найди все секции, унаследованные от "zone_teleport" и убедись, что там есть свой параметр "$spawn". Повторюсь, что искать ошибку нужно в папке "gamedata" в SDK.
-
Попробуй проверить все новые(!) секции телепортов в файле "...\config\misc\zone_teleport.ltx" в SDK. И убедись что в них добавлен соответствующий параметр "$spawn = ".
-
Здравствуйте. При компиляции локации у статических объектов происходит объединение близко расположенных вертексов. Не получается сделать мелкий предмет. Скажите, пожалуйста, это расстояние где-нибудь настраивается, или возможно как-то это "безобразие" отключить?
-
Это не коллекция, а скорее свалка разных иконок. Но если мне не изменяет память, то Ваши там тоже должны быть.
-
Скорее всего, они именно вращаются, только центр вращения находится не в пределах объекта, а в центре локации. Чтобы это исправить, можно сдвинуть центр объекта в центр геометрии в "Библиотеке объектов" в LE, а потом настолько же сдвинуть его в сцене. Тогда можно будет его нормально вращать.
-
Здравствуйте. Подскажите, пожалуйста, возможно ли так настроить материал динамического объекта, чтобы монстры могли через него проходить, а Actor нет?
-
Точка "wp00" находится не на AI-сетке.
-
Здравствуйте. Недавно @monk поделился моделями радиоустройств из другой игры. Там каждая текстура дополнена файлом "*_normal.dds". Подскажите, пожалуйста, а есть какой-нибудь способ переделать их в файлы "*_bump.dds" для сталкера?
-
Всё дело в этом кусочке кода из функции "trade_manager.update": Обновление ассортимента произойдёт после истечения времени "tt.resuply_time", но только после того как изменится текущая секция в конфигурационном файле торговца. Можно попробовать изменить эту часть на примерно такую:
-
Не правильно. Нужно было ИЛИ раскоментировать стандартный код ИЛИ изменить его, как посоветовал @Kirgudu. Посмотри внимательно, как написано в его посте. В функции "trade_manager.update" в условиях для переменных "tt.update_time" и "tt.resuply_time" нужно поменять знак сравнения на "больше" - ">". При использовании "game.time()" значения времени 60000 и 120000 чрезвычайно малы.
-
Как уже и ответили выше, обновление ассортимента торговцев происходит при вызове функции "npc:buy_supplies(tt.config, str)". Именно в этот момент в движке происходит наполнение ассортимента в соответствии с конфигами и вызывается она именно из "trade_manager.script". В этом скрипте присутствуют две переменных для отсчёта времени "tt.update_time" и "tt.resuply_time" и они даже сохраняются и загружаются, но есть один "косяк". Эти переменные загружаются в таблицу в функции "trade_manager.load", а в функции "trade_manager.trade_init" эта таблица "затирается" новой и переменные становятся "nil": --' if trade_manager[npc:id()] == nil then trade_manager[npc:id()] = {} --' end И, как следствие, на первом же апдейте, происходит обновление ассортимента торговцев. Можно раскомментировать условие и тогда обновления ассортимента после save/load’а не будет, но только для тех торговцев кто online. Если отойти подальше и сделать save/load, то он обновится. Поскольку "xr_motivator.script", откуда вызывается сохранение и загрузка trade_manager’а, работает только для тех, кто online. З.Ы. Дополнительно отмечу, что причина, по которой ПЫСы закомментировали этот код, неизвестна. И, может быть, его активация вызовет ещё какие-нибудь ошибки.
-
Я правильно понимаю, что это, скорее всего, сделано, чтобы находясь в середине пути NPC, после save/load’а, продолжил путь с ближайшей точки, а не топал на самое начало? Надо как-то выкручиваться. Придётся поставить в начале пути ещё один одноточечный путь и промежуточную секцию логики.
УЧИМСЯ МОДДИНГУ
ИГРАЕМ В МОДЫ НА ТЧ
ИГРАЕМ В МОДЫ НА ЧН И ЗП
- [ЧН] Final stroke 0.9
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial patch CoP 1.6.03
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды
ПОЛЕЗНОЕ И РАЗНОЕ
n6260