Generic actor: Difference between revisions
Jump to navigation
Jump to search
Note:Some keyvalues, spawnflags, effect flags, inputs, or outputs might not affect an NPC, based on the functionality and coding of the NPC.
Note:This npc's max health is 8. If you're a mapper and want to increase the health, you can do an AddOutput with max_health "Amount Of Health", and then a SetHealth input after that. Otherwise you should implement a ConVar for their health like other NPCs.
Bug:In newer engine versions after Alien Swarm, this NPC will appear to "lag" when walking or running, which is also the case with monster_generic.
Workaround:Setting the ConVar
(tested in:
)
Bug:In
Portal 2, upon death, this entity's ragdoll will phase through world geometry.
Bug:In games other than
Half-Life 2 series, where there isn't any List of default AI relationships table, the console will be spammed with
m (Add internal names of keyval keys, Change table to bulleted list) |
(Detailed things it reacts and a solution to the error message.) |
||
| (15 intermediate revisions by 9 users not shown) | |||
| Line 1: | Line 1: | ||
{{ | {{CD|CGenericActor|file1=genericactor.cpp}} | ||
{{this is a|model entity|name=generic_actor|except=Left 4 Dead series}} It is a generic NPC purely made for scripted sequence work. The NPC never reacts to other entities, sounds but reacts to damage. The NPC will play flinch gestures or animations as you increase the NPC's health. If the NPC doesn't ragdoll after death, it will play the default death animation. Additionally, by assigning a relationship of <code>D_FR</code>, this actor can hide from other characters like every other NPC. | |||
{{NPCNote}} | {{NPCNote}} | ||
| Line 5: | Line 6: | ||
{{Note|This npc's max health is 8. If you're a mapper and want to increase the health, you can do an AddOutput with max_health "Amount Of Health", and then a SetHealth input after that. Otherwise you should implement a ConVar for their health like other NPCs.}} | {{Note|This npc's max health is 8. If you're a mapper and want to increase the health, you can do an AddOutput with max_health "Amount Of Health", and then a SetHealth input after that. Otherwise you should implement a ConVar for their health like other NPCs.}} | ||
{{Bug|In newer engine versions after [[Alien Swarm]], this NPC will appear to "lag" when walking or running. | {{Bug|tested={{portal2}}|In newer engine versions after [[Alien Swarm]], this NPC will appear to "lag" when walking or running, which is also the case with [[monster_generic]]. | ||
==Keyvalues== | {{workaround|Setting the ConVar <code>cl_localnetworkbackdoor</code> to 0 will fix this.}} | ||
}} | |||
{{Bug|hidetested=1|In {{portal2|4}}, upon death, this entity's ragdoll will phase through world geometry.}} | |||
{{Bug|hidetested=1|In games other than{{Half-Life 2 series|4}}, where there isn't any [[List of default AI relationships]] table, the console will be spammed with <code>monster_generic can't assess player</code> every think. To avoid this, assign a Relationship keyvalue to this actor and any other actors inside the map.}} | |||
== Keyvalues == | |||
{{KV Targetname}} | |||
{{KV|Model|intn=model|studio|Model of the generic_actor}} | {{KV|Model|intn=model|studio|Model of the generic_actor}} | ||
{{KV|Hull type|intn=hull_name|choices|Physical size of the actor. Affects navigation capabilities and hitboxes.{{confirm}}}} | {{KV|Hull type|intn=hull_name|choices|Physical size of the actor. Affects navigation capabilities and hitboxes.{{confirm}}}} | ||
| Line 16: | Line 24: | ||
:*MEDIUM_HULL: Medium | :*MEDIUM_HULL: Medium | ||
:*LARGE_HULL: Large | :*LARGE_HULL: Large | ||
:{{confirm|Actual dimensions of these hulls}} | |||
{{KV BaseNPC}} | {{KV BaseNPC}} | ||
==Flags== | == Flags == | ||
{{Fl BaseNPC}} | {{Fl BaseNPC}} | ||
==Inputs== | == Inputs == | ||
{{I BaseNPC}} | {{I BaseNPC}} | ||
==Outputs== | == Outputs == | ||
{{O BaseNPC}} | {{O BaseNPC}} | ||
== See also == | |||
* {{ent|monster_generic}} | |||
[[Category:Entities]] | [[Category:Entities]] | ||
[[Category:NPCs]] | [[Category:NPCs]] | ||
Latest revision as of 08:43, 20 October 2025
| CGenericActor |
generic_actor is a model entity available in all
Source games except ![]()
Left 4 Dead series. It is a generic NPC purely made for scripted sequence work. The NPC never reacts to other entities, sounds but reacts to damage. The NPC will play flinch gestures or animations as you increase the NPC's health. If the NPC doesn't ragdoll after death, it will play the default death animation. Additionally, by assigning a relationship of D_FR, this actor can hide from other characters like every other NPC.
cl_localnetworkbackdoor to 0 will fix this.monster_generic can't assess player every think. To avoid this, assign a Relationship keyvalue to this actor and any other actors inside the map.Keyvalues
- Name (targetname) <string>[ Edit ]
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentnameortarget).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
- Model (model) <model path>
- Model of the generic_actor
- Hull type (hull_name) <choices>
- Physical size of the actor. Affects navigation capabilities and hitboxes.[confirm]
- HUMAN_HULL: Human
- WIDE_HUMAN_HULL: Wide
- TINY_HULL: Tiny
- MEDIUM_HULL: Medium
- LARGE_HULL: Large
Confirm:Actual dimensions of these hulls
|
CBaseCombatCharacter:
CAI_BaseNPC:
DamageFilter:
|
Flags
BaseNPC flags
- Wait Till Seen : [1]
- Prevents this NPC from seeing (or being seen) until it enters a player's viewcone.
- Gag : [2]
- Won't make IDLE sounds until it's angry.
- Fall to ground (unchecked means teleport to ground) : [4]
- Drop Healthkit : [8]
- Causes this NPC to drop an item_healthvial upon dying.
- Efficient : [16]
- Don't acquire enemies or avoid obstacles
- Wait For Script : [128]
- Forces this NPC to "wait" in an idle state until it finishes playing a scripted_sequence.
- Long Visibility/Shoot : [256]
- By default, increases a NPC's sight range to
6,000units and allows it to attack from anywhere within that distance.
- Fade Corpse : [512]
- Think outside PVS : [1024]
- Allows this NPC to run its regular AI outside of any player's PVS.
- Template NPC : [2048]
- Marks this NPC as a template for entities like npc_template_maker. The NPC will not spawn on its own. This is not needed for point_template.
- Do Alternate collision for this NPC (player avoidance) : [4096]
- Don't drop weapons : [8192]
- Ignore player push : [16384] (in all games since
) - Entity won't give way to player.
Inputs
BaseNPC inputs
CAI_BaseNPC:
- ActivateSpeedModifier !FGD
- DisableSpeedModifier !FGD
- Break
- Smash into pieces. If this is not possible, disappear.
- BecomeRagdoll (in all games since
) - 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
) - 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
) - 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
)
- UnholsterWeapon (in all games since
) - 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
) - 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
) - 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
dispositionare:D_HT: HateD_FR: FearD_LI: LikeD_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:
Outputs
|