This article's documentation is for anything that uses the Source engine. Click here for more information.

Trigger brush: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (trigger_brush)
 
(31 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{obsolete|entity=1}}
{{obsolete|entity=1}}
{{ent not in fgd}}
{{Ent not in fgd}}
{{base_brush|trigger_brush}} Deprecated entity during the development of Half Life 2 Beta, it's sole difference compared to other entities is that a <code>OnUse</code> output exists.
{{CD|CTriggerBrush|file1=modelentities.cpp}}
{{note|The brush ''is'' fully solid unlike other trigger [[entities]].}} {{note|Use [[func_button]] instead, it behaves like trigger_brush but is more likely to work on any version of source.}}
{{This is a|brush entity|name=trigger_brush}} Deprecated entity during the development of ''Half-Life 2,'' its sole difference compared to other entities is that a {{↓|Outputs|<code>OnUse</code> output}} exists which may be useful when combined with [[Targetname#Player Events|player event targetnames]] (such as <code>game_playerdie</code>).
{{note|The player events (such as <code>game_playerdie</code>) are useable by all entities and not just by this entity, despite common misconception. The list of those is now available on the [[Targetname]] page.}}
{{note|The brush ''is'' fully solid unlike other [[triggers|trigger entities]].}}  
{{note|Use {{ent|func_button}} instead to detect players using +use, it behaves like trigger_brush but is more likely to work on any version of Source.}}


{{code class|CTriggerBrush|modelentities.cpp}}
{{toc-right}}


===FGD Code===
== Keyvalues ==
<pre>@SolidClass base(Targetname, Parentname, Global, EnableDisable) = trigger_brush
{{KV Targetname}}
{{KV|Input Filter|intn=InputFilter|flags|Used to specify which inputs this entity will accept. Add multiple together to ignore multiple types of inputs.
:*0: Allow all inputs
:*1: Ignore Players
:*2: Ignore NPCs
:*4: Ignore Pushables
:*8: Ignore Touch/Untouch
:*16: Ignore Use
:*32: Ignore All}}
{{KV|Don't alert parent|intn=DontMessageParent|bool|Decides whether to forward OnStartTouch, OnEndTouch outputs or Use input to parented entity.}}
 
== Inputs ==
{{I|[[Use]]|Fires the OnUse output.}}
{{I EnableDisable}}
 
== Outputs ==
{{O|OnUse|activator = activator of the Use input|Fired when the <code>Use</code> input is given.}}
{{O|OnStartTouch|activator = entity that touched this trigger|Fired when an entity starts touching this trigger. The touching entity must pass this trigger's InputFilter to cause this output to fire.}}
{{O|OnEndTouch|activator = entity that stopped touching this trigger (may be NULL if the entity was killed)|Fired when an entity stops touching this trigger. Only entities that passed this trigger's InputFilter will cause this output to fire.}}
 
== FGD Code ==
<syntaxhighlight lang=js>@SolidClass base(Targetname, Parentname, Global, Inputfilter, EnableDisable) = trigger_brush
[
[
InputFilter(choices) : "Input Filter" : 0 : "Used to specify which inputs this entity will accept. Add multiple values together to ignore multiple types of inputs (ex: 1+2=3 to ignore both players and NPCs)." =
[
0 : "0 - Allow all inputs"
1 : "1 - Ignore Players"
2 : "2 - Ignore NPCs"
4 : "4 - Ignore Pushables"
8 : "8 - Ignore Touch/Untouch"
16 : "16 - Ignore Use"
32 : "32 - Ignore All"
]
DontMessageParent(choices) : "Alert parent?" : 0 : "When 0, forwards OnStartTouch, OnEndTouch outputs or Use input to parented entity." =
[
0 : "Alert parent"
1 : "Don't alert parent"
]
input Use(void) : "Fires the OnUse output."
input Use(void) : "Fires the OnUse output."
output OnUse(void) : "Fired when the Use input is given."
output OnUse(void) : "Fired when the Use input is given."
]</pre>
output OnStartTouch(void) : "Fired when an entity starts touching this trigger. The touching entity must pass this trigger's InputFilter to cause this output to fire."
output OnEndTouch(void) : "Fired when an entity stops touching this trigger. Only entities that passed this trigger's InputFilter will cause this output to fire."
]</syntaxhighlight>


==Keyvalues==
== Convars ==
{{KV EnableDisable}}
{{varcom|start}}
{{KV BaseEntity|brush=1}}
{{varcom|showtriggers|0|bool|If this is true when this entity spawns its brush will be visible.}}
==Inputs==
{{varcom|end}}
{{I EnableDisable}}
{{I BaseEntity}}
==Outputs==
{{O BaseEntity|l4d=1}}
{{IO|OnUse|Fired when the <code>Use</code> input is given.}}
== See also ==
== See also ==
*[[logic_eventlistener]]
*[[logic_eventlistener]]

Latest revision as of 15:29, 12 June 2025

Obsolete-notext.png
This entity is obsolete. Its use is discouraged. It may only exist/function in older engine branches.
Icon-NotInFGD.png
This entity is not in the FGD by default.
See below for instructions on making it available.
C++ Class hierarchy
CTriggerBrush
CBaseEntity
C++ modelentities.cpp

trigger_brush is a brush entity available in all Source Source games. Deprecated entity during the development of Half-Life 2, its sole difference compared to other entities is that a OnUse output ↓ exists which may be useful when combined with player event targetnames (such as game_playerdie).

Note.pngNote:The brush is fully solid unlike other trigger entities.
Note.pngNote:Use func_button instead to detect players using +use, it behaves like trigger_brush but is more likely to work on any version of Source.

Keyvalues

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Input Filter (InputFilter) <flags>
Used to specify which inputs this entity will accept. Add multiple together to ignore multiple types of inputs.
  • 0: Allow all inputs
  • 1: Ignore Players
  • 2: Ignore NPCs
  • 4: Ignore Pushables
  • 8: Ignore Touch/Untouch
  • 16: Ignore Use
  • 32: Ignore All
Don't alert parent (DontMessageParent) <boolean>
Decides whether to forward OnStartTouch, OnEndTouch outputs or Use input to parented entity.

Inputs

Use
Fires the OnUse output.

EnableDisable:

Enable / Disable
Enable/disable this entity from performing its task. It might also disappear from view.

Outputs

OnUse
!activator = activator of the Use input
!caller = this entity
Fired when the Use input is given.
OnStartTouch
!activator = entity that touched this trigger
!caller = this entity
Fired when an entity starts touching this trigger. The touching entity must pass this trigger's InputFilter to cause this output to fire.
OnEndTouch
!activator = entity that stopped touching this trigger (may be NULL if the entity was killed)
!caller = this entity
Fired when an entity stops touching this trigger. Only entities that passed this trigger's InputFilter will cause this output to fire.

FGD Code

@SolidClass base(Targetname, Parentname, Global, Inputfilter, EnableDisable) = trigger_brush
[
	InputFilter(choices) : "Input Filter" : 0 : "Used to specify which inputs this entity will accept. Add multiple values together to ignore multiple types of inputs (ex: 1+2=3 to ignore both players and NPCs)." =
	[
		0 : "0 - Allow all inputs"
		1 : "1 - Ignore Players"
		2 : "2 - Ignore NPCs"
		4 : "4 - Ignore Pushables"
		8 : "8 - Ignore Touch/Untouch"
		16 : "16 - Ignore Use"
		32 : "32 - Ignore All"
	]

	DontMessageParent(choices) : "Alert parent?" : 0 : "When 0, forwards OnStartTouch, OnEndTouch outputs or Use input to parented entity." =
	[
		0 : "Alert parent"
		1 : "Don't alert parent"
	]

	input Use(void) : "Fires the OnUse output."

	output OnUse(void) : "Fired when the Use input is given."
	output OnStartTouch(void) : "Fired when an entity starts touching this trigger. The touching entity must pass this trigger's InputFilter to cause this output to fire."
	output OnEndTouch(void) : "Fired when an entity stops touching this trigger. Only entities that passed this trigger's InputFilter will cause this output to fire."
]

Convars

Cvar/Command Parameters or default value Descriptor Effect
showtriggers 0 bool If this is true when this entity spawns its brush will be visible.

See also