I like the Action Statements as suggested by Caff.
You get the idea. Not sure if you have anything like this already in place but the concept is brilliant. BTW, the idle command means wait until the previous command is finished until proceeding in the script. That way more than one action can happen simultaneously.
LOCK PLAYER WALK PLAYER 10,40 IDLE ANIM PLAYER 40,104 IDLE GET OBJ 104 IDLE WALK PLAYER 32,12 IDLE ANIM 40, 109 SPEAK KING king1_hello.wav OFFER OBJ 109 UNLOCK PLAYER
You get the idea. Not sure if you have anything like this already in place but the concept is brilliant. BTW, the idle command means wait until the previous command is finished until proceeding in the script. That way more than one action can happen simultaneously.