Hint nodes: Difference between revisions
mNo edit summary |
JustinHall (talk | contribs) (→Hint Types: formatting table - valign=top) |
||
Line 38: | Line 38: | ||
===Minimum/Maximum State=== | ===Minimum/Maximum State=== | ||
A NPC will only look for hints that are within its state boundaries. An idle NPC will not use hints with a minimum state of alert, for example. | A NPC will only look for hints that are within its state boundaries. An idle NPC will not use hints with a minimum state of alert, for example. | ||
valign="top" | | |||
==Hint Types== | ==Hint Types== | ||
Line 52: | Line 54: | ||
!align=left| Hint type | !align=left| Hint type | ||
|- | |- | ||
| '''World: Window''' | | valign="top" | '''World: Window''' | ||
| 2 | | valign="top" | 2 | ||
| A window that can be looked through. Most NPCs do not need this. | | valign="top" | A window that can be looked through. Most NPCs do not need this. | ||
| <code>HINT_WORLD_WINDOW</code> | | valign="top" | <code>HINT_WORLD_WINDOW</code> | ||
| | | valign="top" | | ||
| [[npc_cscanner]], [[npc_spotlight]] | | valign="top" | [[npc_cscanner]], [[npc_spotlight]] | ||
| info_hint | | valign="top" | info_hint | ||
|- | |- | ||
| '''World: Act Busy Hint''' | | valign="top" | '''World: Act Busy Hint''' | ||
| 12 | | valign="top" | 12 | ||
| Used in an [[Actbusy|actbusy routine]] or [[Actbusy_Queues|queue]]. | | valign="top" | Used in an [[Actbusy|actbusy routine]] or [[Actbusy_Queues|queue]]. | ||
| <code>HINT_WORLD_WORK_POSITION</code> | | valign="top" | <code>HINT_WORLD_WORK_POSITION</code> | ||
| | | | ||
*See [[Actbusy]] or [[Actbusy_Queues]] | *See [[Actbusy]] or [[Actbusy_Queues]] | ||
| [[npc_citizen]] | | valign="top" | [[npc_citizen]] | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''World: Visually Interesting''' | | valign="top" | '''World: Visually Interesting''' | ||
| 13 | | valign="top" | 13 | ||
| Used to mark interesting areas that the AI would not recognise on its own. A NPC will consider aiming at this node when they next choose a new target. Depending on the call the hint is found during the NPC’s state and ability to aim may affect their decision and the node may be locked for five seconds to prevent multiple NPCs staring at it in unison. If they cannot aim they will look at the target instead. | | valign="top" | Used to mark interesting areas that the AI would not recognise on its own. A NPC will consider aiming at this node when they next choose a new target. Depending on the call the hint is found during the NPC’s state and ability to aim may affect their decision and the node may be locked for five seconds to prevent multiple NPCs staring at it in unison. If they cannot aim they will look at the target instead. | ||
| <code>HINT_WORLD_VISUALLY_INTERESTING</code> | | valign="top" | <code>HINT_WORLD_VISUALLY_INTERESTING</code> | ||
| | | valign="top" | | ||
*There are no hostiles in the area | *There are no hostiles in the area | ||
*The hint is in the NPC’s view cone | *The hint is in the NPC’s view cone | ||
*The hint is in the NPC’s range | *The hint is in the NPC’s range | ||
*The hint is not too close | *The hint is not too close | ||
| All | | valign="top" | All | ||
| info_hint | | valign="top" | info_hint | ||
|- | |- | ||
| '''World: Visually Interesting (Don't aim at) ''' | | valign="top" | '''World: Visually Interesting (Don't aim at) ''' | ||
| 14 | | valign="top" | 14 | ||
| Same as above, but only the head and eyes are affected. | | valign="top" | Same as above, but only the head and eyes are affected. | ||
| <code>HINT_WORLD_VISUALLY_INTERESTING_DONT_AIM</code> | | valign="top" | <code>HINT_WORLD_VISUALLY_INTERESTING_DONT_AIM</code> | ||
| See above | | valign="top" | See above | ||
| All | | valign="top" | All | ||
| info_hint | | valign="top" | info_hint | ||
|- | |- | ||
| '''World: Inhibit Combine Mines within 15 feet''' | | valign="top" | '''World: Inhibit Combine Mines within 15 feet''' | ||
| 15 | | valign="top" | 15 | ||
| Inhibits, but does not prevent, [[combine_mine|Combine mines]] from clamping into the ground within a 180 unit sphere around the hint. They will instead continue to bounce themselves until they are out of the hint's influence. '''This hint will not always have an effect. It is ultimately up to the mine if it wants to be clamp or not.''' | | valign="top" | Inhibits, but does not prevent, [[combine_mine|Combine mines]] from clamping into the ground within a 180 unit sphere around the hint. They will instead continue to bounce themselves until they are out of the hint's influence. '''This hint will not always have an effect. It is ultimately up to the mine if it wants to be clamp or not.''' | ||
| <code>HINT_WORLD_INHIBIT_COMBINE_MINES</code> | | valign="top" | <code>HINT_WORLD_INHIBIT_COMBINE_MINES</code> | ||
| | | valign="top" | | ||
*The NPC is within 180 units of the hint origin | *The NPC is within 180 units of the hint origin | ||
| [[combine_mine]] | | valign="top" | [[combine_mine]] | ||
| info_hint | | valign="top" | info_hint | ||
|- | |- | ||
| '''Crouch Cover Medium''' | | valign="top" | '''Crouch Cover Medium''' | ||
| 100 | | valign="top" | 100 | ||
| Tells a NPC that it can cover itself by crouching at this position. Cover itself is acquired automatically: this hint merely helps the AI efficiently determine how high said cover goes. Should provide 100 vertical units or more of cover. | | valign="top" | Tells a NPC that it can cover itself by crouching at this position. Cover itself is acquired automatically: this hint merely helps the AI efficiently determine how high said cover goes. Should provide 100 vertical units or more of cover. | ||
| <code>HINT_TACTICAL_COVER_MED</code> | | valign="top" | <code>HINT_TACTICAL_COVER_MED</code> | ||
| | | valign="top" | | ||
*The hint is not visible to the NPC's threat | *The hint is not visible to the NPC's threat | ||
| [[npc_citizen]], [[npc_combine_s]], [[npc_metropolice]] | | valign="top" | [[npc_citizen]], [[npc_combine_s]], [[npc_metropolice]] | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''Crouch Cover Low''' | | valign="top" | '''Crouch Cover Low''' | ||
| 101 | | valign="top" | 101 | ||
| Same as above, but tells the NPC to crouch lower. | | valign="top" | Same as above, but tells the NPC to crouch lower. | ||
| <code>HINT_TACTICAL_COVER_LOW</code> | | valign="top" | <code>HINT_TACTICAL_COVER_LOW</code> | ||
| See above | | valign="top" | See above | ||
| See above | | valign="top" | See above | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''Enemy Disadvantage Point''' | | valign="top" | '''Enemy Disadvantage Point''' | ||
| 105 | | valign="top" | 105 | ||
| A weak spot in your opponent's position. NPCs will try to get here to attack hostiles. Remember to use hint groups on points that are only disadvantageous to one side! | | valign="top" | A weak spot in your opponent's position. NPCs will try to get here to attack hostiles. Remember to use hint groups on points that are only disadvantageous to one side! | ||
| <code>HINT_TACTICAL_ENEMY_DISADVANTAGED</code> | | valign="top" | <code>HINT_TACTICAL_ENEMY_DISADVANTAGED</code> | ||
| Unknown | | valign="top" | Unknown | ||
| Unknown | | valign="top" | Unknown | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''Antlion: Burrow Point''' | | valign="top" | '''Antlion: Burrow Point''' | ||
| 400 | | valign="top" | 400 | ||
| Antlions will burrow in or out out of the ground at this point. | | valign="top" | Antlions will burrow in or out out of the ground at this point. | ||
| <code>HINT_ANTLION_BURROW_POINT</code> | | valign="top" | <code>HINT_ANTLION_BURROW_POINT</code> | ||
| | | valign="top" | | ||
*To burrow out, this hint must be used in conjunction with a [[npc_antlion_template_maker]] | *To burrow out, this hint must be used in conjunction with a [[npc_antlion_template_maker]] | ||
*Depending on the configuration of the [[npc_antlion_template_maker]], the hint will not be used if the player is looking at it | *Depending on the configuration of the [[npc_antlion_template_maker]], the hint will not be used if the player is looking at it | ||
| [[npc_antlion]] | | valign="top" | [[npc_antlion]] | ||
| info_hint | | valign="top" | info_hint | ||
|- | |- | ||
| '''Antlion: Thumper Flee Point''' | | valign="top" | '''Antlion: Thumper Flee Point''' | ||
| 401 | | valign="top" | 401 | ||
| Antlions will use this hint to flee towards when they are forced back by a thumper. It is not required, but is useful to control precise Antlion movements. | | valign="top" | Antlions will use this hint to flee towards when they are forced back by a thumper. It is not required, but is useful to control precise Antlion movements. | ||
| <code>HINT_ANTLION_THUMPER_FLEE_POINT</code> | | valign="top" | <code>HINT_ANTLION_THUMPER_FLEE_POINT</code> | ||
| | | valign="top" | | ||
*The Antlion must be fleeing from a thumper | *The Antlion must be fleeing from a thumper | ||
| [[npc_antlion]] | | valign="top" | [[npc_antlion]] | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''Headcrab: Burrow Point''' | | valign="top" | '''Headcrab: Burrow Point''' | ||
| 450 | | valign="top" | 450 | ||
| Headcrabs will burrow in from this point. To have them burrow out, use spawnflags. | | valign="top" | Headcrabs will burrow in from this point. To have them burrow out, use spawnflags. | ||
| <code>HINT_HEADCRAB_BURROW_POINT</code> | | valign="top" | <code>HINT_HEADCRAB_BURROW_POINT</code> | ||
| | | valign="top" | | ||
*The Headcrab must not be within leap range of a hostile | *The Headcrab must not be within leap range of a hostile | ||
| [[npc_headcrab]] | | valign="top" | [[npc_headcrab]] | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''Crow: Fly to point''' | | valign="top" | '''Crow: Fly to point''' | ||
| 700 | | valign="top" | 700 | ||
| Crows will fly towards this point when spawning, unless a perch point is nearer. | | valign="top" | Crows will fly towards this point when spawning, unless a perch point is nearer. | ||
| <code>HINT_CROW_FLYTO_POINT</code> | | valign="top" | <code>HINT_CROW_FLYTO_POINT</code> | ||
| | | valign="top" | | ||
| [[npc_crow]] | | valign="top" | [[npc_crow]] | ||
| info_node_air_hint | | valign="top" | info_node_air_hint | ||
|- | |- | ||
| '''Follower: Wait point''' | | valign="top" | '''Follower: Wait point''' | ||
| 900 | | valign="top" | 900 | ||
| NPCs under an [[ai_goal_lead]] will wait here for the player to catch up before continuing. | | valign="top" | NPCs under an [[ai_goal_lead]] will wait here for the player to catch up before continuing. | ||
| <code>HINT_FOLLOW_WAIT_POINT</code> | | valign="top" | <code>HINT_FOLLOW_WAIT_POINT</code> | ||
| | | valign="top" | | ||
*NPC must be using an [[ai_goal_lead]] | *NPC must be using an [[ai_goal_lead]] | ||
| See [[ai_goal_lead]] | | valign="top" | See [[ai_goal_lead]] | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''Override jump permission''' | | valign="top" | '''Override jump permission''' | ||
| 901 | | valign="top" | 901 | ||
| NPCs will jump from a hint of this type to another of this type, if doing so will not hurt them. | | valign="top" | NPCs will jump from a hint of this type to another of this type, if doing so will not hurt them. | ||
| <code>HINT_JUMP_OVERRIDE</code> | | valign="top" | <code>HINT_JUMP_OVERRIDE</code> | ||
| | | valign="top" | | ||
*Fall must not hurt the NPC | *Fall must not hurt the NPC | ||
*Destination hint must be available | *Destination hint must be available | ||
| All land-based | | valign="top" | All land-based | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''Player squad transition point''' | | valign="top" | '''Player squad transition point''' | ||
| 902 | | valign="top" | 902 | ||
| A NPC will teleport to one of these hints when its '''outsidetransition''' input is triggered. Locked for half a second after each use to prevent NPCs spawning inside each other. | | valign="top" | A NPC will teleport to one of these hints when its '''outsidetransition''' input is triggered. Locked for half a second after each use to prevent NPCs spawning inside each other. | ||
| <code>HINT_PLAYER_SQUAD_TRANSITON_POINT</code> | | valign="top" | <code>HINT_PLAYER_SQUAD_TRANSITON_POINT</code> | ||
| | | valign="top" | | ||
* NPC is in a single-player game | * NPC is in a single-player game | ||
* NPC is a player companion | * NPC is a player companion | ||
* NPC is not marked as vital | * NPC is not marked as vital | ||
| [[npc_citizen]] | | valign="top" | [[npc_citizen]] | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''NPC exit point''' | | valign="top" | '''NPC exit point''' | ||
| 903 | | valign="top" | 903 | ||
| Part of an [[actbusy]] routine. NPCs will use this node to leave an area. | | valign="top" | Part of an [[actbusy]] routine. NPCs will use this node to leave an area. | ||
| <code>HINT_NPC_EXIT_POINT</code> | | valign="top" | <code>HINT_NPC_EXIT_POINT</code> | ||
| | | valign="top" | | ||
*NPC must be part of an actbusy routine | *NPC must be part of an actbusy routine | ||
| [[npc_citizen]] | | valign="top" | [[npc_citizen]] | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|- | |- | ||
| '''Strider node''' | | valign="top" | '''Strider node''' | ||
| 904 | | valign="top" | 904 | ||
| Used by Striders to target their cannon weapons. | | valign="top" | Used by Striders to target their cannon weapons. | ||
| <code>HINT_STRIDER_NODE</code> | | valign="top" | <code>HINT_STRIDER_NODE</code> | ||
| | | valign="top" | | ||
| [[npc_strider]] | | valign="top" | [[npc_strider]] | ||
| info_node_hint | | valign="top" | info_node_hint | ||
|} | |} | ||
Revision as of 00:15, 17 February 2006
Hints give AI contextual pointers that it would not be able to work out on it’s own. They are not to be confused with compiler hints, which are used to control visibility in a map. They are point entities positioned in Hammer and interpreted by the AI when a map loads.
Hints are only semi-scripted. You cannot tell a NPC to use a hint (with the exception of actbusy routines). They are information, not orders, and are handled by a NPC's AI code.
Hint Entities
There are three entities in the hint family covering different NPC types, plus a related entity to change the hint group of a hint or NPC.
info_hint
A hint that does not add to any navigation grids. Some hint types (such as Act Busy) cannot be used with this entity.
info_node_hint
A hint that is also an info_node. Ground NPCs only. Full range of hint types.
info_node_air_hint
Identical to info_node_hint but used for airborne NPCs.
- Special Property: NodeHeight, unknown and possibly obsolete.
ai_changehintgroup
Changes or adds a specific hint group to a NPC or hint.
Properties
Hint
See Hint Types, below.
Hint Activity
The activity to perform at this hint if the AI does not specify one. This might be looking around, patrolling, playing an animation, or anything.
Node FOV
NPCs can only see this hint if they are facing in this direction in relation to the hint's pitch yaw and roll. Not always applicable.
Hint Group
NPCs can filter hints to only those that match their hint groups. Useful when there are multiple NPCs in an area who should not use the same hints (for instance, two squads of fighting NPCs will only want to use hints on their side of any cover).
Minimum/Maximum State
A NPC will only look for hints that are within its state boundaries. An idle NPC will not use hints with a minimum state of alert, for example.
valign="top" |
Hint Types

For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
When you place a hint its type is the most important setting, defining what it is hinting at. Hints are handled by a NPC’s AI, so not all work with every character type.
Name | # | Notes | Codename | Conditions | NPCs | Hint type |
---|---|---|---|---|---|---|
World: Window | 2 | A window that can be looked through. Most NPCs do not need this. | HINT_WORLD_WINDOW
|
npc_cscanner, npc_spotlight | info_hint | |
World: Act Busy Hint | 12 | Used in an actbusy routine or queue. | HINT_WORLD_WORK_POSITION
|
|
npc_citizen | info_node_hint |
World: Visually Interesting | 13 | Used to mark interesting areas that the AI would not recognise on its own. A NPC will consider aiming at this node when they next choose a new target. Depending on the call the hint is found during the NPC’s state and ability to aim may affect their decision and the node may be locked for five seconds to prevent multiple NPCs staring at it in unison. If they cannot aim they will look at the target instead. | HINT_WORLD_VISUALLY_INTERESTING
|
|
All | info_hint |
World: Visually Interesting (Don't aim at) | 14 | Same as above, but only the head and eyes are affected. | HINT_WORLD_VISUALLY_INTERESTING_DONT_AIM
|
See above | All | info_hint |
World: Inhibit Combine Mines within 15 feet | 15 | Inhibits, but does not prevent, Combine mines from clamping into the ground within a 180 unit sphere around the hint. They will instead continue to bounce themselves until they are out of the hint's influence. This hint will not always have an effect. It is ultimately up to the mine if it wants to be clamp or not. | HINT_WORLD_INHIBIT_COMBINE_MINES
|
|
combine_mine | info_hint |
Crouch Cover Medium | 100 | Tells a NPC that it can cover itself by crouching at this position. Cover itself is acquired automatically: this hint merely helps the AI efficiently determine how high said cover goes. Should provide 100 vertical units or more of cover. | HINT_TACTICAL_COVER_MED
|
|
npc_citizen, npc_combine_s, npc_metropolice | info_node_hint |
Crouch Cover Low | 101 | Same as above, but tells the NPC to crouch lower. | HINT_TACTICAL_COVER_LOW
|
See above | See above | info_node_hint |
Enemy Disadvantage Point | 105 | A weak spot in your opponent's position. NPCs will try to get here to attack hostiles. Remember to use hint groups on points that are only disadvantageous to one side! | HINT_TACTICAL_ENEMY_DISADVANTAGED
|
Unknown | Unknown | info_node_hint |
Antlion: Burrow Point | 400 | Antlions will burrow in or out out of the ground at this point. | HINT_ANTLION_BURROW_POINT
|
|
npc_antlion | info_hint |
Antlion: Thumper Flee Point | 401 | Antlions will use this hint to flee towards when they are forced back by a thumper. It is not required, but is useful to control precise Antlion movements. | HINT_ANTLION_THUMPER_FLEE_POINT
|
|
npc_antlion | info_node_hint |
Headcrab: Burrow Point | 450 | Headcrabs will burrow in from this point. To have them burrow out, use spawnflags. | HINT_HEADCRAB_BURROW_POINT
|
|
npc_headcrab | info_node_hint |
Crow: Fly to point | 700 | Crows will fly towards this point when spawning, unless a perch point is nearer. | HINT_CROW_FLYTO_POINT
|
npc_crow | info_node_air_hint | |
Follower: Wait point | 900 | NPCs under an ai_goal_lead will wait here for the player to catch up before continuing. | HINT_FOLLOW_WAIT_POINT
|
|
See ai_goal_lead | info_node_hint |
Override jump permission | 901 | NPCs will jump from a hint of this type to another of this type, if doing so will not hurt them. | HINT_JUMP_OVERRIDE
|
|
All land-based | info_node_hint |
Player squad transition point | 902 | A NPC will teleport to one of these hints when its outsidetransition input is triggered. Locked for half a second after each use to prevent NPCs spawning inside each other. | HINT_PLAYER_SQUAD_TRANSITON_POINT
|
|
npc_citizen | info_node_hint |
NPC exit point | 903 | Part of an actbusy routine. NPCs will use this node to leave an area. | HINT_NPC_EXIT_POINT
|
|
npc_citizen | info_node_hint |
Strider node | 904 | Used by Striders to target their cannon weapons. | HINT_STRIDER_NODE
|
npc_strider | info_node_hint |
Limitations and Bugs
- A hint can only be of one type, and only one hint can be used by a NPC at a time. You cannot have an enemy disadvantage hint that is also crouch cover.
- Sometimes AI will not use a hint when it might make sense to. This is a part of normal AI behavior.
Example
This example map contains various hints in a combat situation. Each hint's location is marked on the map with a brief description of it. Run the map several times to get a full overview of how hints are used.
Note that there are currently bugs in the map that prevent the AI from carrying out some routines. Enable developer mode to see when they occur.