Триггеры. Начальный уровень.

Добавлен , не публикуется
Вступление.
В этой статье я расскажу вам о всех основах работы с триггерами.
Статья расчитанна на новичков, так что более опытным мапмейкерам будет нечего здесь подчерпнуть.
Триггеры - это ваш главный и незаменимый помощник в создании вашей собственной карты.
(если вы конечно не собираетесь создавать только стандартные карты для сражений. =)) )
Более того, это единственный способ (jass, vJass и cJass в расчёт не беру) сделать в карте собственный сценарий и заставить игрока играть по вашим правилам, а не по близзордавским ))
С помощью триггеров можно сделать что угодно:
От "юнит попадает в область - юнит умирает", до создания собственных зрелещных игровых роликов и заклинаний, у которых нет своих аналогов в игре.
И для этого не надо изучать языки программирования и тратить кучу времени лишь на то, чтобы выучить лишь команды и функции, ведь в триггерах уже всё сделано за вас!
Вам необходимо лишь иметь логику на среднем уровне, и голову на плечах ))
Понятие триггера.
Давайте начнём.
Для начала нам надо разобраться, что такое сам триггер? Что он из себя представляет?
Чтобы это понять, давайте зайдём в редактор триггеров (буковка a).
Что мы видим? Слева от нас находится так называемое "древо триггеров".
Для вашего удобства все триггеры в игре расфасованы по категориям.
В начале у нас есть только одна категория (инициализация) и только один триггер (инициализация сражения)
Нетрудно догадаться, что он отвечает за то, чтобы в начале игры появлялись стартовые юниты, убирает крипов со стартовых позиций игроков, и даёт каждому герою свиток телепортации.
Давайте оставим этот триггер в покое, и создадим свой. Для этого просто нажмите на значёк листа.
Назовём его "Start Trigger".
Примечание:
Назавания триггеров могут быть только на английском.
Как видите, только что созданный вами триггер имеет 3 "блока":
Событие,условие,действие.
Давайте разберёмся, что значит каждый блок.
В самом начале давайте посмотрим на блок "событие".
Ещё одно примечание:
Очень важно не путать событие с действием )) (а вы будете их путать первые 5 минут =))) )
Итак, что такое событие в триггере наверное и так понятно. )) Событие - оно и в Африке событие. =)
Здесь мы указываем, при каких событиях будет срабатывать наш триггер.
Примечание:
Если в триггере указанно много событий, то он срабатывает при выполнении ЛЮБОГО из них.
Далее идёт графа "Условие".
Это своего рода "дополнение" к событию. В ней можно указать, при каких условиях произойдёт запуск (извините что повторяюсь) триггера. В принципе триггер может работать и без него.
Например если нам надо создать триггер, который будет срабатывать, когда юнит зашёл в регион, но при этом у него должно быть не меньше 300 хп.
И далее самый важный блок: "Действие".
Пояснять я думаю, ничего не надо.
И так понятно, что это действия, которые должен выполнять триггер при срабатывании.
Подведём итоги:
Теперь понятно, что триггер представляет из себя некий "капкан", который "отлавливает" определённое событие, проверяет его по условию, и срабатывает, если всё правильно.
Примеры.
Чтобы лучше усвоить этот материал, предлагаю небольшой пример.
Предположим, нам надо сделать так, чтобы при смерти определённого типа юнита игроку-убийце выводилось сообщение, и юнит-убийца тоже умирал, а на его позиции через 2 секунды появлялся текст и через 5 сек. исчезал.
Примечание:
Я взял такой пример специально, чтобы охватить как можно больше аспектов.
Давайте для начала создадим маленькую карту на двух игроков и удалим стартовые триггеры.
Далее ставим исходные позиции, 5 рыцарей и палладина за красного игрока, 2 вурдалака и 3 паука для синего.
А теперь перейдём к непосредственному созданию триггера.
Для начала советую скачать руссификатор триггеров. Он вам очень сильно поможет. Просто распакуйте архив в папку с варом.
А теперь поехали.
В событии указываем: Общее событие отряда - юнит умирает.
Условие: Сравнение типов отрядов - Тип юнита (умирающий юнит) = вурдалак
Примечание:
Так как в событии можно отслеживать смерть и другие действия только либо конкретного, либо любого, то приходится применять условие.
И наконец действия:
С начала выводим сообщение:
Игра - текстовое сообщение(время автоматически) - ваш текст (например: Вурдалак сдох, но рано радуетесь)
Далее убивем убийцу:
Боевая единица - Убить(убивающий юнит)
Теперь создаём текст:
Ждать(2 секунды)
Плавающий текст - создать текст в точке (боевая единица-позиция(умирающий юнит)) (ваш текст)
Удаляем текст:
Ждать (5 секунд)
Плавающий текст - Удалить (Последний свободный текст.)
Заключение.
Как видите, всё очень просто, вы просто выбираете вариант из списка, и всё!
Но в этом всёравно есть свои тонкости и особенности.
Недостаточно только знать, что делает каждая функция.
Надо уметь комбинировать свои действия, создавать логические алгоритмы, и.т.д.
Всё это приходит со временем, а пока что просто пробуйте и эксперементируте.
`
ОЖИДАНИЕ РЕКЛАМЫ...
17
Оформи по луче, а то не удобно читать.
VIRUS_97, прочитал понравилась.
25
Снято с публикации, разумеется.
А теперь почитайте это. Чем ваша статья лучше?
22
люди даже не знают, какой контент на сайте имеется
12
Зачем нужна эта статья? о_О. Всё это уже давным давно расписано в статье Сергея. Автор - слоупок.
22
А главное - очень вовремя! Через 7 лет после выхода игры.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.