Well I wasn't able to finish my example due to a windows error, can you confirm this? It happens whenever I call the command to make a clone from an OAC. Just paste the code over the #1 example for it to run.
// Messy original code :p
SYNC ON
SYNC RATE 0
SET DISPLAY MODE 1024,768,32
AUTOCAM OFF
load object "media\ai.x",1
yrotate object 1,180
fix object pivot 1
load image "media\ai_D2.DDS",1
texture object 1,1
set object emissive 1,rgb(128,128,128)
position object 1,0,0,0
POSITION CAMERA 35,65,100
POINT CAMERA 0,45,0
EnAn_SetDefaultPlaySpeed 15
EnAn_objExtractAnimation 1, "Run.anim" , 300 , 318
EnAn_objExtractAnimation 1, "Walk.anim" , 235 , 259
EnAn_objExtractAnimation 1, "Pose.anim" , 0 , 0
PoseAnim = EnAn_AnimLoad("Pose.anim")
WalkAnim = EnAn_AnimLoad("Walk.anim")
RunAnim = EnAn_AnimLoad("Run.anim")
// Make OAC array
Dim OAC(20)
// Make base OAC
OAC(1) = EnAn_oacCreate( 1 )
// Clone 20 players and OACs
For I = 2 To 20
Clone Object I , 1
Position Object I , 0 , 0 , -I * 10
OAC(I) = EnAn_oacCreateClone( I , OAC(1) )
Next I
// TBM
Time = Timer()
Do
ElapsedTime = Timer() - Time
Time = Timer()
// Update elapsed
For I = 1 to 20
EnAn_oacUpdate OAC(I) , ElapsedTime
Next I
// Switch anims
If ReturnKey() = 1
For I = 1 to 20
If EnAn_oacGetLimbPlayAnimID( OAC(I) , 1 ) <> WalkAnim
If EnAn_oacGetLimbTransAnimID( OAC(I) , 1 ) <> WalkAnim
EnAn_oacAnimTransition OAC(I) , 1 , WalkAnim , 0 , 0 , -1 , 2000 , 1 , 0
Endif
Endif
Next I
Endif
If SpaceKey() = 1
For I = 1 to 20
If EnAn_oacGetLimbPlayAnimID( OAC(I) , 1 ) <> RunAnim
If EnAn_oacGetLimbTransAnimID( OAC(I) , 1 ) <> RunAnim
EnAn_oacAnimTransition OAC(I) , 1 , RunAnim , 0 , 0 , -1 , 2000 , 1 , 0
Endif
Endif
Next I
Endif
If ShiftKey() = 1
For I = 1 to 20
If EnAn_oacGetLimbPlayAnimID( OAC(I) , 1 ) <> PoseAnim
If EnAn_oacGetLimbTransAnimID( OAC(I) , 1 ) <> PoseAnim
EnAn_oacAnimTransition OAC(I) , 1 , PoseAnim , 0 , 0 , -1 , 2000 , 1 , 0
Endif
Endif
Next I
Endif
Sync
Loop