Nimm irgendeinen Charakter, den Du nicht woanders verwendest, z.B. cDave:
[ags] cDave.Transparency = 100;
cDave.ChangeRoom(player.Room, player.x, player.y-80);
cDave.SetAsPlayer();
dDialogSpieler.Start();[/ags]
Jetzt kann sich der Spieler in der Rolle von Dave mit dem eigentlich spielbaren Charakter ganz normal unterhalten, als wäre dieser ein NPC.
Am Ende des Dialogs, vor "stop", machst Du das Ganze rückgängig:
[ags]Bernard: Alles klar, ich mach dann mal weiter.
cBernard.SetAsPlayer();
cDave.ChangeRoom(-1);
stop[/ags]