Trigger: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
==Entity Description==
==Entity Description==
'''Trigger''' is a generic trigger entity.
'''Trigger''' is a generic trigger [[entity]].


As an entity prefix, '''trigger''' entities are spatial volumes (in other words, brushed-based [[entity#Brush_entities|entities]]) which trigger [[output]]s depending on what touches them and how.
As an entity prefix, '''trigger''' entities are spatial volumes (in other words, brushed-based [[entity#Brush_entities|entities]]) which trigger [[output]]s depending on what touches them and how.

Revision as of 16:31, 21 September 2010

Entity Description

Trigger is a generic trigger entity.

As an entity prefix, trigger entities are spatial volumes (in other words, brushed-based entities) which trigger outputs depending on what touches them and how.

The two most common triggers are:

Several other trigger entities also exist.

Keyvalues

  • {| class="mw-collapsible mw-collapsed" style="background:initial;float:no;margin-bottom:1em;margin-left:0;padding-right:0.5em;border:1px solid rgba(255,255,255,0.1); border-left:solid 1px #8bb9e0; padding-left:1em;"

|+ style="text-align:left; white-space:nowrap; font-weight:bold; color:#ddd; " | BaseTrigger |

Filter Name (filtername) <filter>
A filter entity to test potential activators against.
Start Disabled (StartDisabled) <boolean>
Stay dormant until activated (with theEnableinput).

|}

Flags

  • {| class="mw-collapsible mw-collapsed" style="background:initial;float:no;margin-bottom:1em;margin-left:0;padding-right:0.5em;border:1px solid rgba(255,255,255,0.1); border-left:solid 1px #8bb9e0; padding-left:1em;"

|+ style="text-align:left; white-space:nowrap; font-weight:bold; color:#ddd; " | BaseTrigger |

Everything (not including physics debris) : [64]
Clients (Survivors, Special Infected, Tanks Left 4 Dead seriesLeft 4 Dead series) : [1]
Only clients in vehicles : [32]
Only clients *not* in vehicles : [512]
Disallow Bots (removed since Left 4 Dead) : [4096]
NPCs (Common Infected, Witches Left 4 Dead seriesLeft 4 Dead series) : [2]
Only player ally NPCs : [16]
Only NPCs in vehicles (respects player ally flag) : [2048]
Physics Objects (not including physics debris) : [8]
Physics debris (include also physics debris) : [1024]
Pushables (Passes entities with classname func_pushable) : [4] Obsolete
Deprecated.
Equivalent to using Everything + filter_activator_class that filters func_pushable.

|}

Inputs

  • BaseTrigger:
Toggle
Toggles this trigger between enabled and disabled states.
Enable
Enable trigger
Disable
Disable trigger

Outputs

  • {| class="mw-collapsible mw-collapsed" style="background:initial;float:no;margin-bottom:1em;margin-left:0;padding-right:0.5em;border:1px solid rgba(255,255,255,0.1); border-left:solid 1px #8bb9e0; padding-left:1em;"

|+ style="text-align:left; white-space:nowrap; font-weight:bold; color:#ddd; " | BaseTrigger |

OnStartTouch
!activator = entity that caused this output
!caller = this entity
Fired when a valid entity starts touching this trigger.
OnStartTouchAll
!activator = entity that caused this output
!caller = this entity
Fired when a valid entity starts touching this trigger, and no other entities are touching it. If there are any other entities touching the trigger when a new one begins to touch, only OnStartTouch will fire.
OnEndTouch
!activator = entity that caused this output
!caller = this entity
Fired when a valid entity stops touching this trigger.
Note.pngNote:Will also fire for entities touching it when trigger is disabled via Disable input
Warning.pngWarning:This includes entities which are deleted while inside the trigger. In this case !activator will be invalid.
Warning.pngWarning:OnEndTouch can fire before OnStartTouch under certain circumstances[How?] where both are fired on the same tick and each have the same delay.
Note.pngFix:Add a slight delay to OnEndTouch.
OnEndTouchAll
!activator = entity that caused this output
!caller = this entity
Fired when all valid entities stop touching this trigger.
OnTouching  (in all games since Source 2007)
!activator = !caller = this entity
Fired if something is currently touching this trigger when TouchTest is fired.
OnNotTouching  (in all games since Source 2007)
!activator = !caller = this entity
Fired if nothing is currently touching this trigger when TouchTest is fired.

|}

See Also