trigger_push
![]() |
---|
CTriggerPush defined in ![]() triggers.cpp
|
trigger_push
is a brush entity available in all Source games. It is a trigger volume that pushes entities that touch it, except those with a parent.


Contents
Keyvalues
Targetname:
- Name
(targetname)
<string> - The targetname that other entities refer to this entity by.
- Push Direction
(pushdir)
<angle> - Angles indicating the direction to push touched entities.


- Speed of Push
(speed)
<integer> - The speed at which to push entities away, in inches / second.
- Scale force for alternate ticks
(alternateticksfix)
<float> - If nonzero, scale the force by this amount when running with alternate ticks. This fixes problems with an overly large force due to the longer frametime on when running with
sv_alternateticks 1
.
- Trigger on Start Touch
(triggeronstarttouch)
<boolean> (only in)
- Trigger on start touch instead of on touch.
- Only Falling Players
(OnlyFallingPlayers)
<boolean> (in all games since) (also in
)
- Only affect players if they are falling (and not pressing jump).
- Player fall speed
(FallingSpeedThreshold)
<float> (in all games since) (also in
)
- A player must be falling this fast for them to be pushed.
BaseTrigger:
- Filter Name
(filtername)
<filter> - A filter entity to test potential activators against.
- Start Disabled
(StartDisabled)
<boolean> - Stay dormant until activated (with the
Enable
input).
Flags
TriggerPush:
- [
128
] : Once Only (possibly means set velocity rather than apply acceleration)
- [
256
] : Affects Ladders (Half-Life 2)
BaseTrigger:
- [
4
] : func_pushable
- [
8
] : Physics Objects
- [
16
] : Only player ally NPCs
- [
32
] : Only clients in vehicles
- [
64
] : Everything (not including physics debris)
- [
512
] : Only clients *not* in vehicles
- [
1024
] : Physics debris
- [
2048
] : Only NPCs in vehicles (respects player ally flag)
- [
4096
] : Disallow Bots
- [
4096
] : Correctly account for object mass (trigger_push
used to assume 100Kg) and multiple component physics objects (car, blob...) (in all games since)
Inputs
SetPushSpeed
<integer> (only in)
- Set the push speed in inches / second.
SetPushDirection
<vector> (in all games since) (also in
)
- Sets the push angle of the trigger.
SetSpeed
<integer> (only in)
- Sets the push speed. Still takes alternate tick keyvalue into account.
BaseTrigger:
Toggle
- Toggles this trigger between enabled and disabled states.
Enable
- Enable trigger
Disable
- Disable trigger
TouchTest
(in all games since)
- Triggers either the OnTouching or OnNotTouching outputs for whether anything is touching this entity.
StartTouch
(in all games since) !FGD
- Behave as if the
!caller
entity had just entered the trigger volume. Accepts non-physical entities.
EndTouch
(in all games since) !FGD
- Behave as if !caller had just exited the trigger volume.
Outputs
BaseTrigger:
OnStartTouch
- Fired when a valid entity starts touching this trigger.
!activator
is whatever touches the trigger.
OnStartTouchAll
- 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
- Fired when a valid entity stops touching this trigger.

OnEndTouchAll
- Fired when all valid entities stop touching this trigger.