You can check if the speech overlay is still valid.
2. When he has to say something in background, save the returned overlay pointer:
[code]EGObgspeaking = cEgo.SayBackground("....");[/code]
3. If you want to check whether the text is still displayed, just check if the overlay is still valid via EGObgspeaking.Valid.
If I guessed what you need, you want to make Ego and Man says something simultaneously, then, after that, Ego, says another line, you can do it like:
while ((EGObgspeaking.Valid)&&(MANbgspeaking.Valid)) Wait(1);
However, you can also first check whether EGO or MAN's line will last longer (usually the one with more characters), then use Say instead of SayBackground for that, for example:
cEgo.Say("How are you, man?");
This is simpler I think.