События триггеров пишутся точно так же как и любой другой гмл код. Подробнее чем в справке уже некуда.Добавлено (06.01.2012, 12:27)
---------------------------------------------
Такс... на работать скучно, пока есть время пройдусь по триггерам.
Триггер по сути то же событие, что и любое другое. Единственная разница - возможность указать причину, по которой событие должно сработать. Это представляет собой обычный гмл код, со всеми вытекающими. Единственная особенность это обязательный оператор return. Большинство функций и скриптов в гмл возвращают результат выполнения. Это может быть буль или какое нибудь значение, но все это обьединяет как раз оператор return.
Чтобы событие сработало должна вернуться истина.
Пример из справки:
Code
{
var n;
n = instance_number(obj_ball);
return (n >= 3) && (n <= 5);
}
Разберем немножко код для лучшего понимания.
var n - готовим локальную переменную для временного сравнения результатов выполнения скрипта.
n = instance_number(obj_ball) - ну тут тоже все ясно. Считаем количество шаров в комнате и пишем результат в переменную. То есть функция instance_number() возвращает нам результат своего выполнения.
return (n >= 3) && (n <= 5) - а вот та строчка, которая нас на самом деле интересует. После оператора мы выполняем сравнение n с заданным диапазоном. Если оба выражения истинны - оператор вернет истинну и сработает событие-триггер. Если же какое то из них ложно - событие вообще не срабоает. Основное правило тут одно, возвращать мы должны только булевые, иначе триггер не сработает или сработает неправильно.
В событие триггера можно писать и более сложные скрипты, главное чтобы в результате их выполнения возвращались true/false.
Таким образом мы видим что обязательным для события триггера есть только оператор return. Если почитать немного справку по этому оператору, можно выяснить и еще одну его особенность. Выполнение скрипта заканчивается после оператора return, поэтому ни в коем случае не ставьте его в середине или, не дай бог, начале скрипта.
Надеюсь разжевал доступно, потому как подробнее тут расписывать нечего