Hauptmenü

Neuigkeiten:

Bitte unterstützt uns und bestellt über diese Links bei Amazon  oder HumbleBumble!

Abfrage eines Timers funktioniert nicht richtig

Begonnen von Siel, 16. November 2008, 13:59:30

Vorheriges Thema - Nächstes Thema

Siel

Ich werde für ein Rätsel meiner Episode einen Timer verwenden, um bestimmte Ereignisse Zeitabhängig zu starten.
Ich dachte mir zuerst, dass die Abfrage auf diese Weise funktionieren würde:
Zitat
if(IsTimerExpired(1)==true){
  (auszuführende Aktionen)
}
Ich platzierte diese Funktion im "Repeatedly execute"-Bereich, da das Scrupt ja immer wieder abgefragt werden soll.
Da AGS allerdings diese Bedingung jede Sekunde neu Abrfragte, brach das Script immer nach genau einer Sekunde ab.
Zunächst dachte ich, ich könnte das ganz über folgendes Script umgehen, indem ich das ganze auf eine Globale Variable auslagere:
Zitat
if(IsTimerExpired(1)==true){
  TelefonZurueck=1;
}
if(TelefonZurueck==1){
  (Auszuführende Aktionen)
  TelefonZurueck=0;
}
Allerding fragte AGS auch dies wieder jede Sekunde ab (logisch) aber setzte dadurch auch immer die Variable zurück auf Null, sodass das Script erneut nach einer Sekunde abbrach.

Daher jetzt meine Frage: Wie kann ich diesen Fehler umgehen und AGS dazu bringen, dass es die Variablen nicht zurücksetzt, bzw, das Script abbricht?
Die Vergangenheit ist im Nachhinein meist eine schlechte Idee.

NsMn

Versuch doch mal,"true" durch 1 zu ersetzen.Die Funktion fragt nämlich eigentlich nur den Stand des Timers ab.

Siel

Die Vergangenheit ist im Nachhinein meist eine schlechte Idee.

Timer

Bei mir funktioniert ein... if (IsTimerExpired (1)) {
  (Aktionen)
}

...im repeatedly_execute ohne Probleme. Bist du sicher, dass dein Fehler da liegt, oder könnte er auch von etwas anderem verursacht werden?

NsMn

Vllt hast du den Timer in rep_execute auf einen wert gesetzt?

Siel

#5
Zitat von: TimerBist du sicher, dass dein Fehler da liegt, oder könnte er auch von etwas anderem verursacht werden?
Ich wüsste zumindest nicht, wo der Fehler sonst liegen könnte...  ???

Zitat von: edna_mausiVllt hast du den Timer in rep_execute auf einen wert gesetzt?
Nein, das habe ich bereits überprüft.

Edit: Das Problem hat sich erledigt. Trotzdem Danke. (Ich bin aber auch so was von doof)
Die Vergangenheit ist im Nachhinein meist eine schlechte Idee.