Template:I BaseVehiclePassengerNPC
BaseVehiclePassengerNPC:
SetTargetVehicle
<string>- Change the target vehicle of this NPC.
EnterVehicle
<integer>- Tell this NPC to run and get in a role in their target vehicle.
EnterVehicleForce
<integer>- Force this NPC to get in a role in their target vehicle.
ExitVehicle
- Tell this NPC to get out of their target vehicle.
DriverSetTargetPathCorner
<string>- Set the path corner the driver will use for pathing.
DriverSetMaxSpeed
<float>- Set the Maxspeed (percentage of vehicle's maxspeed) (only used if NPC is in driver role) (0 - 1).
DriverSetMinSpeed
<float>- Set the Minspeed (percentage of vehicle's maxspeed) (only used if NPC is in driver role) (0 - 1).
DriverStartDriving
- Tell the driver to start driving (must be in driver role of vehicle).
DriverStopDriving
- Tell the driver to stop driving (must be in driver role of vehicle).
DriverGotoPathCorner
<string>- Tell the driver to go to a specific path corner and continue from there (must be in driver role of vehicle).
DriverStartBoost
- Tell the driver to apply his boost (must be in driver role of vehicle).
DriverStopBoost
- Tell the driver to stop applying his boost (must be in driver role of vehicle).
DriverLock
- Disables the drivers ability to turn and brake.
DriverUnlock
- Enables the drivers ability to turn and brake.
BaseNPC:
AddHealth
<integer> (in all games since )
RemoveHealth
<integer> (in all games since )- Add to or remove from the NPC's health.
SetHealth
<integer>- Set the NPC's health.
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.
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.
physdamagescale
<float>- Scales the damage taken when this character is hit by a physics object. 0 means this feature is disabled for backwards compatibility.
SetBodyGroup
<integer>- HACK: Sets this NPC's body group (from 0–n).
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
disposition
are: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.
Base:
AddContext
<string>- Adds to the entity's list of response contexts. See Context.
AddOutput
<string>- Assigns a new keyvalue/output on this entity. For keyvalues, some rely on extra necessary code to be ran and won't work if its simply just changed through this input. There is a strict format that must be followed:
// Format of changing KeyValues: "AddOutput [key] [value]"
//// Raw text:
"OnUser1" "!self,AddOutput,targetname new_name"
// Format of adding an Output: "AddOutput {targetname}:{inputname}:{parameter}:{delay}:{max times to fire, -1 means infinite}"
//// Raw text:
"OnUser1" "!self,AddOutput,OnUser1:SetParent:!activator:0.0:-1"
// Arguments can be left blank, but the empty blank should still be contained.
//// Raw text:
"OnUser1" "!self,AddOutput,OnUser1:ClearParent::0.0:-1"
|
ClearContext
- Removes all contexts from this entity's list.
ClearParent
- Removes this entity from the the movement hierarchy, leaving it free to move independently.
FireUser1
toFireUser4
- Fires the respective
OnUser
outputs; see User Inputs and Outputs.
Kill
- Removes this entity and any entities parented to it from the world.
KillHierarchy
- Functions the same as
Kill
, although this entity and any entities parented to it are killed on the same frame, being marginally faster thanKill
input.
RemoveContext
<string>- Remove a context from this entity's list. The name should match the key of an existing context.
SetParent
<string>- Move with this entity. See Entity Hierarchy (parenting).
SetParentAttachment
<string>- Change this entity to attach to a specific attachment point on its parent. The entity will teleport so that the position of its root bone matches that of the attachment. Entities must be parented before being sent this input.
SetParentAttachmentMaintainOffset
<string>- As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
DispatchResponse
<string> !FGD- Dispatches a response to the entity. See Response and Concept.
DispatchEffect
<string> (removed since ) !FGD- Dispatches a special effect from the entity's origin; See also List of Client Effects. Replaced by the particle system since .
RunScriptFile
<скрипт> (in all games since ) (also in )- Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode
<string> (in all games since ) (also in )- Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console. Bug:In Hammer, using string arguments will corrupt the VMF file's structure, making the file unviewable for the next Hammer session.Fix:Remove the string argument manually with a text editor.
CallScriptFunction
<string> (in all games since ) (also in ) !FGD- Calls a VScript function defined in the scope of the receiving entity.
TerminateScriptScope
(only in ) !FGD- Destroys the script scope of the receving entity.
SetLocalOrigin
<coordinates> (in all games since ) !FGD- Send this entity to a spot in the map. If the entity is parented to something, it will be offset from the parent by this amount.
Model:
SetBodyGroup
<integer>- Sets the the active
$bodygroup
.
Ignite
- Makes the entity catch on fire indefinitely.
IgniteLifetime
<float>- Makes the entity catch on fire for a given amount of time.
IgniteNumHitboxFires
<integer> (removed since )- Makes the entity catch on fire with a given number of hitbox fire particles. Does not function correctly in onward.
IgniteHitboxFireScale
<float> (removed since )- Makes the entity catch on fire with a given scale for hitbox fire particles. Does not function correctly in onward.
BecomeRagdoll
- Kills the entity and creates a client-side ragdoll from the model. Input is only passed if the model contains
$collisionjoints
. For other models,phys_convert
can be used instead.
SetLightingOrigin
<targetname>- Sets the entity's lighting origin to use this entity's position.
(removed since )SetLightingOriginHack
<targetname>- Deprecated. Offsets the entity's lighting origin by their distance from an
info_lighting_relative
. UseSetLightingOrigin
instead.
fademindist
<float>- Sets distance at which the entity starts fading. If <0, the entity will disappear instantly when end fade is hit. The value will scale appropriately if the entity is in a 3D Skybox.
fademaxdist
<float>- Sets distance at which the entity ends fading. If <0, the entity won't disappear at all. The value will scale appropriately if the entity is in a 3D Skybox.
SetModelScale
<vector> (only in )- Multiplies the size of the model. Does not alter the physics collisions in most cases. Can take two values separated by a space, in which case the first value would be the target model scale and the second value would be the number of seconds the change in scale will be spread over. If there is no second value, the model will scale instantly.Tip:The
modelscale
keyvalue can be AddOutputed as a workaround for other games with this input missing.
Warning:Negative or extremely high values can cause crashes!
SetCycle
<float> (only in )- Skip to a specific point in the current animation.
SetModel
<string> (only in )- Changes the model to the specified path. Form of models/ammo/ammo_us.mdl.
Important:Absolutely NO quotes! Make sure you use the forward slash '/'. Merasmus says to heed this advice, else thou shalt corrupt the VMF.
SetPlayBackRate
<float> (only in )- Change the animation speed multiplier.
Alpha
<integer>- Sets the entity's transparency to a number from 0 (invisible) to 255 (fully visible). Requires the entity to have its Render Mode (rendermode) set to a number other than 0.
AlternativeSorting
<boolean>- Swaps the rendering order of the entity. Used to attempt to fix sorting problems when rendering, for example an object rendering in front of translucent materials.
Color
<color255>- Sets an RGB color for the entity.
SetDamageFilter
<targetname>- Sets a filter for this entity for when it receives damage.
EnableDamageForces
- Allows the entity to be pushed by damage done to it (usually force amount correlates with the damage done).
DisableDamageForces
- Prevents the entity from being pushed by damage done to it.
Reflection:
DisableDrawInFastReflection
(in all games since )- Turns off rendering of this entity in reflections when using
$reflectonlymarkedentities
in water material.
EnableDrawInFastReflection
(in all games since )- Turn on rendering of this entity in reflections when using
$reflectonlymarkedentities
in water material.
Shadow:
DisableShadow
- Turn dynamic shadows off for this entity. Identical to applying
EF_NOSHADOW
.
EnableShadow
- Turn dynamic shadows on for this entity.
DisableReceivingFlashlight
(in all games since )- This object will not receive light or shadows from projected textures.
DamageFilter: