OnTrigger
From The Elder Scrolls Construction Set Wiki
Syntax:
begin OnTrigger TriggeringRefID
Example:
begin OnTrigger begin OnTrigger player
This block will be run when something triggers the scripted object by colliding with it. If you specify a TriggeringRefID, the block will only run when that specific reference triggers the object; otherwise, the block will run when anything triggers the scripted object.
However, with a TriggerZone, the block will continue running every frame until all triggering refs leave the zone.
If you want the code to run only once when triggered, you should specify a variable to register when the zone is triggered and a reset block to turn it off and allow the code to run again later on. The reset block can either be timed or reset when the cell respawns.
Examples:
Timed Reset
short triggered
float timer
begin onTrigger
if triggered == 0
'do something
set triggered to 1
set timer to 2 ;2 delay before reset
endif
end
begin gameMode
if triggered == 1
if timer <= 0
set triggered to 0
else
set timer to timer - getSecondsPassed
endif
endif
end
Reset on Cell Respawn
short triggered begin onTrigger if triggered == 0 'do something set triggered to 1 endif end begin onReset set triggered to 0 end
[edit] Notes
- This delay is particularly needed when the TriggerZone is used to move the player. If a MoveTo is used on the player within the OnTrigger block, the code runs one extra time next frame and, without the delay, will move the player again, and again, ... , causing the game to (pratically) freeze.

