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

makdm

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

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

  • Посещение

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

    7

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

  1. Потому что вы ему запретили брать в руки оружие, прописав can_select_weapon = false Он что? Пальцем стрелять будет? Потому сидит и ждет, когда его пристрелят. А вот это: combat_ignore_cond = false combat_ignore_keep_when_attacked = false gather_items_enabled = true help_wounded_enabled = true вообще указывать в логике не нужно. По умолчанию скрипты и так установят эти значения. Просто делаете лишние телодвижения и засоряете файл логики. Вероятность.
  2. Вот старая гвардия модмейкеров так как вы не делает. Есть супер пупер программа, которая называется AC_DC. Декомпиллил all.spawn - и все как на ладони. Там, на Свалке, вей-поинтов куча и тележка в придачу. Раз у вас их нет, значит файл level.game не был закинут из SDK в папку уровня игры. Всегда перед декомпилляцией нужно это проверять, если хотите использовать уже наработанное предыдущим модмейкером на локации и не создавать самому всё с нуля. В этом случае есть решение, как восстановить этот файл, чтобы вейпоинты при декомпилляции были восстановлены на игровом уровне.
  3. То, что у вас работает не говорит о том, что будет работать у всех.
  4. Мне точно не пригодится. 1. on_combat = combat_surge - Это что за байда? Где в ЗП вы это видели? 2. Вы прописываете спринт на точку. Не будут они спринтовать. Вот просто не будут... в ЗП. 3. .....Дальше даже не буду писАть ввиду кучи непонятностей.
  5. Работа, которую вы прописали НПС, входящему в сквад, для движка не существует.
  6. Честно говоря, я вообще так не делаю, как делаете вы. Нужно смотреть скрипты оригинальной игры и придерживаться их канонов. Для контроля квеста лучше ставить рестриктор и в нем все отслеживать, тогда и геморроя будет меньше. Например в вашем случае я бы сделал так: 1. Поставил рестриктор, в котором бы отслеживал наличие у игрока необходимых предметов. Как только бы игрок их собрал, то выдал бы инфопорцию, например actor_has_all_need_items 2. Тогда в таск менеджере было бы все гораздо проще: title = {+actor_has_all_need_items }test2-269, test1-269
  7. Это как раз образец того, как нужно сделать, чтобы запороть квест по полной программе! У вас есть три объекта : spareparts, spareparts_p_2, spareparts_p_3 Нужно проверить все ли они есть в рюкзаке ГГ, причем каждого должно быть не меньше трех. В файле xr_conditions.script есть функция, которое это дело проверит - actor_has_item_count Таким образом меняем target: target = { =actor_has_item_count( spareparts:3 ) =actor_has_item_count( spareparts_p_2:3 ) =actor_has_item_count( spareparts_p_3:3 ) } Дальше включаем мозг и все кажется уже очень простым. Подсказка - отдаем сразу все три предмета, которые в рюкзаке ГГ: function transfer_test_to_npc269_4(first_speaker, second_speaker) dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "spareparts_p_2", 3 ) end
  8. Потому что у ящика нет самой секции логики. А то что вы приводите в пример - это не логика, а просто секция drop_box, прописанная в кастом дата, которая без секции логики не читается биндером. Для того чтобы это хозяйство работало правильно, нужно в кастом дата прописать: [logic] active = nil [drop_box] community = def_box items = medkit, 3, antirad
  9. Я понимаю, что слово мало что значит, но тогда обратимся к оригиналу. Посмотрим функцию check_npc_name в файле xr_conditions.script Затем откроем файл pri_a28_arch.ltx и увидим такое suitable = {-pri_a28_arch_done =check_npc_name(kovalski)} true Затем откроем файл spawn_sections_pripyat.ltx и увидим, что секции НПС такие: pri_a17_military_colonel_kovalski и pri_a17_military_colonel_kovalski_strong Внимание вопрос! Каким образом скрипт логики умеет назначить логику объекту, если слово kovalski стоит в конце имени???
  10. Единственного монстра, которого я добавлял через SDK - это был Сидорович. Все остальные ( новые, старые ) ставятся в сцену скриптом во время игры и SDK об их существовании может не знать совсем. Вы что там всех НПС через SDK расставляете?
  11. Поставьте смарт_террейн посредине анимпоинтов. Определите всех НПС в сквад. Привяжите сквад к смарту. Будут стоять на месте как миленькие, хоть он-лайн, хоть офф-лайн.
  12. Это шанс, что при выбросе родится данный арт. Больше число - большой шанс.
  13. Ну так и проверяйте в precondition в диалоге существует сквад Монолита или нет. В xr_conditions.script функция squad_exist вам в помощь.
  14. Мод самодостаточен. Никаких продолжений или изменений не планировалось и не планируется. Возможно.... будет другой мод . Тоже спин-офф. .. Про одного из персонажей ТЧ... Правда его история начнется за день до появления наемника Шрама из ЧН на Кордоне.. .
  15. В файле xr_meet.script есть функция: Вызвав её и передав в качестве аргумента game_object НПС, который вы можете получить по его story_id, получите результат: болтает ваш НПС с ГГ( находится в состоянии meet ) или нет. И никаких инфопоршней.
  16. В моде Связь Времен, я использовал скрипт, который ни разу не подводил. Это вывод текста на экран на заданное время. Я думаю, смысл вам понятен. Подрихтуете под себя и забудете про проблему. З.Ы. Функцию поправил. Случайно при переносе удалил срочку.
  17. Те, которые под эксклюзивной, прямо писАть переход на логику smartcover при наличии врага. Те, которые симуляционные, то в файле gulag_general.script, по аналогиии с animpoint. Правда придется прописать условие ( _precondition_function ) для перехода в логику smartcover и проставить соответствующий приоритет.
  18. Неверный, на мой взгляд, алгоритм решения задачи. Лучше действовать от обратного. Здесь нужно проверять не со стороны рестриктора, а со стороны НПС не попал ли он в определенную зону. И если попал, то вызывать action. Как это сделано, можно посмотреть в моде Связь Времен. Файл xr_suicide.script Здесь проверяется в эвалуаторе, не попал ли НПС в определенную зону ( зону аномалии суицид ). Если попал, то вызывается Действие ( суицид НПС ).
  19. Например, можно так: set_inactivate_input_time( 30 ) level.add_cam_effector( "camera_effects\\fusker.anm", 999, false, "" )
  20. В секции логики переключаемся, например, за 10 метров до НПС [walker@_1] on_info = { =dist_to_npc_le( 10 ) } wlaker@_2 [walker@_2] on_info = { !dist_to_npc_le( 10 ) } wlaker@_1 Сама функция в файле xr_conditions.script
  21. Похоже что при восстановлении скриптов, самих скриптов вы и не поняли. Скрипт se_car.script Его содержимое: Тут ведь все доступно и понятно. Это и есть ответ на ваш вопрос.
  22. БТР поддерживает спавнер. Нужно просто поставить БТР на локации через ac-dc, раз уж вы не работаете в SDK, и в нужный вам момент в игре выдать инфопорцию для перехода БТР в он-лайн. БТР и появится там, где вам нужно. Вот так выглядит секция в all.spawn После выдачи инфопорции start_second_task_darkscape, Бтр перейдет в онлайн.
  23. Наверное ошибся. Играйте в то, что есть.