Разделы:   Введение Использование Синтаксис Переменные Множества Условия

Триггеры

Введение

Когда игрок активирует триггер, вызываются некие действия одного или более ресиверов. Триггером может быть событие, объект или герой, который посещает другого героя, или это может быть ERM-функцией, вызываемой из другого ERM-кода или события, установленного на определённое время или интервал. Ресивером может быть событие, герой, объект на карте или другие вещи. Поскольку многие вещи в игре могут быть использоваться как триггеры или ресиверы, важно не перепутать, что куда относится.

Как использовать триггеры

Свойства события-триггера или объекта-триггера не важны для самой работы триггера. Действия триггеров должны быть описаны во временном событии. В ERM-скриптах триггер является заглавным звеном, и после него должны идти ресиверы. Если вы помещаете более одного триггера в событие, важно понимать, что нет кода "конец триггера"; новый триггер прекратит выполнение ресиверов предыдущего триггера.

Синтаксис триггеров

Каждый триггер начинается со знаков восклицания и вопроса (!?) и заканчивается ";". После !? следует двухбуквенный код триггера , например !?BA, !?OB или !?HE. После имени триггера идут параметры, показанные как # в помощи. Каждый параметр (#) должен являться целым числом, например !?HE47;. Значение и диапазон чисел для каждого типа триггеров разное. Для триггера HE, число - это номер героя (у каждого героя есть собственный порядковый номер), для триггера LE - это положение события на карте.

Использование переменных в триггерах

Переменные не могут быть использованы как параметры триггера. Если вы попробуете проделать это, переменная будет игнорироваться или приниматься за ноль. Если вы используете постоянные переменные, например v4, буква (v) будет игнорироваться, и это будет принято за число 4.

Двойные триггеры

Если некоторые триггеры используются более чем один раз на карте, в этом случае ВСЕ ресиверы для этого триггера будут выполняться, начиная с ресиверов первого триггера (по порядку расположения в событиях) и оканчивая ресиверами последнего.
Заметьте, что триггер !?BA0; - отличный от !?BA1;, и так же триггер !?HE47; - отличный от !?HE48;

Условия триггеров

Условия могут быть добавлены к триггеру, и ресиверы этого триггера будут работать только если условие выполнено. Для этого используют знак (&) сразу после последнего параметра и до точки с запятой. После &, вставьте ваше условие. Это условие должно содержать флаг или переменную, знаки сравнения (=, >, <, >=, <=, или <>) и вторую переменную либо значение.

Примеры: Вы можете включать несколько проверок, используя "слэш" (/):

См. статью про флаги и переменные для большей информации.