ja, sure thing, here's the code ...

;---8<---
break On

$path = "%windir%\msagent\chars\merlin.acs"

$agent = createobject ("agent.control.2")

$agent.connected = 1

$= $agent.characters.load("merlin",$path)

$merlin = $agent.characters.character("merlin")

$= $merlin.moveto(400,200)

$= $merlin.show()

$wait = $merlin.play("announce" )

do sleep 0.25 until $merlin.wait($wait) <> 0

?"After announce..."

$wait = $merlin.speak("Hello! I am a basta !" )

do sleep 0.25 until $merlin.wait($wait) <> 0

?"After I am basta..."

$wait = $merlin.speak("Jooel is a basta !" )

do sleep 0.25 until $merlin.wait($wait) <> 0

?"After Jooel basta..."

$wait = $merlin.speak("Wouldn't you like to be a basta too ?" )

do sleep 0.25 until $merlin.wait($wait) <> 0

?"After you basta..."

exit 0

;---8<---

The important bit is this here:

$wait = $merlin.speak("Hello! I am a basta !" )

do sleep 0.25 until $merlin.wait($wait) <> 0

Basically means "start merlin speaking, and save a handle to that activity in a variable called $wait. Then do a sleep 0.25 (ms) until the $wait finishes (when wait($wait) <> 0 - merlin is finished speaking).

-Shawn