Перейти к содержанию

denis2000

Разработчики
  • Публикаций

    1 763
  • Зарегистрирован

  • Посещение

  • Победитель дней

    3

Весь контент denis2000

  1. Значит 100% это косяки оригинала.
  2. vladvexa188 НПС видит ГГ? Если нет, никаких приветствий или прощаний не будет.
  3. Так тупо и пропиши ее в апдейт. Это характерно для кода GeJorge: от гениальности до, как так можно писать - один шаг. PS: А вообще ровно такую задачу я реализовывал в Поиск укрытий от выброса
  4. Mawrak Починить, то все можно, только смысла в этом нет - ЗП работает по другим принципам...
  5. Mawrak Естественно он не работает, скрипты кардинально переделаны.
  6. Pavel2000 Тут нет - это в оригинале вы имеете ввиду? Дополнено 1 минуту спустя Если вставлять то так: function sim_squad_scripted:show() if self.show_disabled then self:hide() return end if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then self.show_disabled = true return end if self.current_spot_id ~= self:commander_id() then self:hide() self.current_spot_id = self:commander_id() self:show() return end
  7. Я это и имел ввиду, но оказывается на одном объекте могут одновременно висеть несколько меток, а не одна последняя. На вашем НПС есть еще метка командира сквада нейтралов. Попробуйте открыть файл sim_squad_scripted.script там в функции sim_squad_scripted:show есть строки: if(level.map_has_object_spot(self:commander_id(), "ui_pda2_trader_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_mechanic_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_scout_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_quest_npc_location")~=0) or (level.map_has_object_spot(self:commander_id(), "ui_pda2_medic_location")~=0) then self.show_disabled = true return end Добавьте свою метку по аналогии.
  8. Pavel2000 Отмена, значит это так не сработает, остается метка командира сквада...
  9. Pavel2000 Можно сделать так: 1. Добавляете в stalker_generic.script новую метку в функции reset_show_spot и remove_level_spot. Но делаете ее невидимой. 2. Добавляете свою метку в логику: [logic] level_spot = ...
  10. Я ничего не говорил о новичке в Зоне отчуждения! Новичок в зоне погибнет до первого выброса.
  11. Pavel2000 Нет необходимости прописывать логику, достаточно задать стори_ид: turn_off_underpass_lamps, turn_off, turn_on
  12. Поиск укрытий от выбросов Во время работы над модом Отступник, я задумался о том, что Главный Герой, а точнее его КПК, прекрасно знает о всех укрытиях от выбросов на всех локациях. Как мне кажется, такая ситуация не очень-то реалистична, ведь как правило, Зона отчуждения для персонажа игры или мода - это Терра инкогнито, а стало быть ему (и нам как игрокам) необходимо ее исследовать и узнавать о ней от более сведущих людей (НПС). Подумав так, я решил реализовать такую концепцию: 1. Главный Герой знает на каждой локации по два-три очевидных укрытия, например на известных базах дружественных/нейтральных НПС. 2. Главный Герой может в процессе исследования локации находить места пригодные для укрытия и отмечать их координаты в своем КПК. 3. Главный Герой может в процессе диалога с дружественным/нейтральным НПС выяснить координаты ближайшего не известного ему убежища. Итак, приступим:
  13. vladvexa188 Самое примитивное: function add_map_spot(actor, npc, p) local obj_id = get_story_object_id(p[1]) level.map_add_object_spot(obj_id, p[2], p[3]) end
  14. vladvexa188 Ничего не мешает добавить в любой момент любую метку на нужный объект: level.map_add_object_spot(id_объекта, имя_метки, описание_метки) И удалить: level.map_remove_object_spot(id_объекта, имя_метки)
  15. DimoNULL Call back (обратный вызов) - это когда движок вызывает определенную скриптовую функцию в ответ на определенное событие. Например на событие поднятие предмета ГГ вызывается функция actor_binder:on_item_take из bind_stalker.script. Space restrictor (Пространственный ограничитель) - специальный спавн-объект обладающий двумя основными функциями: 1. Запуск скриптовой логики 2. Ограничение игрового пространства для мобов.
  16. st_dialog_manager.xml Они разные бывают: есть в SGM 2.2, а есть оригинальный - travel_manager.script и его конфиг travel_manager.ltx
  17. Drive Секции secret в кастомдатах объектов в all.spawn. В них обязательно должен быть параметр name - имя тайника к которому объект привязан.
  18. sosiska23 Ну...ОК Объект [escape_medkit] в секции [secret] нет параметра name.