Auslöser – Mappedia

Auslöser

Aus Mappedia
(Weitergeleitet von Trigger)
Wechseln zu: Navigation, Suche


Variablentyp: trigger
extends handle
Funktionen mit trigger als Rückgabewert
Funktionen mit trigger als Parameter

Auslöser (engl. Trigger) sind ein wesentlicher Bestandteil beim Erstellen des Kartenskriptes einer Map. Man kann sich einen Auslöser als einen Befehl an Warcraft III vorstellen, der in der Form "Wenn x passiert, tue y, unter der Bedingung, dass z gegeben ist" formuliert ist. Ohne Auslöser, wäre eine interaktive Karte praktisch undenkbar. Einige wenige Beispiele für Dinge, die nur mit Auslösern möglich sind, sind das Verknüpfen von Maps zu einer Kampagne, das automatische Erstellen von Einheiten wie in einer Tower Defense, Bestenlisten, videoartige Zwischensequenzen in einer Mission und Quests. Fast jede Map braucht Auslöser. Die einzige Art von Map, die ohne Auslöser auskommen kann und auch muss, ist die Nahkampf-Karte.

Aufbau

Auslöser bestehen aus einer Folge von Anweisungen, was zu tun ist (Aktionen), einer Liste von Möglichkeiten, wann das geschieht (Ereignisse), und einer Liste von Bedingungen, mit denen sich einschränken lässt, unter welchen Umständen der Auslöser ausgeführt wird. Aos Trigger Wiederbeleben.jpg

Man sieht in diesem Bild gut das Ereignis. Dieses ist wichtig, da der Auslöser ("Trigger") sonst nicht startet. Anschließend kommt eine Bedingung, sie gibt genau an unter welchen Bedingungen (Umständen) der Auslöser funktionieren soll. In diesem Auslöser zum Beispiel ist als Ereignis der Tod einer Einheit angegeben. Das heißt der Auslöser würde beim Tod einer jeden Einheit anspringen. Durch die Bedingung das die sterbende Einheit ein Held sein muss beschränkt sich dieser Auslöser jetzt nur noch auf Helden. Nun kommen nur noch die Aktionen welche ausgeführt werden sollen sobald ein Held stirbt. In diesem Falle soll der Held nur wiederbelebt werden. Dazu kommt noch eine Textnachricht und fertig. So jetzt sollte der Auslöser funktionieren und wir testen die Karte. Dann lassen wir nur noch einen Held sterben und vóila, es funktioniert.

Ereignis

Das Ereignis bestimmt, wann ein Auslöser aufgerufen wird. Es können bereits im Auslöser-Editor oder zur Laufzeit Ereignisse hinzugefügt werden, allerdings nur im Editor wieder entfernt werden.

Es stehen folgende Arten von Ereignissen zur Verfügung:

- Map Initialisierung (Start der Map, während des Ladebildschirms)
- Destructible Dies (Zerstörbar stirbt - Betrifft Bäume, Türen, Kisten etc.)
- Destructible Within Region Dies (Zerstörbares Objekt innerhalb eines Gebietes stirbt - auf die ersten 64 zerstörbaren Objekte in dem Gebiet beschränkt - später erstellte zerstörbare Objekte werden ignoriert)
- Dialog Button Click (Ein Dialog-Button wurde gedrückt)
- Time Of Day (Tageszeit)
- Value Of Real Variable (Eine Variable des Typs Real erhält eine Relation zu einem bestimmten Wert (Variable darf kein Array sein))
- Game Load (Ein Spielstand wurde geladen)
- Game Save (Das Spiel wird gespeichert)
- Hero Abilities Button Clicked (Heldenfähigkeitsbutton geklickt (nur Singleplayer))
- Build Structure Button Clicked (Baubutton geklickt (nur Singleplayer))
- Tournament Event (Für Battle.net-Turniere)
- Chat Message (Chat-Nachricht)
- Cinematic Skipped (die Esc-Taste wurde während einer Cinematic-Sequenz gedrückt)
- Selection Event (Ein Spieler wählt eine Einheit aus/ab)
- Keyboard Event (Ereignis für die Tastaturpfeile)
- Properties (Eigenschaften (zB Gold, Holz, ...))
- Alliance Change (Any/Specific) (Ein Spieler ändert die Verbündeten-Einstellungen)
- Victory (Spieler gewinnt)
- Defeat (Spieler verliert)
- Time Elapsed (Zeit vergangen)
- Periodic Event (Periodisches Ereignis)
- Timer Expires (Timer erreicht 0:00:00)

Bedingung

Tritt das Ereignis ein, wird ein Auslöser auf die Bedingungen überprüft. Sind alle Wahr (True) (außer wenn Or benutzt wird dann muss es nur eine sein), so werden die Aktionen ausgeführt. Dieser Abschnitt ist vergleichbar mit der If-Anweisung.

Es stehen folgende Vergleiche zur Verfügung:

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Warcraft-Mapping
Werkzeuge