Опросы |
Кого выберешь??
Всего ответов: 70
|
На сайте | Всего на сайте: 1 Гостей: 1 Пользователей: 0
|
|
![](/images/design/lu.png) | | ![](/images/design/ru.png) |
|
Структура триггера: события, условия и действия
Каждый триггер должен находиться внутри какой-нибудь папки. Триггер
состоит из трех частей: событий (events), условий (conditions) и
действий (actions). Также у триггера есть собственное имя, которое, как
и имя файла, не может содержать спецсимволов (в т. ч. знак
подчеркивания, зато можно использовать пробелы) и может быть только на
английском языке (папки могут быть на русском).
В верхней части
окна редактора триггеров имеется пять кнопок, управляющих процессом
создания триггеров. Первая из них - создание новой папки для триггера,
вторая - создание нового триггер, последние три кнопки отвечают за
добавление в триггер новых событий, условий и действий.
Принцип
действия следующий: игра - это последовательность событий (например,
начало игры - событие, юнит атаковал юнита - событие, герой повысился в
уровне - событие, игрок передал сообщение в чате - событие). Когда в
игре происходит какое-либо событие, то событие, указанное в триггере,
сопоставляется со случившимся. Если совпадение есть, то происходит
второй этап, на котором проверяется выполнение условий триггера.
Условия должны уточнить, когда нужно производить действие, а когда -
нет. Если условия выполнятся (об этом подробно расскажу ниже), то
произойдет третий, финальный этап - будет выполнено действие этого
триггера. Например, перед нами задача: сделать так, чтобы когда герой
(определенный, а не любой!) подойдет к порталу, он переносился бы в
другое место. Событием здесь будет приход юнита в регион вокруг
портала, а условие должно уточнить, что этим юнитом должен быть
определенный герой. Действие - перенос юнита в другое место. Итог: если
событие произошло и условия выполнены, то выполняются действия триггера.
Еще
у триггера есть два флажка (в окне редактора расположены сверху):
включен (enabled) и изначально включен (initially on). По сути они
имеют одинаковый смысл, за одним исключением: если триггер "отключен",
то его никак нельзя включить, ибо он вообще отсутствует в игре (это
важный момент), если он "изначально выключен", то его можно включить в
игре. В первом случае все ясно - триггера просто нет в игре, а вот
второй следовало бы разобрать. У триггера есть "флажок", который
отвечает за то, включен ли он. "Отключенное" состояние равносильно
тому, что у триггера нет никаких событий (но его можно вызвать из
другого триггера). Этот флажок можно включать и выключать по ходу игры
(для этого есть специальные действия), т. е. "включать / выключать"
триггер. Флажок "изначально включен", соответственно, отвечает за его
состояние "по умолчанию". Кстати, есть возможность подключать и
отключать отдельные команды внутри любого триггера. Щелкните на команду
правой кнопкой и выбирете пункт включить функцию (enable function).
"Включать / выключать" функции по ходу игры невозможно. Говоря про
отключение триггеров, нельзя забыть про один аспект. Итак, как только
произошло нужное событие и выполнены нужные условия, то триггер
приводится в действие. Но дело в том, что почти все триггеры -
многоразовые. Если снова произойдет нужное событие и снова выполнены
условия - триггер запускается еще раз. Одноразовыми можно считать
триггеры, заданные событиями map Map Initialization и Time Elapsed,
поскольку эти события происходят один раз. Следовательно возникает
проблема: как отключить триггеры. Например, нам нужно сделать так,
чтобы когда герой приходил в определенный регион, он перемещался в
другое место, но только один раз. Значит, нужно позаботиться, чтобы
после первого выполнения триггер отключался. Предлагаю Вам один из
способов это осуществить: в каждый триггер, который нужно отключить
вставляете строчку действие Trigger - Turn off (This trigger). Это
действие отключает триггер.
Примечание: на самом деле можно
просто не добавлять триггеры событий изначально, это тоже самое что и
"изначально выключен". Но тогда зачем вообще нужно включение /
выключение? Предположим, что у какого-то триггера есть события, но
работать они должны не сразу. Т. к. у нас нет возможности добавлять
события триггеру по ходу игры, тут нам может помочь только выключение
триггера. Верно и обратное - иногда триггер приходится отключать (а
потом опять включать). Если у Вас есть возможность использовать такой
метод, вместо условий - пользуйтесь им. Это гораздо более "красивое"
решение.
Еще у каждого триггера есть поле, где автор может
оставить свои комментарии. Это поле находится прямо над "окном" со
списком функций триггера.
События, условия и действия все вместе называются функциями триггера, (назвали это так Blizzard в хелпе редактора).
Некоторые
из тех, кто еще не освоил WE, говорят, что не могут понять, как
работают триггеры, потому что в них слишком много различных команд. На
это я могу возразить - Вам, скорее всего, не понадобится и четверти тех
команд (особенно поначалу). Да, если Вы владеете английским языком, то
изучать триггеры будет намного проще. Удачи!!
|
Категория: Триггеры | Добавил: RoBoT1 (12.08.2009)
|
Просмотров: 762
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
![](/images/design/ld.png) | | ![](/images/design/rd.png) |
|
Случайный обой | ![](//info-warcraft.ucoz.ru/_ph/1/1/183004575.jpg) [ Размеры: 600x480 | 83.8Kb ] [ Рейтинг: 0.0 | 0 ] |
|