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

Ai goal follow: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (add AI category)
mNo edit summary
 
(47 intermediate revisions by 19 users not shown)
Line 1: Line 1:
[[category:AI]]
{{LanguageBar}}
{{This is a|point entity|name=ai_goal_follow|sprite=1|except=Left 4 Dead series}}
{{CD2|CAI_FollowGoal|file1=ai_behavior_follow.cpp}}


ai_goal_follow
It makes the target [[NPC]]s follow another object or the player at a configurable distance. NPCs may react in some way if they can't path to their leader.


AI Goal Follow
{{note|NPCs do not intelligently follow their leader. They will simply walk or run depending on distance directly towards it. If the followers happen to block a path, they will not move out of the way and the leading NPC will eventually give up trying to path. (Depends on '''Formation'''.)}}


KEYS
==ConVars/Commands==
{{varcom|start}}
{{varcom|ai_debug_follow|0|01|Tells when an NPC is having trouble following their leader. Requires {{cmd|developer|1}}. Does not function. {{confirm}}}}
{{varcom|ai_follow_use_points|1|01}}
{{varcom|ai_follow_use_points_when_moving|1|01}}
{{varcom|end}}


Name targetname <target_source> The name that other entities refer to this entity by.
==Keyvalues==


Actor(s) to affect actor <target_name_or_class>
{{KV Targetname}}
{{KV|Target Entity|intn=goal|string|The name of the entity that the NPCs should follow. If this value is blank, NPCs will follow the player, if they are friendly towards them.}}
{{KV|Formation|intn=formation|choices|How close to the target the NPCs should follow.
:*0: Close circle
:*1: Medium Circle
:*2: Wide circle
:*3: Sidekick (mostly same as Medium Circle, but a bit looser range (120 to 160 [[unit]]s) and tries to keep [[LOS]] to the follow target. Used by [[Alyx]] for the majority of '''[[Episode Two|EP2]]''')
:*4: Vortigaunt (mostly same as Sidekick, but operates more freely in combat (can chase enemies within a larger range from the follow target). Used by the Lone [[Vortigaunt|Vort]] in '''EP2''')
}}
{{KV GoalEntity}}


Target Entity goal <string> The name of the entity to follow. If blank, and the actor likes the player, then defaults to player
==Inputs==
{{I|OutsideTransition|since=EP1|nofgd=1|Usually this is automatically done by a {{ent|trigger_transition}} when the map changes, but it can be done manually as well. It sends the entity into a "dormant" state where it is disabled even though the entity may still ''think'' it is active. This is done in the case that the player decides to go back to a previous map, where the entity will then become non-dormant again and ensure NPCs continue to follow. Only available for the HL2 Episodes and Portal.}}
<!--No, unlike NPCs this entity actually does NOT have a corresponding InsideTransition.-->
{{I GoalEntity}}


Search Type SearchType <choices> How to search for the entities using the targetname.
[[Category:AI]]
 
Start Active StartActive <choices>
 
Maximum state MaximumState <choices>
 
Formation Formation <choices>
 
 
INPUTS
 
Kill Removes this entity from the world.
 
KillHierarchy Removes this entity and all its children from the world.
 
AddOutput <string> Adds an entity I/O connection to this entity. Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire (-1 == infinite)>. Very dangerous, use with care.
 
FireUser1 Causes this entity's OnUser1 output to be fired.
 
FireUser2 Causes this entity's OnUser2 output to be fired.
 
FireUser3 Causes this entity's OnUser3 output to be fired.
 
FireUser4 Causes this entity's OnUser4 output to be fired.
 
Activate Begin the follow behavior
 
Deactivate Cease the follow behavior
 
 
OUTPUTS
 
OnUser1 Fired in response to FireUser1 input.
 
OnUser2 Fired in response to FireUser2 input.
 
OnUser3 Fired in response to FireUser3 input.
 
OnUser4 Fired in response to FireUser4 input.

Latest revision as of 03:03, 4 April 2025

English (en)Translate (Translate)
Ai goal follow.png

ai_goal_follow is a point entity available in all Source Source games except Left 4 Dead seriesLeft 4 Dead series Left 4 Dead series.

C++ class hierarchy
CAI_FollowGoal defined in C++ ai_behavior_follow.cpp
CAI_GoalEntity
CBaseEntity


It makes the target NPCs follow another object or the player at a configurable distance. NPCs may react in some way if they can't path to their leader.

Note.pngNote:NPCs do not intelligently follow their leader. They will simply walk or run depending on distance directly towards it. If the followers happen to block a path, they will not move out of the way and the leading NPC will eventually give up trying to path. (Depends on Formation.)

ConVars/Commands

Cvar/Command Parameters or default value Descriptor Effect
ai_debug_follow 0 0 disables, 1 enables Tells when an NPC is having trouble following their leader. Requires developer 1. Does not function. [confirm]
ai_follow_use_points 1 0 disables, 1 enables
Todo: Effect description.
ai_follow_use_points_when_moving 1 0 disables, 1 enables
Todo: Effect description.

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

Target Entity (goal) <string>
The name of the entity that the NPCs should follow. If this value is blank, NPCs will follow the player, if they are friendly towards them.
Formation (formation) <choices>
How close to the target the NPCs should follow.
  • 0: Close circle
  • 1: Medium Circle
  • 2: Wide circle
  • 3: Sidekick (mostly same as Medium Circle, but a bit looser range (120 to 160 units) and tries to keep LOS to the follow target. Used by Alyx for the majority of EP2)
  • 4: Vortigaunt (mostly same as Sidekick, but operates more freely in combat (can chase enemies within a larger range from the follow target). Used by the Lone Vort in EP2)

AI_GoalEntity:

Actor(s) to affect (actor) <target_name_or_class>
The targetname or classname of any NPCs that will be included in this goal. Wildcards are supported.
Search Type (SearchType) <choices>
What the Actor(s) to affect keyvalue targets by.
  • 0: Entity Name
  • 1: Classname
Start Active (StartActive) <boolean>
Set if goal should be active immediately.

Inputs

OutsideTransition  (in all games since Half-Life 2: Episode One) !FGD
Usually this is automatically done by a trigger_transition when the map changes, but it can be done manually as well. It sends the entity into a "dormant" state where it is disabled even though the entity may still think it is active. This is done in the case that the player decides to go back to a previous map, where the entity will then become non-dormant again and ensure NPCs continue to follow. Only available for the HL2 Episodes and Portal.

AI_GoalEntity:

Activate
Make the goal active if it wasn't already. NPCs will begin taking orders.
Deactivate
Make goal inactive.
UpdateActors  !FGD
Tell the goal entity to re-check Actor(s) to affect in case any disappeared, or any new NPCs spawned.[confirm]