Bezüglich erst Dialog, dann andere Befehle:
Dialog.Start() wird, wie auch in der Hilfedatei beschrieben, nicht sofort ausgeführt, sondern erst am Ende der Funktion.
Wenn Du also nach Ende des Dialoges Befehle ausführen willst, schreib sie direkt ins Dialogskript, vor den "stop"-Befehl. Man kann nämlich in Dialogen auch herkömmliche Skriptbefehle verwenden, man muss nur mindestens ein Leerzeichen an den Anfang der Zeile setzen.
Falls die Befehle an mehreren Stellen ausgeführt werden sollen, schreib sie in eine Funktion im GlobalScript und ruf die vom Dialog aus auf:
[ags]// in GlobalScript.asc
function Dialog1_Ende() {
player.Walk(240, 176);
player.Say("bla");
object[3].Visible = false;
}
// Dialogskript
...
@2
player: Alles klar.
Dialog1_Ende();
stop
@3
player: Na gut, dann werd ich das tun.
Dialog1_Ende();
stop[/ags]