Okay, here is how they look like and what they do.
Syntax
Trigger's syntax is very similar to that of funtion.
trigger trigger_name([conditions_under_wich_trigger_will_fire)
{
//List of actions to perform every time trigger fires, just like any function's body
/*Optional: trigger control statement, either enable_trigger() or disable_trigger(), becasue triggers only fire once. If we want trigger to fire again, we should place enable_trigger() in the end */
}
Let us create a trigger wich will check victory/defeat conditions.
trigger VictoryCheck(GetPlayerUnitsCount <= 0) /*under this condition trigger will fire*/
{
Defeat();
}
Here is another trigger which we want to fire every game tick.
trigger EternalTrigger() /*since we want trigger to fire every tick, no condition required*/
{
print("Eternal Trigger ticked");
enable_trigger(); //It enables trigger to fire once again
}
Now, we can disable EternalTrigger from any place in our script. It can be done from both funtions and another triggers:
function LetUsDisableOurTrigger()
{
disable_trigger("EternalTrigger"); /*Eternal trigger will not tick anymore, unless we enable_trigger() it*/
}
or we can disable it from another trigger
trigger TriggerDisablingAnotherTrigger()
{
disable_trigger("EternalTrigger");
/*Since triggers only fire once, this trigger won't fire again, unless we allow it to by using enable_trigger() */
}
You have got the idea, haven't you?