Сейчас 04:23 Воскресенье, 5 мая, 2024 год
Главная Форум Файлы Cтатьи Обои FAQ(Вопросы/Оветы) RSS ВойтиЗарегистрироваться
Меню сайта
Категории
Рельеф [0]
Декорации [0]
Обьекты [2]
Области [0]
Камера [0]
Триггеры [2]
JASS [1]
Импорт/Экспорт [4]
WorldEdit [0]
Разное [9]
Опросы
Ваша любимая расса?
1.
2.
3.
4.
Всего ответов: 41
На сайте
Всего на сайте: 1
Гостей: 1
Пользователей: 0
Лучшие по статьям
[ RoBoT1 ][ 15 ]
[ Frozen ][ 9 ]
[ Camokat ][ 1 ]
[ iiepii ][ 0 ]
[ Bablon ][ 0 ]
Реклама
Главная » Статьи » Создание карт » Триггеры

Структура триггера: события, условия и действия
Каждый триггер должен находиться внутри какой-нибудь папки. Триггер состоит из трех частей: событий (events), условий (conditions) и действий (actions). Также у триггера есть собственное имя, которое, как и имя файла, не может содержать спецсимволов (в т. ч. знак подчеркивания, зато можно использовать пробелы) и может быть только на английском языке (папки могут быть на русском).

В верхней части окна редактора триггеров имеется пять кнопок, управляющих процессом создания триггеров. Первая из них - создание новой папки для триггера, вторая - создание нового триггер, последние три кнопки отвечают за добавление в триггер новых событий, условий и действий.

Принцип действия следующий: игра - это последовательность событий (например, начало игры - событие, юнит атаковал юнита - событие, герой повысился в уровне - событие, игрок передал сообщение в чате - событие). Когда в игре происходит какое-либо событие, то событие, указанное в триггере, сопоставляется со случившимся. Если совпадение есть, то происходит второй этап, на котором проверяется выполнение условий триггера. Условия должны уточнить, когда нужно производить действие, а когда - нет. Если условия выполнятся (об этом подробно расскажу ниже), то произойдет третий, финальный этап - будет выполнено действие этого триггера. Например, перед нами задача: сделать так, чтобы когда герой (определенный, а не любой!) подойдет к порталу, он переносился бы в другое место. Событием здесь будет приход юнита в регион вокруг портала, а условие должно уточнить, что этим юнитом должен быть определенный герой. Действие - перенос юнита в другое место. Итог: если событие произошло и условия выполнены, то выполняются действия триггера.

Еще у триггера есть два флажка (в окне редактора расположены сверху): включен (enabled) и изначально включен (initially on). По сути они имеют одинаковый смысл, за одним исключением: если триггер "отключен", то его никак нельзя включить, ибо он вообще отсутствует в игре (это важный момент), если он "изначально выключен", то его можно включить в игре. В первом случае все ясно - триггера просто нет в игре, а вот второй следовало бы разобрать. У триггера есть "флажок", который отвечает за то, включен ли он. "Отключенное" состояние равносильно тому, что у триггера нет никаких событий (но его можно вызвать из другого триггера). Этот флажок можно включать и выключать по ходу игры (для этого есть специальные действия), т. е. "включать / выключать" триггер. Флажок "изначально включен", соответственно, отвечает за его состояние "по умолчанию". Кстати, есть возможность подключать и отключать отдельные команды внутри любого триггера. Щелкните на команду правой кнопкой и выбирете пункт включить функцию (enable function). "Включать / выключать" функции по ходу игры невозможно.
Говоря про отключение триггеров, нельзя забыть про один аспект. Итак, как только произошло нужное событие и выполнены нужные условия, то триггер приводится в действие. Но дело в том, что почти все триггеры - многоразовые. Если снова произойдет нужное событие и снова выполнены условия - триггер запускается еще раз. Одноразовыми можно считать триггеры, заданные событиями map Map Initialization и Time Elapsed, поскольку эти события происходят один раз. Следовательно возникает проблема: как отключить триггеры. Например, нам нужно сделать так, чтобы когда герой приходил в определенный регион, он перемещался в другое место, но только один раз. Значит, нужно позаботиться, чтобы после первого выполнения триггер отключался. Предлагаю Вам один из способов это осуществить: в каждый триггер, который нужно отключить вставляете строчку действие Trigger - Turn off (This trigger). Это действие отключает триггер.

Примечание: на самом деле можно просто не добавлять триггеры событий изначально, это тоже самое что и "изначально выключен". Но тогда зачем вообще нужно включение / выключение? Предположим, что у какого-то триггера есть события, но работать они должны не сразу. Т. к. у нас нет возможности добавлять события триггеру по ходу игры, тут нам может помочь только выключение триггера. Верно и обратное - иногда триггер приходится отключать (а потом опять включать). Если у Вас есть возможность использовать такой метод, вместо условий - пользуйтесь им. Это гораздо более "красивое" решение.

Еще у каждого триггера есть поле, где автор может оставить свои комментарии. Это поле находится прямо над "окном" со списком функций триггера.

События, условия и действия все вместе называются функциями триггера, (назвали это так Blizzard в хелпе редактора).

Некоторые из тех, кто еще не освоил WE, говорят, что не могут понять, как работают триггеры, потому что в них слишком много различных команд. На это я могу возразить - Вам, скорее всего, не понадобится и четверти тех команд (особенно поначалу). Да, если Вы владеете английским языком, то изучать триггеры будет намного проще.
Удачи!!
Категория: Триггеры | Добавил: RoBoT1 (12.08.2009)
Просмотров: 741 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
uNet отключен
Логин:
Пароль:
Поиск
Случайный обой
[ Размеры: 604x453 | 81.8Kb ]
[ Рейтинг: 0.0 | 0 ]
Случайный файл
[11.08.2009][Войска]

Модель Героя-Скелета, по имени "Мертвый Глаз". Тимколор есть, портрет есть, иконки нет. Пути для импортированных текстур вложены в архив. Анимации на невероятно высоком уровне.

Новые файлы
[31.08.2010][Dota Allstars]
6.68 Trailer
[26.08.2010][Другое]
Русификатор для триггеров World Editor
[15.06.2010][Наработки]
MovingSystem
[15.06.2010][Наработки]
Control System
[12.06.2010][Наработки]
Грозовой эффект v09
[07.06.2010][Другие карты]
Escape Builder
[04.06.2010][Другие карты]
Steel Saviaur v2.12
[03.06.2010][Создание карт]
WC3 Model Editor
[30.05.2010][Войска]
Dryad (WoW)
[30.05.2010][Войска]
Bog Beast (WoW)
Статистика
Яндекс цитирования
Rambler's Top100
Материалы

Коментариев:
113
Обоев:
554
FAQ:
27
Форум(Тем/Сообщ.):
3776/4083
Файлы:
333
Новостей: 271
Статей: 23
Тестов: 1