Global Triggers
by 
		Cook
		A GlobalTrigger is like a CONDITION trigger. It 
		activates if some event happens in the game. It is a way to trigger 
		(activate) a TriggerGroup without placing a trigger sector in your level 
		in NGLE.
TriggerGroups are 
		explained in this tutorial - Script 
		Triggers and Triggergroup Commands
This means your 
		TriggerGroup can be activated anywhere in the level if a particular 
		event happens. It is as if you had placed a CONDITION trigger and the 
		triggers in your TriggerGroup on every sector in the level. You can 
		disable a GlobalTrigger by a FLIPEFFECT trigger if you don't want it to 
		apply in an area of your level. The same FLIPEFFECT trigger can be used 
		to enable it again.
You can gain some understanding of what 
		GlobalTriggers are by looking at the names of the different types. They 
		are the constants that start with GT_ in the mnemonic constants list of 
		NGCenter's reference tab. These are current as of TRNGdll 1.2.2.3 
		
GT_AFTER_RELOADING_VARIABLES
GT_ALWAYS
		GT_BEFORE_SAVING_VARIABLES
		GT_COLLIDE_CREATURE
GT_COLLIDE_ITEM
GT_COLLIDE_SLOT
		GT_COLLIDE_STATIC_SLOT
GT_CONDITION_GROUP
GT_DAMAGE_BAR_LESS_THAN
		GT_DISTANCE_FROM_ITEM
GT_DISTANCE_FROM_STATIC
		GT_ELEVATOR_STARTS_FROM_FLOOR
GT_ELEVATOR_STOPS_AT_FLOOR
		GT_ENEMY_KILLED
GT_FMV_COMPLETED
GT_GAME_KEY1_COMMAND
		GT_GAME_KEY2_COMMAND
GT_KEYBOARD_CODE
GT_LARA_HOLDS_ITEM
		GT_LARA_HP_HIGHER_THAN
GT_LARA_HP_LESS_THAN
GT_LARA_POISONED
		GT_LOADED_SAVEGAME
GT_NO_ACTION_ON_ITEM
GT_SAVED_SAVEGAME
		GT_SCREEN_TIMER_REACHED
GT_TITLE_SCREEN
GT_TRNG_G_TIMER_EQUALS
		GT_TRNG_L_TIMER_EQUALS
GT_USED_BIG_MEDIPACK
GT_USED_INVENTORY_ITEM
		GT_USED_LITTLE_MEDIPACK
GT_USING_BINOCULAR
GT_VSCROLL_COMPLETE
		GT_VSCROLL_LAST_VISIBLE
To get the syntax for the command (i.e. 
		what values to use and what order), in the reference tab of NGCenter 
		select new script commands in the dropdown box and find GlobalTrigger on 
		the list and press expand info. 
		
Syntax: GlobalTrigger=IdGlobalTrigger, Flags Global Trigger 
		(FGT_...), Global Trigger (GT_..), Parameter, IdConditionTriggerGroup, 
		IdPerformTriggerGroup, IdOnFalseTriggerGroup
Scope: To use in 
		[LevelSection]
What does this tell you?
First it tells 
		you where to type the command in the script. The line starting with 
		"Scope:" says the command is typed in the [Level] section.
So to 
		create a GlobalTrigger, in NGCenter add GlobalTrigger= to the [Level] 
		section of your script.
Next it tells you the command must have 
		seven values (on one line) separated by commas "," after the "=".
		
The seven places where you type the values are known as fields. For 
		all commands you cannot have an empty field (,,).
The first value 
		is just a number you give the GlobalTrigger to identify it. Each 
		GlobalTrigger in the same [Level] section must have a different number.
		
The next field may contain a flag value that starts with FGT_.
		Change the dropdown box from new script commands to 
		mnemonic constants and find in the list all the values that start with 
		FGT_ and read the info. For example, FGT_SINGLE_SHOT. If you type this 
		value your GlobalTrigger will only activate once. If you do not want 
		this, what do you type? You must type something because an empty field 
		is not allowed. Whenever a field will be empty type IGNORE.
