scripted_sequence
From Valve Developer Community
Contents |
Entity description
Grabs an NPC and makes them play a specified set of animations. The NPC can be told to move to the scripted sequence position or can be told to play the script wherever they currently are. Multiple scripted sequences of the same name will frame-synchronize in the action animation once all the actors have moved to position. This allows tight interaction between actors (one actor grabbing another, hitting them, etc.) The flow is as follows:
- Move to position using the specified movement animation. If "Move to Position" is set to "None", skip to step 2.
- If forced to wait for another actor to move to position, play the pre-action idle animation, otherwise skip to step 3. If there is no pre-action idle specified, "ACT_IDLE" is used.
- Fire the "OnBeginSequence" output.
- Play the action animation. If no action animation is specified, skip to step 5.
- Play the post-action idle animation. If none is specified, skip to step 6. If the "Loop in Post Idle" spawnflag is set, keep playing the post-action idle until the script is canceled. If no post-action idle animation is specified, "ACT_IDLE" is used.
- Fire the "OnEndSequence" output.
- If a next script to play is specified, hand the NPC to the next script and repeat this process for that script.
The "MoveToPosition" input runs steps 1 and 2, then waits while playing the pre-action idle animation until the "BeginSequence" input is received.
Keyvalues
-
Targetname:
- Name <string>
- The targetname other entities refer to this entity by.
-
Parentname:
- Parent
<targetname> - Specifies the targetname of this entity's movement parent. Entities with parents move with their parent.
-
Angles:
- Pitch Yaw Roll (Y Z X)
<angle> - This entity's angular orientation in the world.
-
DXLevelChoice:
- Minimum DX Level
<choices> - Maximum DX Level
<choices> - The entity will not exist if the engine is running outside the given range of DirectX Versions. Don't use this with anything that will break saved games should a player switch dxlevel!
- Default (no bounding)
- DX7
- DX8
- DX8.1
- DX9 SM2
- DX9 SM3
- m_iszEntity
- <target_destination> The name or class name (such as "npc_zombie") of an NPC to use for this script.
- m_iszIdle
- <string> The name of the sequence (such as "idle01") or activity (such as 'ACT_IDLE') to play before the action animation if the NPC must wait for the script to be triggered. Use "Start on Spawn" flag or "MoveToPosition" input to play this idle animation.
- m_iszPlay
- <string> The name of the main sequence (such as 'reload02') or activity (such as "ACT_RELOAD") to play.
- m_iszPostIdle
- <string> The name of the sequence (such as "idle01") or activity (such as "ACT_IDLE") to play after the action animation.
- m_iszCustomMove
- <string> Used in conjunction with the 'Custom movement' setting for the "Move to Position" property, specifies the sequence (such as 'crouch_run01') or activity (such as "ACT_RUN") to use while moving to the scripted position.
- m_flRadius
- <float> Radius to search within for an NPC to use. 0 searches everywhere.
- m_flRepeat
- <float> Repeat Rate ms
- m_fMoveTo
- <choices> Move to Position"
Literal Value Description 0 No 1 Walk 2 Run 3 Custom movement 4 Instantaneous 5 No - Turn to Face
- m_iszNextScript
- <target_destination> The name of the script to run immediately after this script completes. The NPC will not return to AI between the two scripts.
- m_iszEntry
- <string> The name of the sequence (such as "reload02") or activity (such as "ACT_RELOAD") to play when the sequence starts, before transitioning to play the main action sequence.
- m_bLoopActionSequence
- <boolean> Loop Action Animation?
- m_bSynchPostIdles
- <boolean> Synch Post Idles?
- onplayerdeath
- If set, NPC will cancel script and return to AI
Flags
- 4 : Repeatable
- 8 : Leave Corpse
- 16 : Start on Spawn - Note: this activates the "MoveTo" action only. Action Animation will occur only after the
scripted_sequencehas been otherwise triggered.
- 32: No Interruptions
- 64: Override AI
- 128: No Script Movement
- 256: Loop in Post Idle
- 512: Priority Script
Inputs
-
Targetname:
-
Kill - Removes this entity from the world.
-
KillHierarchy - Removes this entity and all its children from the world.
-
AddOutput <string> - Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
- Format:
<key> <value> - Format:
<output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite> -
FireUser1toFireUser4 - Fire the
OnUseroutputs; see User Inputs and Outputs.
-
Parentname:
-
SetParent <targetname> - Move with this entity. See Entity Hierarchy (parenting).
-
SetParentAttachment <string> - Attach to a named attachment on the current parent. The entity will teleport so that the position of its root bone matches that of the attachment.
-
SetParentAttachmentMaintainOffset <string> - As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
-
ClearParent - Removes this entity from its current movement hierarchy.
- BeginSequence
- Summons an NPC to act out the scripted sequence.
- MoveToPosition
- Summons an NPC to the script location. They will play their scripted idle (or "ACT_IDLE" if none is specified) until "BeginSequence" is triggered.
- CancelSequence
- Stops the scripted sequence. If fired after a sequence starts, this input will not take effect until the NPC finishes playing the scripted action animation.
Outputs
-
Targetname:
-
OnUser1toOnUser4 - Fired in response to the
FireUserinputs; see User Inputs and Outputs. -
OnKilled(New with Left 4 Dead) - Fired when the entity is killed and removed from the game.
- OnBeginSequence
- Fires when the action animation begins playing.
- OnEndSequence
- Fires when the action animation completes.
- OnScriptEvent(01-08)
- Fires when a 'trigger' anim event occurs while playing the script. Use { event 1003 framenum (1-8) } in the QC.
Locating animations
You can use the model tab in the entity window.
Or
You can use the Half-life Model Viewer tool to see all the available sequences(Animations) for the model you're using. You can find the application in the Source SDK.
When you've launched the tool go to File and load the model you want. Then go to the Sequence tab and select an animation from the dropdown menu to get the model you've select to play that animation or sequence.
See also
- The npc_zombie_prone and npc_zombie_slump prefabs, providing examples of use.
- Activity List - a list of activities for use with this entity.
- aiscripted_schedule - a similar entity.

