Trigger Queue

Aus Mappedia

Wechseln zu: Navigation, Suche

Mit der Trigger Queue (zu deutsch etwa: Auslöserschlange) kann man Auslöser hintereinander ausführen lassen. Sie funktioniert wie eine Warteschlange, an der sich alle Trigger anstellen, die mit der trigger queue ausgeführt werden. Sie warten also, bis der Auslöser vor ihnen fertig ist, bevor sie ihre Aktionen abarbeiten.

Inhaltsverzeichnis

[bearbeiten] Problem

Man hat verschiedene Auslöser, die erst unterschiedlich lang warten, und dann eine Zahl ausgeben. Diese Trigger sollen der Reihe nach ausgeführt werden, so dass sich die Waits addieren. Es soll also erst Auslöser 1 ausgeführt werden, mit seinem vollen Wait, danach soll der zweite Auslöser ausgeführt werden, wieder mit seinem ganzen Wait, usw.

[bearbeiten] Die problematischen Trigger

Mein Auslöser
Ereignisse
Bedingungen
Aktionen
Auslöser - Run Trigger1 <gen> (checking conditions)
Auslöser - Run Trigger2 <gen> (checking conditions)
Auslöser - Run Trigger3 <gen> (checking conditions)
Trigger1
Ereignisse
Bedingungen
Aktionen
Wait 3.00 game-time seconds
Spiel - Display to (All players) the text: 1
Trigger2
Ereignisse
Bedingungen
Aktionen
Wait 7.00 game-time seconds
Spiel - Display to (All players) the text: 2
Trigger3
Ereignisse
Bedingungen
Aktionen
Wait 4.00 game-time seconds
Spiel - Display to (All players) the text: 3

Da die Auslöser gleichzeitig starten, wird das allerdings nicht funktionieren.

[bearbeiten] Erwartetes Ergebnis

  • 3 sec wait
  • "1"
  • 7 sec wait
  • "2"
  • 4 sec wait
  • "3"

[bearbeiten] Tatsächliches Ergebnis

  • 3 sec wait
  • "1"
  • 1 sec wait
  • "3"
  • 3 sec wait
  • "2"

[bearbeiten] Lösung

Man will die Trigger also aufeinander warten lassen. Das geht, indem man sie in die trigger queue einreiht. Dabei ist allerdings wichtig, dass die Auslöser um eine Aktion erweitert werden, die dafür sorgt, dass sie wieder aus der trigger queue entfernt werden. Kurioser Weise, erkennt der Editor nicht, wann der Auslöser zu Ende ist und wartet sich dumm und dämlich, wenn man diese Aktion vergisst.

[bearbeiten] Die korrigierten Trigger

Mein Auslöser
Ereignisse
Bedingungen
Aktionen
Auslöser - Add Trigger1 <gen> to the trigger queue (Überprüfen conditions)
Auslöser - Add Trigger2 <gen> to the trigger queue (Überprüfen conditions)
Auslöser - Add Trigger3 <gen> to the trigger queue (Überprüfen conditions)
Trigger1
Ereignisse
Bedingungen
Aktionen
Wait 3.00 game-time seconds
Spiel - Display to (All players) the text: 1
Auslöser - Remove (This trigger) from the trigger queue
Trigger2
Ereignisse
Bedingungen
Aktionen
Wait 7.00 game-time seconds
Spiel - Display to (All players) the text: 2
Auslöser - Remove (This trigger) from the trigger queue
Trigger3
Ereignisse
Bedingungen
Aktionen
Wait 4.00 game-time seconds
Spiel - Display to (All players) the text: 3
Auslöser - Remove (This trigger) from the trigger queue

Auf diese Weise erhalten wir das gewünschte Ergebnis.

Besucherstatistiken
kostenlose Statistik
Seit dem 25. Oktober 2006 18:00 Uhr