Quest (AOQML): Unterschied zwischen den Versionen
Enno (Diskussion | Beiträge) (→"pending": Warnung eingefügt) |
(finished, failed und aborted sind veraltet) |
||
Zeile 30: | Zeile 30: | ||
==="continue"=== | ==="continue"=== | ||
Bricht den Rest der Seitenausgabe ab und fährt mit dem Quest fort. | Bricht den Rest der Seitenausgabe ab und fährt mit dem Quest fort. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===""=== | ===""=== | ||
Zeile 53: | Zeile 35: | ||
reserviert. Am Ende einer ZB wird dieser Status automatisch gesetzt. | reserviert. Am Ende einer ZB wird dieser Status automatisch gesetzt. | ||
Alle Quest-Variablen und der Quest-Status werden dabei gelöscht. | Alle Quest-Variablen und der Quest-Status werden dabei gelöscht. | ||
+ | |||
+ | ===Veraltete Status=== | ||
+ | In älteren Questen trifft man vielleicht noch auf "finished", "failed" oder "aborted". Diese sollen nicht mehr benutzt werden -> in den meisten Fällen tut es "ended". | ||
==frequency="oft|selten|rar|nie"== | ==frequency="oft|selten|rar|nie"== |
Version vom 1. April 2010, 14:32 Uhr
<quest status="QUESTSTATUS" target="SZENENNAME"/>
Setzt den Status des Quests.
Inhaltsverzeichnis
status="xyz"
An Stelle von "xyz" wird einer der Stati angegeben:
"rejected"
Hiermit wird dem Helden das Quest verwehrt, z.B. weil er bestimmte Anforderungen nicht erfüllt. Dieser Status darf nur in der Startszene gesetzt werden. Die Szene wird dann gar nicht erst angezeigt.
"running"
Hiermit wird ein Quest gestartet. Praktisch wird ein persistenter Speicherbereich für die szenenübergreifenden Variablen des Quests angelegt. Während ein Quest im Status "running" ist, kann man auch nicht außerhalb des Quests den Ort wechseln, keine Arbeit annehmen etc. Dieser Status wird üblicherweise ganz am Anfang der Startszene gesetzt.
"pending"
Damit wird das Quest temporär unterbrochen und beim nächsten Laden der Hauptseite an dieser Stelle fortgesetzt. In der Regel prüft man Bedingungen bevor ein Quest pausiert wird, damit es nur bei deren Erfüllung fortgesetzt wird. Das quest-Tag verfügt über das optionale Attribut target. Nur im Status pending wird das Attribut target ausgewertet. Es gibt an, mit welcher Szene das Quest fortgesetzt werden soll.
ACHTUNG STOLPERFALLE: Sobald eine Szene mit pending abgeschlossen wird, darf der Benutzer wieder alle normalen Spielfunktionen ausüben. Weiterhin wird die Szene jedesmal wieder aktiv ausgewertet, um auf veränderte Bedingungen reagieren zu können. Damit wird die Szene bei einem Neuladen nicht aus dem Cache geladen sondern immer wieder neu ausgeführt. Deshalb sollte man es in einer pending-Szene tunlichst vermeiden, Items oder EPs zu verteilen!
"ended"
Dieser Status wird gesetzt, wenn das Quest beendet wurde und wiederholbar sein soll. Dabei ist es egal, ob es erfolgreich oder erfolglos beendet wurde. Alle Quest-Variablen werden dabei gelöscht.
"continue"
Bricht den Rest der Seitenausgabe ab und fährt mit dem Quest fort.
""
Dieser Status wird ausschließlich intern verwendet und ist für Zufallsbegegnungen reserviert. Am Ende einer ZB wird dieser Status automatisch gesetzt. Alle Quest-Variablen und der Quest-Status werden dabei gelöscht.
Veraltete Status
In älteren Questen trifft man vielleicht noch auf "finished", "failed" oder "aborted". Diese sollen nicht mehr benutzt werden -> in den meisten Fällen tut es "ended".
frequency="oft|selten|rar|nie"
Dieses Attribut bestimmt die Wahrscheinlichkeit einer Questwiederholung. Es sollte bei jedem Questende (status=ended) mit angegeben werden, falls es nicht angegeben wurde, entspricht das der Häufigkeit oft.
target="Szenenname"
Dieses Attribut ist optional. Nur im Status pending wird es ausgewertet. Es gibt an, mit welcher Szene das Quest fortgesetzt werden soll. Wird es nicht angegeben, wird das pausierte Quest mit der Szene, in der es pausiert wurde, fortgesetzt.