Дмитрий Зверев 0 Опубликовано 29 Декабря 2018 Всем привет. Может ли кто-то подсказать теорию работы схемы mob_jump? На практике я вообще не могу разобраться с принципами её работы, а гайд по настройке логики содержит 3,5 слова касательно mob_jump. Ниже кидаю пример логики своего снорка. Скрытый текст [spawner] cond = {+actor_in_rest_exit} [logic] active = mob_walker@first [mob_walker@first] path_walk = lv_snork_walk_00 path_look = lv_snork_look_01 braindead = true on_signal = jump| mob_jump [mob_jump] path_jump = lv_snork_walk_01 ph_jump_factor = 4 offset = 0,0,0 on_signal = jumped| mob_walker@sec [mob_walker@sec] path_walk = lv_snork_walk_01 path_look = lv_snork_look_01 braindead = true END Т.е., по сути, он должен двигаться walker'ом, по сигналу в последней точке переходить в jump'ера, прыгать, а затем продолжать двигаться следующим walker'ом. Но он вообще не прыгает, то есть, тупо прётся на точку обычным walker'ом. Пробовал и с разных позиций заставлять его прыгать (изначальная идея - прыжок с крыши дома прямо перед мордой эктора; сейчас он даже на ровной земле не прыгает), и jump_factor разный ставить - ничего вообще не происходит. Разве что, при экспериментах со спавном он может появляться в рандомных местах возле эктора. Буду благодарен за советы. Поделиться этим сообщением Ссылка на сообщение
Дмитрий Зверев 0 Опубликовано 31 Декабря 2018 (изменено) @Змея, спасибо. Попытался по твоему совету взять snork_normal (именно они, судя по логике, скакали на ЧАЭС-2) и покрутить offset Y. Началось вообще невообразимое - снорк стал аки воздушный шар летать по всей карте, проваливаться под текстуры, спавниться где угодно и прочее. Причём, если делать jump_factor и offset в пределах нормы для прыжка с дома (3 и 4 соответственно, имхо), то схема опять не работает. Даже не знаю, что и делать. Не знаешь, часом, какой offset Y можно поставить для прыжка с Y 14 на Y 9? Спасибо. Изменено 31 Декабря 2018 пользователем Дмитрий Зверев (Книги, Вселенная и вообще) Поделиться этим сообщением Ссылка на сообщение
Дмитрий Зверев 0 Опубликовано 24 Января 2019 Всем привет. Есть ли возможность привязать секцию [spawner] к логике физического объекта? Или это априори не поддерживается движком и работает только монстров/сталкеров? Поделиться этим сообщением Ссылка на сообщение
Дмитрий Зверев 0 Опубликовано 24 Января 2019 Только что, lordmuzer сказал: Это что такое в вашем понимании? Привязать например к артефакту или аптечке можно - просто регистрируем скриптовый класс новый (если еще нету) для нужного класса предметов и делаем примерно тоже, как spawner обрабатывается в se_stalker В моём понимании это все объекты с секцией physic_object и соответствующей логикой ("ph") в all.spawn. Мои извинения, если я сразу неправильно выразился -- что-то совсем забыл про аптечки и артефакты. Мне нужно к стационарному радио привязать, чтобы имитировать сцену, в которой непись будет его "чинить", стоя спиной к игроку, а затем подходить к столу и "ставить" его (т.е. он тупо заспавнится при соответствующем условии). Вот и пытаюсь придумать, как подобное реализовать -- через [spawner] разобраться или попытаться задать логику объекту, спавнящемуся скриптом. За совет спасибо, попробую. Поделиться этим сообщением Ссылка на сообщение
Дмитрий Зверев 0 Опубликовано 12 Февраля 2019 Всем привет. При разборе логики у меня неоднократно возникал вопрос. Можно ли логически заставить сталкера стрелять по другому сталкеру? В схеме я перевожу его на remark и отыгрываю анимацию ***_fire. Всё работает отлично, пока в качестве цели (по story_id) указан мутант, бандит или зомбированный (короче, недружественное существо). Однако, если приказать одному сталкеру стрелять по другому нейтральному сталкеру, то он просто наведёт на него ствол и замрёт. Я не очень силён в xr_***-скриптах, поэтому буду очень благодарен тому, кто подскажет, как реализовать это без костылей и красиво (под костылями я имею в виду проигрывание звука выстрела и одновременно вызов хита по цели. Выглядит это максимально картонно, а посему хочу насильно "приказать" одному сталкеру стрелять по другому, невзирая на группировку). Пока писал назрел ещё один вопрос. В оригинальной ТЧ есть момент, когда ГГ подходит к Кузнецову, и у того (несмотря на то, что он во вражьей группировке) появляется диалог. Однако мне в попытках исправить по аналогии секцию meet создать что-то подобное не получилось. Пытался даже играться с game_relations.ltx (выставлять отношения к группировке killer на 0), но диалоги не появлялись. Подозреваю, что где-то прописаны группировки (в dialog_manager.ltx?), в котором явно задано, с кем эктор может говорить, а с кем - нет. Но вот что-то совсем не получилось разобраться, как конкретно этот dialog_manager работает. Опять же, буду благодарен за любые подсказки по данному вопросу. Спасибо. Поделиться этим сообщением Ссылка на сообщение
Дмитрий Зверев 0 Опубликовано 12 Февраля 2019 @naxac, "поссорил", сменив жертве группировку. И убийце, на всякий, тоже сменил, настроив ему отношение конкретно к жертве в -5000. В итоге, при вызове скрипта из диалога и жертва, и убийца срываются в бой (хотя у обоих стоит danger_ignore по всем пунктам = 1 и combat_ignore_cond = always). Поэтому сцена, в которой убийца должен красиво решать стоящего на коленях сталкера попросту сыплется. Даже не знаю, как теперь это можно пофиксить. В любом случае, спасибо. Поделиться этим сообщением Ссылка на сообщение
Дмитрий Зверев 0 Опубликовано 13 Сентября 2019 Всем привет. Есть функция, которая при нажатии на кнопку на gui начинает выполнять много других весёлых функций (с вероятностью 0,8 телепортировать актора в нужное место, после чего высчитывать вероятность, за сколько он до этого места "добрался"; с вероятностью 0,2 забрасывать его по другим координатам, где его ждут бандиты. Вдовесок - затемнение экрана, перемотка времени, сообщения о том, что актор добрался за N часов и т.п. Практически всё работает хорошо, но, как говорится, есть нюанс: 1) Иногда актора просто телепортирует в локацию (куда выставлена вероятность 0,8) без сообщения и без перемотки времени; 2) Иногда эктора телепортирует в нужную локацию, но приходят два сообщения (например, "вы добрались за 2 часа" и "вы добрались за 3 часа") и время отматывается ажно на 5 часов вперёдт. Вопрос: как это можно пофиксить? Я не ахти какой скриптер, так что, пожалуйста, подскажите, может, я что-то не дописал или ошибся в расчётах вероятности. Заранее спасибо! Скрытый текст function ui_map:button3_button_clicked() if math.random(1,100) < 80 then xr_effects.teleport_actor(nil, nil, {"way_to_f","look_to_f"}) level.add_pp_effector("black.ppe", 150, false) if math.random(1,10) <= 3 then news_manager.send_tip(db.actor, "arrived_to_farm_1_hour", 0, "default", 5000) xr_effects.forward_game_time(nil, nil, {1}) end if math.random(1,10) < 6 then news_manager.send_tip(db.actor, "arrived_to_farm_2_hour", 0, "default", 5000) xr_effects.forward_game_time(nil, nil, {2}) end if math.random(1,10) >= 6 then news_manager.send_tip(db.actor, "arrived_to_farm_3_hour", 0, "default", 5000) xr_effects.forward_game_time(nil, nil, {3}) end else xr_effects.teleport_actor(nil, nil, {"random_event_vodokachka_way","random_event_vodokachka_look"}) news_manager.send_tip(db.actor, "arrived_to_vodokachka", 0, "default", 5000) level.add_pp_effector("black.ppe", 150, false) xr_effects.forward_game_time(nil, nil, {4}) end self:HideDialog() end Поделиться этим сообщением Ссылка на сообщение