Раздел:
4. Триггеры
Автор оригинала:
Exide
Источник:
http://starcraft-2-galaxy-editor-tutorials.thehelper.net/tutorials.php?view=156375
У меня часто возникало много проблем с созданием ворот в SC2, и в итоге я нашел способы их устранения. Этот урок посвящен всем тем, кто наступил на те же грабли.

Шаг первый

Самый первый шаг - загрузить "Liberty Campaign Dependency". Вы можете найти это в меню "File -> Dependencies".
Щёлкните по кнопке "Add standard".
Отметьте галочкой самую нижнюю строчку под названием "Liberty Story (Campaign)".
Нажмите OK. Затем нажмите ОК снова.
StarEditor загрузит триггеры, юнитов, и всё то, что не использовалось в "Liberty Story (Campaign) Dependency". (К примеру, юнитов ворот, которые нам нужны.)

Шаг второй

Следующий шаг достаточно прост - расположите ворота на вашей карте.
Включите Палитру юнитов (горячая клавиша U), и ищите "Ворота" (Gate). Убедитесь что у вас не включены никакие фильтры.
В этой обучающей статье я буду использовать самые первые ворота из списка (которые открыты по умолчанию).
Вторые ворота в списке - точная копия первых, только по умолчанию они закрыты.

Шаг третий

И тут уже начинаются "хитрости".
Откройте Data Module (F7).
В верхнем левом углу измените "Тип данных" (Data Type) на "Кнопки" (Buttons).
Найдите кнопку "Открыть ворота" (Open gate). Она там одна, так что вы без труда найдёте её.
Щёлкните правой кнопкой мыши по этой кнопке и скопируйте её (Ctrl+C).
Снова щёлкните по ней правой кнопкой мыши и вставьте (Ctrl+V).
Теперь щёлкните правой кнопкой мыши на вашу новую кнопку,"Открыть Ворота Копия"(Open gate copy), выберите "Модифицировать обьект" (Modify object) (Ctrl+M) и переменуйте его в "Закрыть ворота" (Close gate)
Поменяйте ID кнопок из GateOpen2 на GateClose, затем нажмите OK.
Ваша новая кнопка готова. Поврежденные кнопки теперь восстановятся и автоматически обновятся.

Шаг четвертый

Закройте Data Module (Модуль Данных).
Откройте Trigger Module (F6).
Создайте новый трггер, назовите его "Открыть ворота" (Open Gate).
Измените Событие (Event) на:
Unit - Unit Enters/Leaves Range of Unit (вы с лёгкостью найдёте его, если воспользуетесь фильтром по слову "Range").
Сделайте так, чтобы это событие имело следующий вид:
Any Unit Enters a distance of 3.0 from Gate [27.00, 32.00]
Gate [27.00, 32.00] - это ваши ворота, которые вы разместили на карте во втором шаге.
Добавьте следующее действие (Action):
Unit - Issue Order (можно легко найти по слову "Order")
Измените это на:
Unit - Order Gate [27.00, 32.00] to ( Open Gate) (Replace Existing Orders)
Когда вы найдете приказ "Open Gate", вам будет выведен огромный список приказов на открытие ворот.
В основном, все они одинаковые и будут корректно работать на ваших воротах, как и на прочих юнитах такого же типа.
Ворота, которые я прежде разместил ещё на втором шаге, имеют тип юнита: "Разрушаемые Ворота" (DestructibleGate). Это значит, что все приказы Open gate (как и Close gate), название которых начинается с "DestructibleGate...", будут работать на этом юните.
Создайте новый триггер, назовите его "Закрыть ворота" (Close Gate), повторите всё то, что вы делали при создании первого триггера, только в этот раз измените его в соответствии со следующим примером:
Close Gate
    Events
        Unit - Any Unit Leaves a distance of 3.0 from Gate [27.00, 32.00]
    Local Variables
    Conditions
    Actions
        Unit - Order Gate [27.00, 32.00] to (Close Gate) (Replace Existing Orders)

Шаг пятый

И, наконец, разместите любого юнита на вашей карте (к примеру Морпеха).
Сохраните карту.
Прикажите вашему морпеху подойти к Воротам (Если они уже открыты, то в первый раз ничего не случится).
Прикажите морпеху отойти от ворот. Ворота должны закрыться (Как только морпех отойдет на дальность 3.0 от ворот).
Приказывая морпеху подходить и отдходить от ворот, обратите внимание на то, как они открываются и закрываются.
Ну вот и всё, ваша кнопка ворот была исправлена и ваши ворота теперь должны работать корректно.

Дополнительная информация

Открытые ворота по умолчанию нельзя выбрать курсором. Т.е. если у вас на карте есть ворота и вы откроете их и затем уберёте с них выделение - то потом вы их не сможете выбрать снова (Даже если они были добавлены в отряд типа Ctrl+1).
Это может быть исправлено, если вы перейдёте для каждых ваших ворот в раздел "Юнит" в Data Module, и уберёте там галочку "Unselectable".

Вот скрины различных типов ворот

`
ОЖИДАНИЕ РЕКЛАМЫ...