Func nav prerequisite: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (→‎Keyvalues: bug correction)
m (updated template usage.)
Line 1: Line 1:
{{tf2 brush|func_nav_prerequisite}}
{{lang|func nav prerequisite}}
 
{{tf2 brush|func_nav_prerequisite}} It is a trigger volume that requires bots to do perform a task before they can move through it.
==Entity description==
A trigger volume that requires bots to do perform a task before they can move through it.


==Keyvalues==
==Keyvalues==
{{KV Targetname}}
{{KV|Filter Name|filterclass|Filter to use to see if activator triggers me. See {{ent|filter_activator_name}} for more explanation.}}
{{KV Parentname}}
{{KV Origin}}
{{KV|Start Disabled|bool|Start disabled}}
{{KV|Global Entity Name|string|Name by which this entity is linked to another entity in a different map. When the player transitions to a new map, entities in the new map with globalnames matching entities in the previous map will have the previous map's state copied over their state.}}
{{KV|spawnflags|flags|spawn flags}}
{{KV|Filter Name|filterclass|Filter to use to see if activator triggers me. See filter_activator_name for more explanation.}}
{{KV|Task|choices|What must be done to move through this volume}}
{{KV|Task|choices|What must be done to move through this volume}}
:* 1 : Destroy Entity (Value = max range to attack from. -1 for no range restriction)
:* 1 : Destroy Entity (Value = max range to attack from. -1 for no range restriction)
{{bug|In {{tf2}}, this task does not function.}}
:{{bug|In {{tf2}}, this task does not function.}}
:* 2 : Move to Entity
:* 2 : Move to Entity
:* 3 : Wait (Value = seconds to wait)
:* 3 : Wait (Value = seconds to wait)
{{KV|Task Entity|target_destination|The subject entity of the Task}}
{{KV|Task Entity|target_destination|The subject entity of the Task.}}
{{KV|Task Value|float|A Task-specific value}}
{{KV|Task Value|float|A Task-specific value.}}
{{KV TriggerOnce|base=1}}
 
==Flags==
{{Fl TriggerOnce}}


==Inputs==
==Inputs==
{{I Targetname}}
{{I Trigger|base=1}}
{{IO|SetParentAttachment <[[string]]>|Change this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment.}}
{{IO|SetParentAttachmentMaintainOffset <[[string]]>|Change this entity to attach to a specific attachment point on it's parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment. The entity will maintain it's position relative to the parent at the time it is attached.}}
{{IO|ClearParent|Removes this entity from the the movement hierarchy, leaving it free to move independently.}}
{{I EnableDisable}}
{{IO|Toggle|Toggles this trigger between enabled and disabled states.}}
{{IO|DisableAndEndTouch|Disables this trigger and calls EndTouch on all currently-touching entities.}}


==Outputs==
==Outputs==
{{O Targetname}}
{{O BaseEntity}}
{{IO|OnStartTouch|Fired when an entity starts touching this trigger. The touching entity must pass this trigger's filters to cause this output to fire.}}
{{O Trigger}}
{{IO|OnStartTouchAll|Fired when an entity starts touching this trigger, and no other entities are touching it. Only entities that passed this trigger's filters are considered.}}
{{IO|OnEndTouch|Fired when an entity stops touching this trigger. Only entities that passed this trigger's filters will cause this output to fire.}}
{{IO|OnEndTouchAll|Fires when an entity stops touching this trigger, and no other entities are touching it. Only entities that passed this trigger's filters are considered.}}


==See Also==
==See Also==
*[[func_nav_prefer]] that influences bots to prefer this region by decreasing the pathfinding cost within it.
*{{ent|func_nav_prefer}}, which influences bots to prefer this region by decreasing the pathfinding cost within it.
*[[func_nav_avoid]] that influences bots to avoid this region by increasing the pathfinding cost within it.
*{{ent|func_nav_avoid}}, which influences bots to avoid this region by increasing the pathfinding cost within it.

Revision as of 15:16, 2 September 2022

English (en)Translate (Translate)

Template:Tf2 brush It is a trigger volume that requires bots to do perform a task before they can move through it.

Keyvalues

Filter Name ([todo internal name (i)]) <filter>
Filter to use to see if activator triggers me. See filter_activator_name for more explanation.
Task ([todo internal name (i)]) <choices>
What must be done to move through this volume
  • 1 : Destroy Entity (Value = max range to attack from. -1 for no range restriction)
Icon-Bug.pngBug:In Team Fortress 2, this task does not function.  [todo tested in ?]
  • 2 : Move to Entity
  • 3 : Wait (Value = seconds to wait)
Task Entity ([todo internal name (i)]) <targetname>
The subject entity of the Task.
Task Value ([todo internal name (i)]) <float>
A Task-specific value.
BaseTrigger
Filter Name (filtername) <filter>
A filter entity to test potential activators against.
Start Disabled (StartDisabled) <boolean>
Stay dormant until activated (with theEnableinput).

Flags

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
TouchTest  (in all games since Source 2007)
Triggers either the OnTouching or OnNotTouching outputs for whether anything is touching this entity.
Icon-Bug.pngBug:Sleeping prop_physics will never fire "OnTouching". Also applies to entities using prop_physics as base.  (tested in: Half-Life 2)
StartTouch  (in all games since Source 2007) !FGD
Behave as if the !caller entity had just entered the trigger volume. Accepts non-physical entities.
EndTouch  (in all games since Source 2007) !FGD
Behave as if !caller had just exited the trigger volume.
DisableAndEndTouch  (only in Source 2013 MultiplayerTeam Fortress 2 branch)
Disables this trigger and calls EndTouch on all currently-touching entities.

Outputs

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

  • func_nav_prefer, which influences bots to prefer this region by decreasing the pathfinding cost within it.
  • func_nav_avoid, which influences bots to avoid this region by increasing the pathfinding cost within it.