Anim scripting

Lightfoot OK, So I have a dog that is sleeping on the sidewalk. When you give him a bone he takes it and runs off. But I have 3 loops. The first one is him sleeping, the second is him sniffing the bone ,waking up and putting it in his mouth, and the third is him running away.

I can get the sleeping loop to play by default, but when I give him the bone and it switches to the 2nd loop, I have no way of triggering the third loop at the end of the second loop.
Lightfoot I went through the states tutorial and got that working. But I can't seem to pass the "RoomScript" param to the SetLoop function.
Lightfoot I don't know if this is the best way to do it...
but this is what I've done.

in game.sc

(method(DogAct dact)
(if(paramTotal)
= DOGACT dact
)
return(DOGACT)
)

Then whenever I want to set it to a new state.

(send gGame:DogAct(1))

and to check it's state

(if(== (send gGame:DogAct()) 1)
Print("This is stage one of the dog action sequence.")
)


It works, but I wonder if there is an easier way to have a multiroom actor sequence.