Misc Extern Notes
There's a ton of externs that are undocumented. This is a pathetic attempt to document them all
Over the past year or so I've added some animation control via APE. You can set entities to hold specific frames, play animations, set up sequences of animations, etc.
ANIM_PlaySequence [handle] [anim] [subid]
[handle]: Entity reference
[anim]: Animation name
[subid] Animation sub id
Example: extern ANIM_PlaySequence handle amb_ a
This plays the specified animation/subanim on the given edict. Because this function sucks you need the _ after the anim name.
ANIM_Stop [handle]
[handle]: Entity reference
Example: extern ANIM_Stop handle
This function stops all animations on the given handle and puts him in the ambient.
ANIM_MakeStupid [handle]
[handle]: Entity reference
Example: extern ANIM_MakeStupid handle
This forces the entity into server animate mode--meaning it will idle regardless of how you move it.
ANIM_MakeSmart [handle]
[handle]: Entity reference
Example: extern ANIM_MakeSmart handle
This forces the specified entity into smart animate mode.
ANIM_SetFrame [handle] [frame]
[handle]: Entity reference
[frame]: Animation frame
Example: extern ANIM_Frame handle 200
This forces the entity to hold at the specified animation frame.
ANIM_PlayAnim [handle] [state] {[loop] [flush] [holdframe]}
[handle]: Entity reference
[state]: Animation name
[loop] Loop this animation
[flush] Flush out current animation and play this one
[holdframe] Hold last frame of this animation
NOTE: loop/flush/holdframe must ALL be included if you want to loop or flush.
Example: extern ANIM_PlaySequence handle amb_a 0 1 0
This plays the specified animation on the given edict with style parameters. The parameters are numbers (either 0 or 1) that determine if you are flushing out the current animation, looping, or holding the frame. This is a much more robust version of playsequence and should be used instead.
assign [startelement] [value1] [value2] [value3] ...
[startelement]: e.g. a[10] will start assigning with tenth element of a
[value1]: Follow with values for successive elements
This is for assigning multiple elements of an array at once, rather than successive statements.
Example: extern assign d[25] 2 14 -3 2 0 1
Example: extern assign d[$index$] 2 14 -3 apevar 0 apevar2
(Note: eventually, the dollars signs in $var$ will be no longer necessary.)