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
(This entity is now fully obsolete, due to the fact that the player events work for all entities and not just this one (making its purpose useless))
 
(33 intermediate revisions by 16 users not shown)
Line 1: Line 1:
{{obsolete}}
{{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]].}}
{{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