Template:I BaseNPC: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
Line 2: Line 2:
<onlyinclude>{{expandBox|title=BaseNPC inputs|
<onlyinclude>{{expandBox|title=BaseNPC inputs|
{{minititle|CAI_BaseNPC}}
{{minititle|CAI_BaseNPC}}
{{IO|ActivateSpeedModifier|nofgd=1}}
{{I|ActivateSpeedModifier|nofgd=1}}
{{IO|DisableSpeedModifier|nofgd=1}}
{{I|DisableSpeedModifier|nofgd=1}}
{{IO|Break|Smash into pieces. If this is not possible, disappear.}}
{{I|Break|Smash into pieces. If this is not possible, disappear.}}
{{IO|BecomeRagdoll|Remove itself and instantly become a [[ragdoll]] with zero force (just go limp). OnDeath, etc. outputs will <strong>NOT</strong> be fired.|since=EP2}}
{{I|BecomeRagdoll|Remove itself and instantly become a [[ragdoll]] with zero force (just go limp). OnDeath, etc. outputs will <strong>NOT</strong> be fired.|since={{ep2}}}}
{{IO|ForceInteractionWithNPC  <[[string]]> <[[string]]>|Force the NPC to use a dynamic interaction with another NPC. Syntax is <tt><[[targetname]]> <dynamic interaction></tt>.|since=EP1}}
{{I|ForceInteractionWithNPC  <[[string]]> <[[string]]>|Force the NPC to use a dynamic interaction with another NPC. Syntax is <tt><[[targetname]]> <dynamic interaction></tt>.|since={{ep1}}}}
{{IO|ForgetEntity|Clears out the NPC's knowledge of a named entity.|param=targetname}}
{{I|ForgetEntity|Clears out the NPC's knowledge of a named entity.|param=targetname}}
{{IO|UpdateEnemyMemory|Update (or create) this NPC's memory of of the given entity.|since=EP1}}
{{I|UpdateEnemyMemory|Update (or create) this NPC's memory of of the given entity.|since={{ep1}}}}
{{IO|GagEnable}}
{{I|GagEnable}}
{{IO|GagDisable|Gagged NPCs won't speak (or moan, caw, etc.) unless made to be a choreographed scene.}}
{{I|GagDisable|Gagged NPCs won't speak (or moan, caw, etc.) unless made to be a choreographed scene.}}
{{IO|HolsterWeapon|since=EP1}}
{{I|HolsterWeapon|since={{ep1}}}}
{{IO|UnholsterWeapon|Force the NPC to holster or unholster their weapon. Ignored if the NPC is scripting or if the NPC doesn't use weapons.|since=EP1}}
{{I|UnholsterWeapon|Force the NPC to holster or unholster their weapon. Ignored if the NPC is scripting or if the NPC doesn't use weapons.|since={{ep1}}}}
{{IO|HolsterAndDestroyWeapon|Same as <code>HolsterWeapon</code>, except the weapon is destroyed once it has been concealed.|since=EP1}}
{{I|HolsterAndDestroyWeapon|Same as <code>HolsterWeapon</code>, except the weapon is destroyed once it has been concealed.|since={{ep1}}}}
{{IO|IgnoreDangerSounds|Ignore danger sounds for the specified number of seconds.|param=float}}
{{I|IgnoreDangerSounds|Ignore danger sounds for the specified number of seconds.|param=float}}
{{IO|InsideTransition|nofgd=1}}
{{I|InsideTransition|nofgd=1}}
{{IO|OutsideTransition|nofgd=1}}
{{I|OutsideTransition|nofgd=1}}
{{IO|SetBodyGroup|HACK: Sets this NPC's body group (from 0–n).|param=int}}
{{I|SetBodyGroup|HACK: Sets this NPC's body group (from 0–n).|param=int}}
{{IO|SetEnemyFilter|param=string}}
{{I|SetEnemyFilter|param=string}}
{{IO|SetHealth|Set the NPC's health.|param=int}}{{#ifeq: base | {{{branch|base}}} |
{{I|SetHealth|Set the NPC's health.|param=int}}{{#ifeq: base | {{{branch|base}}} |
{{IO|SetMaxLookDistance|Sets the maximum look distance for the NPC. Defaults are 2048 and 6000 for long range NPCs.|param=float|only=GMOD}} }}
{{I|SetMaxLookDistance|Sets the maximum look distance for the NPC. Defaults are 2048 and 6000 for long range NPCs.|param=float|only={{GMOD}}}} }}
{{IO|SetRelationship <[[string]]{{!}}[[targetname]] or [[classname]]> <[[string]]{{!}}disposition> <[[int]]{{!}}rank>|Changes whether this NPC likes or dislikes certain others. Used like the {{ent|ai_relationship}} entity, with this NPC as the subject.
{{I|SetRelationship <[[string]]{{!}}[[targetname]] or [[classname]]> <[[string]]{{!}}disposition> <[[int]]{{!}}rank>|Changes whether this NPC likes or dislikes certain others. Used like the {{ent|ai_relationship}} entity, with this NPC as the subject.
: Values for <code>disposition</code> are:
: Values for <code>disposition</code> are:
:* <code>D_HT</code>: Hate
:* <code>D_HT</code>: Hate
Line 27: Line 27:
:* <code>D_LI</code>: Like
:* <code>D_LI</code>: Like
:* <code>D_NU</code>: Neutral}}
:* <code>D_NU</code>: Neutral}}
{{IO|SetSquad|Change the name of this NPC's [[Squads|squad]]. Leaving the parameter blank will remove the NPC from any existing squad.|param=string}}
{{I|SetSquad|Change the name of this NPC's [[Squads|squad]]. Leaving the parameter blank will remove the NPC from any existing squad.|param=string}}
{{IO|StartScripting}}
{{I|StartScripting}}
{{IO|StopScripting|Enter/exit scripting state, where NPCs ignore a variety of stimulus that would make them break out of their scripts. They ignore danger sounds, ignore {{ent|use|alt=+Use}}, don't idle speak or respond to other NPCs' idle speech, and so on.}}
{{I|StopScripting|Enter/exit scripting state, where NPCs ignore a variety of stimulus that would make them break out of their scripts. They ignore danger sounds, ignore {{ent|use|alt=+Use}}, don't idle speak or respond to other NPCs' idle speech, and so on.}}
{{IO|Wake|Wakes up the NPC if it is sleeping.}}
{{I|Wake|Wakes up the NPC if it is sleeping.}}
{{I BaseCombatCharacter}}
{{I BaseCombatCharacter}}
{{I DamageFilter}} }}</onlyinclude>
{{I DamageFilter}} }}</onlyinclude>

Latest revision as of 10:37, 19 March 2025

Flag-white.pngEnglish (en)
BaseNPC inputs 

CAI_BaseNPC:

ActivateSpeedModifier  !FGD
DisableSpeedModifier  !FGD
Break
Smash into pieces. If this is not possible, disappear.
BecomeRagdoll  (in all games since Half-Life 2: Episode Two)
Remove itself and instantly become a ragdoll with zero force (just go limp). OnDeath, etc. outputs will NOT be fired.
ForceInteractionWithNPC <string> <string>  (in all games since Half-Life 2: Episode One)
Force the NPC to use a dynamic interaction with another NPC. Syntax is <targetname> <dynamic interaction>.
ForgetEntity <targetname>
Clears out the NPC's knowledge of a named entity.
UpdateEnemyMemory  (in all games since Half-Life 2: Episode One)
Update (or create) this NPC's memory of of the given entity.
GagEnable
GagDisable
Gagged NPCs won't speak (or moan, caw, etc.) unless made to be a choreographed scene.
HolsterWeapon  (in all games since Half-Life 2: Episode One)
UnholsterWeapon  (in all games since Half-Life 2: Episode One)
Force the NPC to holster or unholster their weapon. Ignored if the NPC is scripting or if the NPC doesn't use weapons.
HolsterAndDestroyWeapon  (in all games since Half-Life 2: Episode One)
Same as HolsterWeapon, except the weapon is destroyed once it has been concealed.
IgnoreDangerSounds <float>
Ignore danger sounds for the specified number of seconds.
InsideTransition  !FGD
OutsideTransition  !FGD
SetBodyGroup <integer>
HACK: Sets this NPC's body group (from 0–n).
SetEnemyFilter <string>
SetHealth <integer>
Set the NPC's health.
SetMaxLookDistance <float> (only in Garry's Mod)
Sets the maximum look distance for the NPC. Defaults are 2048 and 6000 for long range NPCs.
SetRelationship <string|targetname or classname> <string|disposition> <int|rank>
Changes whether this NPC likes or dislikes certain others. Used like the ai_relationship entity, with this NPC as the subject.
Values for disposition are:
  • D_HT: Hate
  • D_FR: Fear
  • D_LI: Like
  • D_NU: Neutral
SetSquad <string>
Change the name of this NPC's squad. Leaving the parameter blank will remove the NPC from any existing squad.
StartScripting
StopScripting
Enter/exit scripting state, where NPCs ignore a variety of stimulus that would make them break out of their scripts. They ignore danger sounds, ignore +Use, don't idle speak or respond to other NPCs' idle speech, and so on.
Wake
Wakes up the NPC if it is sleeping.

CBaseCombatCharacter:

KilledNPC  !FGD
Tells the entity it killed something. Despite the name, this can include a player. This input will be automatically sent by the victim when they die.
physdamagescale <float>
Scales damage energy when this character is hit by a physics object. With a value of 0 the NPC will take no damage from physics.

DamageFilter:

SetDamageFilter <string>
Sets the entity to use as damage filter. Pass in an empty string (no parameter) to clear the damage filter.