Nur aus Neugier: Ging es darum, dass
if (IsTimerExpired(... in die
repeatedly_execute muss?
Übrigens kannst Du den SetTimer-Befehl auch in eine zweite RunScript-action schreiben, wenn er nach dem Dialog ausgeführt werden soll (ich wiederhole mich).
Die
dialog_request sollte man nur benutzen, wenn es nicht anders geht, sonst wirds schnell unübersichtlich.
Bei der Gelegenheit:
Wenn man eigene enums definiert, erhalten diese die Werte 1, 2, 3, usw. in der Reihenfolge der Deklaration. Also könnte man zumindest in der
dialog_request (wenn auch nicht im Dialogskript) z.B. sowas verwenden:
function dialog_request(int p) {
if (p==Edna_schaut_boese) { // run-script 1
cEdna.ChangeView(47);
}
...
}
Das geht natürlich auch anderswo, ein tolles Beispiel wäre CallRoomScript(), da kann man nämlich direkt sowas machen:
// global script
CallRoomScript[AlleTuerenZu];
// room script
function on_call(int p) {
if (p==AlleTuerenZu) {
...
}
Und das tollste: Autocomplete funktioniert bekanntlich auch mit enums
