Ребята ! пожалуйста, помогите, уже давно не могу никак вычислить, AnnoDomini 1257/ там был фикс, когда умираешь, тебя включает за любого из твоей армии персонажа и ты управляешь им.
(player_control_agent, <player_id>, <agent_id>),
Изменения нужно вносить в каждый mt-сценарий с флагом mtf_battle_mode (боевые), в триггере, который срабатывает при смерти игрока
(1, 4, ti_once, [(main_hero_fallen)],
===============
Извиняюсь за свой французкий.
Где, в каком файле находятся "...mt-сценарий с флагом mtf_battle_mode (боевые)..." ?
- mission_templates.py.
Каждая сцена игры оживляется соответствующим mt-сценарием. В обычном бою работает mt-сценарий "lead_charge", который запускается по опции меню "Атаковать врага!"..
Что это за триггер "...в триггере, который срабатывает при смерти игрока..." ?
Каждый mt-сценарий состоит из триггеров.. некоторые срабатывают один раз (например спаун агентов, первоначальный инит переменных...), другие могут постоянно тикать и каждую секунду что-либо проверять - в частности, каждый боевой сценарий заканчивается событиями: 1. убиты все враги, 2. убит игрок. Для определения второго события, триггер
(1, 4, ti_once, [(main_hero_fallen)], (который можно найти поиском) каждую сек/через 4 проверяет условие "игрок убит".
Как вообще реализуется смертность Игрока и НПС?
В случае main_hero_fallen = true, этот триггер подготавливает строки для меню результата боя, считает количество убитых/раненых и делает (finish_mission, 0) - закончить со сценой боя и перейти на меню результата.
Правильно ли я понял что нужно вставлять строчку
(player_control_agent, <player_id>, <agent_id>),
где <player_id> и <agent_id> это id Игрока и НПС?
Если мы хотим продолжить бой после смерти агента игрока, нам нужно вместо finish_mission проверить, есть ли на сцене живые союзные агенты, если да - оператором (player_control_agent, <player_id>, <agent_id>), берем под управление игрока любого агента и продолжаем бой, иначе finish_mission и все что с этим связано.
При смерти агентов срабатывает другой триггер -
(ti_on_agent_killed_or_wounded, 0, 0, [],... Он суммирует количество убитых/раненых и пересчитывает значение отваги для оставшихся на сцене агентов, что в свою очередь влияет на их склонность к бегству с поля боя.