Scripted sequence

From Valve Developer Community
Revision as of 18:14, 18 September 2005 by DozzyB (talk | contribs)
Jump to navigation Jump to search

Template:Wrongtitle

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:

IS THERE ANY CHANCE WE COULD GET A VALID and EXISTING LIST OF ACTION ANIMATIONS preferably for HL2 seeing as thats what we are here to work on....PLZ.


1.) Move to position using the specified movement animation. If 'Move to Position' is set to NONE, skip to step 2.

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.

3.) Fire the OnBeginSequence output.

4.) Play the action animation. If no action animation is specified, skip to step 5.

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 cancelled. If no post-action idle animation is specified, ACT_IDLE is used.

6.) Fire the OnEndSequence output.

7.) 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

  • 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
<integer> Radius to search within for an NPC to use. 0 searches everywhere.
  • m_flRepeat
<integer> 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.

Flags

  • 4 : Repeatable
  • 8 : Leave Corpse
  • 16 : Start on Spawn
  • 32: No Interruptions
  • 64: Override AI
  • 128: No Script Movement
  • 256: Loop in Post Idle
  • 512: Priority Script

Inputs

  • 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

  • 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.