Как создать триггер для уничтожения базы противника в определенном регионе
В некоторых ситуациях необходимо выполнить определенные действия после уничтожения базы определенного игрока в конкретном регионе. Для этого можно использовать триггер, который будет срабатывать при выполнении заданных условий. Рассмотрим пример создания такого триггера.
Код триггера
Mission Complete
Events
Unit -Any Unit dies
Local Variables
Conditions
(Number of Living units in (Any units in Hive Zergs owned by player P2_COMPUTER matching Required: Structure; Excluded: Missile, Under Construction, Dead, Hidden, with at most Any Amount)) == 0
Actions
Trigger -Turn (Current trigger) Off
Objective -Mark (Last created objective) as Completed
------- Остальные действия что должны произойти после завершения задания
Пояснение к коду
Для решения задачи уничтожения базы противника в заданном регионе необходимо разбить ее на несколько этапов:
- Реакция на смерть юнитов:
- Триггер должен срабатывать при гибели любой единицы.
- Это позволяет отслеживать каждую смерть и проверять, есть ли в регионе еще здания этого игрока.
- Проверка наличия строений:
- Для проверки наличия строений игрока в регионе используется функция: Number Of Units In Unit Group) и сравнивается с нулем.
- Получение Группы единиц в регионе:
- Для этого используется функция Units In Region Matching Conditions
- Эта функция позволяет фильтровать юниты по различным условиям, включая:
- Игрока, которому принадлежат юниты.
- Тип юнитов (К примеру: Только казармы или только заводы).
- фильтры (например, ТРЕБУЮТСЯ здания, НЕ строящиеся здания, НЕ ракеты и т.д.).
- Отключение триггера:
- Важно сразу отключить триггер после выполнения условия, чтобы он не повторялся множество раз после уничтожения базы
- Завершение задания:
- После отключения триггера и проверки условий можно выполнить остальные действия, которые должны произойти при уничтожении всех построек игрока в регионе.