why not just use a timer?
hail the npc, if target check passes, they go "active" and start listening for x amount of time... then go inactive again and wait for a hail...
as long as they are active, each line you say to them will reset the timer to it's full value...
so you give a player say... a minute to respond to each line from the npc maybe?
only drawback really is if they get a tell or something while talking to the npc and wait too long... then they have to start all over :P
|