The 
		FGT_SINGLE_SHOT value must be used with many GlobalTriggers. Every tick 
		(frame) of the game, and that is 30 times a second, your GlobalTrigger 
		is asking tomb4.exe if some event has happened. So every frame that 
		event is happening the GlobalTrigger will activate your TriggerGroup. 
		
This can be seen by creating a TriggerGroup that forces Lara into 
		animation and a GlobalTrigger without the FGT_SINGLE_SHOT value that 
		activates when Lara holds a flare (GT_HOLDS_ITEM). 
		
If you use the GT_ENEMY_KILLED GlobalTrigger without a 
		FGT_SINGLE_SHOT value your TriggerGroup will activate every 1/30 seconds 
		until the end of the level once the enemy is killed since the enemy will 
		still be killed in every frame.
The third field is where you 
		choose what type of GlobalTrigger you are using. You must choose one of 
		the GT_ values in the mnemonic constants. See the list above.
The 
		value you type in the next field depends on which GT_ value you choose. 
		You have to read the info in the mnemonic constants list in NGCenter for 
		that GT_ value.
The fifth field is an ID number of a TriggerGroup 
		or IGNORE. The TriggerGroup you use must contain only exported CONDITION 
		triggers. See this tutorial - Multiple 
		Condition Triggers. You only use a TriggerGroup ID number if 
		you want to impose further restrictions on the GlobalTrigger. For 
		example if you want to trigger something when Lara holds a flare 
		(GT_HOLDS_ITEM) and when Lara is running.
The sixth field is 
		where you type the ID number of the TriggerGroup you want to activate 
		when the GlobalTrigger is activated (all conditions are true).
		The final field is where you type the ID number of a TriggerGroup you 
		want to activate when the GlobalTrigger is not activated (not all 
		conditions are true).
Take care if using this field since the 
		GlobalTrigger may not be activated for many frames of the game which 
		means this TriggerGroup will be activated every frame.
Type 
		IGNORE in this field if you do not want to activate any TriggerGroup 
		when not all conditions are true.
		Notes
You have to be careful how you 
		set up a GlobalTrigger and have a suitable level design for most of 
		them. How you set them up depends on what you want them to trigger.
		
For example, say you use a GT_HOLDS_ITEM GlobalTrigger to activate a 
		TriggerGroup that will move Lara very quickly up a vertical pole. If you 
		don't use FGT_SINGLE_SHOT, Lara won't be able to come down the pole and 
		if she grabs it at the top she may be moved into the ceiling. If you do 
		use FGT_SINGLE_SHOT what happens if Lara falls off the pole before 
		reaching the top. To get around these problems you're going to have to 
		set up triggers near the pole that enable and disable the GlobalTrigger.
		
Nowid used GlobalTriggers to make it possible to use a fired torch 
		from the inventory, something I would never have thought of. Another 
		example of GlobalTriggers can be found in Paolone's quicksand project 
		where one is used to end the game after Lara has collected six urns.
		
If you are using the latest TRNG, the GlobalTriggers in Paolone's 
		Miscellaneous demo project may need to be updated to the new syntax of 
		seven fields for the script to compile without error. You will need to 
		add the IdOnFalseTriggerGroup field to the end of each GlobalTrigger in 
		the script if there are only six fields present. Use IGNORE as the 
		value.
GT_CONDITION_GROUP
This is the type you use if you 
		want to create your own custom GlobalTrigger. Just export all the 
		condition triggers you want to apply and create a TriggerGroup for them. 
		This will be a CONDITION TriggerGroup since it only contains condition 
		script triggers. Condition script triggers start with $9000 or $8000.
		
When all the conditions in the CONDITION TriggerGroup are true your 
		GlobalTrigger will activate the TriggerGroup you have nominated in the 
		IDPerformTriggerGroup field.
		GT_ALWAYS
		
This type does not need something to happen in the game to 
		activate it. It is activated automatically every tick (frame) of the 
		game.
This GlobalTrigger will activate the TriggerGroup you have 
		nominated in the IDPerformTriggerGroup field every tick (frame) of the 
		game.
Type IGNORE in the IdConditionTriggerGroup field since any 
		value in this field will not be used.