Source 2 Animation System VScript API/CModelVScriptCompile.CreateSequence

== Function Description ==
 IVSSequence CModelVScriptCompile::CreateSequence(table parameters) 
Generates a new animation sequence in the model. The generated sequences can be used the same way as animations imported to the model from external software. 
Parameters that take sequence names also accept imported animations.
;Example
-- Creates a new sequence named "my_sequence", imports the first two frames from the animation "my_animation" and switches their order.
model:CreateSequence(
	{
		name = "my_sequence",
		fadeInTime = 0.2,
		fadeOutTime = 0.2,
		fps = 30,
		cmds = {
			{ cmd = "fetchframe", sequence = "my_animation", frame = 0, dst = 1 },
			{ cmd = "fetchframe", sequence = "my_animation", frame = 1, dst = 0 },
		}
	}
)
== Parameters ==
Type 	Name 	Description
table	parameters	Sequence parameters (see below).
== Returns ==
IVSSequence - Handle of the created sequence.
== Sequence Parameters ==
The parameters are added as keys in the parameters table. Many of the parameters used are analogues to the $animation and $sequence QC commands used in Source 1.
Name 	Type 	Description
name 	string 	The name of the sequence. (Required)
activities 	array 	List of activities to link the sequence to. Syntax: { { < name = "$" >, < weight = "#" > }, ... }
addlayer 	array 	Adds a list of sequences to play when this one plays.
animevents 	array 	event = "$" >, < frame|cycle = # > [, option = "$" ] }, ... }
autoplay 	bool 	Makes the sequence play at all times, on top of any other animations, no matter what the model is doing.
blendlayer 	array 	Possible syntax: { { < sequence = "$" >, < startframe = # >, < peakframe = # >, < tailframe = # >, < endframe = # > }, ... }
cmds 	array 	Adds a list of commands to run. See below for a list of commands. Syntax: { { < cmd = "$" >, ... }, ... }
delta 	bool 	Tells the animation system that the sequences referenced in this sequence have all been subtracted. 
The sequence will be played on top of whatever sequences are currently playing, rather than overriding them.
fadeintime 	float 	Override how long this animation spends fading in. Default is 0.2.
fadeouttime 	float 	Override how long this animation spends fading out. Default is 0.2.
fps 	int 	Sets the animations speed in frames per second.
framecacheable 	 	
framerangesequence	string 	
hidden 	bool 	Prevents the sequence from being listed in user interfaces. Useful for sequences which serve only as layers of others.
ikLocks 	array 	Adds a list of IK locks to the sequence. Possible syntax: { { < bone= "$" >, < posWeight= # >, < rotWeight= # > }, ... }
looping 	bool 	Makes the sequence loop from the first frame.
node 	 	
numframes 	 	
poseParamX 	string or int	Adds a pose parameter to the sequence, either by index or name.
poseParamY 	string or int	Adds a second pose parameter to the sequence. poseParamX must also be specified
sequences 	array 	Sequences to be included in this one. Also used to set a matrix of sequences for pose parameters to blend between. Syntax: { { < sequence_name >, ... }, ... }
snap 	bool 	Remove all blending when transitioning to this animation. 
This is useful for reaction animations that are the result of sudden and violent changes in the model's state, such as a creature flinching or a weapon firing.
transition 	array 	Syntax: { { < entry = "$" >, < exit = "$" > }, ... }
weightlist 	string or int	Adds a weightlist created with CModelVScriptCompile::CreateWeightlist() to the sequence.
=== Commands ===
These commands are used in the cmds parameter.
Name 	Syntax 	Description
add 	{ cmd = "add", dst = #, src = # } 	Adds two frames together and stores the result in dst.
blend 	 	
copy 	 	
fetchcycle 	{ cmd = "fetchcycle", sequence = "$", cycle = #, dst = # } 	
fetchframe 	{ cmd = "fetchframe", sequence = "$", frame = #, dst = # } 	Fetches a frame from the specified sequence.
fetchframerange	{ cmd = "fetchframerange", sequence = "$", startframe = #, endframe = #, dst = # }	Fetches a number of frames from the specified sequence and places them at the offset specified by dst.
iklockinplace 	 	
ikrestoreall 	 	
lineardelta 	 	
nop 	{cmd = "nop"} 	
reversesequence	{ cmd = "reversesequence", sequence = "$", dst = # } 	
scale 	 	
sequence 	{ cmd = "sequence", sequence = "$", dst = # }, 	
slerp 	{ cmd = "slerp", dst = #, src = # } 	
subtract 	{ cmd = "subtract", dst = #, src = # } 	Subtracts the destination frame from the source frame and places the result in dst.
transform 	 	
worldspace 	{ cmd = "worldspace", dst = #, src = #, weightlist = ? } 	
Category:Scripting