2.841
Bearbeitungen
Änderungen
→AOQML-Tags
'''Wichtig für die Bearbeitung und Darstellung hier im Wiki:''' Es gibt ein SyntaxDarstellungssystem. Um wunderbare Beispiele anzeigen zu lassen, muss ein xml-Code lediglich von diesem Tag umschlossen sein: <nowiki><syntaxhighlight lang="xml">...</syntaxhighlight></nowiki>.
==AOQML Syntax==
Tags werden in spitze Klammern eingeschlossen. Jeder Tag erfordert ein öffnendes (z. B. <challenge>) und ein schließendes Element. Schließende Elemente werden mit einem / nach der Klammer begonnen (</challenge>). Alles, was zwischen den beiden Tags steht, ist der Bedingung oder Aktion unterworfen, die das Tag bestimmt. Tags können verschachtelt werden, dabei muss darauf geachtet werden, dass die Ebenen sauber getrennt sind. Das heißt, man darf kein Tag schließen, wenn nicht alle unterhalb dieses Tags geöffneten geschlossen sind:<br/>
'''richtig:''' <<syntaxhighlight lang="xml"><tag1>> < <tag2>> < </tag2>> <</tag1>></syntaxhighlight>
'''falsch:''' <<syntaxhighlight lang="xml"><tag1>> < <tag2>> < </tag1>> <</tag2>></syntaxhighlight>
Es gibt einige Tags, die kein zweites zum Schließen erfordern. Bei diesen wird das / an das Ende gesetzt:
==Aufbau der XML-Datei==
link: [[Beispiel einer Zufallsbegnung in aoqml]] zur Veranschaulichung
===Grundgerüst===
Jede Datei muss mit diesem Grundgerüst beginnen:
==AOQML-Tags==
Bisher können folgende Tags benutzt werden (alphabetische Liste):
*[[switch#case|caseaction]] - für Fallunterscheidungen → Aktionen die den Helden betreffen, z.B. Annahme einer Arbeit / Einsperren im Kerker*[[switchadd-EP]]- geb. EP für Fertigkeiten vergeben*[[random#case|case]] - für Fallunterscheidungen → [[switch]] und Zufallsauswahlen → [[random]]
*[[challenge]] - für Proben auf Talente und Eigenschaften
*[[Chat (Tag)|chat]] - für das Einbinden eines Chatfensters.
*[[choice]] - gibt dem Spieler verschiedene Auswahlmöglichkeiten vor
*[[fight#death|deathcountdown]] - Kampfergebnis: Held tot (zeigt an, wie lange eine Variable noch nicht implementiert) → [[fight]]besteht
*[[fight#defeat|defeat]] - Kampfergebnis: Held besiegt → [[fight]]
*[[delay]] - Reise des Helden verzögern
*[[AOQML:desc|desc]] - Liefert eine Beschreibung
*[[damage]] - verursacht Schadenspunkte beim Held (auf Wunsch mit/ohne Wunden)
*[[debug]] - Inhalte zum Testen auf dem Testserver bereitstellen
*[[div]] - erzeugt eine OOC-Box
*[[drop]] - Gegenstand aus Ausrüstungsliste entfernen
*[[eval]] - Tag zum berechnen einfacher und komplexer mathematischer Funktionen *[[switch#else|else]] - Fallunterscheidungen: Default-Option → [[switch]]
*[[fight#escape|escape]] - Kampfergebnis: Held flüchtet → [[fight]]
*[[failure]] - Prüfergebnis / Probe negativ → [[challenge]], [[has]]*[[for]] - Erstellen von Schleifen*[[store_fetch|fetch]] - gespeicherten Wert abrufen → [[store_fetch|store]]
*[[fight]] - Kampf
*[[get_set|function]] - spezielle Funktionen*[[generateName]] - Zufallsnamen generieren*[[get]] - Attribute des Helden oder eines Gegenstandes oder eines Gebäudes abfragen
*[[has]] - auf vorhandene Ausrüstung und Talente prüfen
*[[hero]] - Held aus Gruppe heraussuchen
*[[if]] - für bedingte Text- oder Wertauswahl
*[[img]]- um Bilder einzubinden
*[[include]] - andere Questdateien einbinden
*[[input]] - ein Eingabefeld anzeigen*[[inventar]]- Tag der verschiedene Gegenstände in sich speichert um z.B. Truhen oder ähnliches zu simulieren.*[[AOQML:item|item]] wählt ein zufälligen Gegenstand aus der DB*[[item-select]] - einen Gegenstand vom Spieler auswählen lassen*[[map]] - fügt eine Grafik ein, auf der Questlinks platziert werden (z.B. für grafische Dungeons)*[[maze]] - fügt eine Karte der gesehenen+erinnerten "Räume" aus Kachel-Grafiken ein (für grafische Dungeons)*[[paths]] - geografische Richtungsnavigation*[[q]] - wörtliche Rede (?)*[[Quest (Tag)|quest]] - zur Steuerng Steuerung der Queste, z. B. um eine Quest als (noch nicht) abgeschlossen zu markieren
*[[random]] - Zufallsauswahl
*[[ranged-defence]] - NPCs attackieren den Held mit Fernkampfwaffen*[[Regeneration (AOQML)|regeneration]] - Stoppt die Regeneration für den Held in der Quest.*[[restrict]] - Stellt sicher das bestimmte AOQML-Teile nur einmal pro Held ausgeführt werden.*[[retain_replay|replay]] - gespeicherte Aktionsfolge abrufen, → [[retain_replay|retain]]*[[retain_replay|retain]] - Aktionsfolge speichern→ [[retain_replay|replay]]
*[[reverse]] - Held muss an den zuletzt besuchten Ort zurückkehren
*[[fight#rivals|rivals]] - im Kampf: Gegner festlegen
*[[scene]] - oberstes Tag, definiert Beginn und Ende der XML-Datei
*[[get_set|select]] - Wahl des handelnden/betroffenen Helden in der Gruppe *[[set]] - Werte des Helden verändern*[[steal]] - Begleiter entfernen (= gemeiner Viehraub!) *[[store_fetch|store]] - Wert speichern um später darauf zugreifen zu können → [[store_fetch|fetch]]*[[success]] - Prüfergebnis / Probe positiv → [[challenge]], [[has]]
*[[switch]] - Fallunterscheidung
*[[take]] - Gegenstand in die Ausrüstungsliste legen
*[[transfer]] - Austausch von Gegenständen zwischem Held und einem Behälter
*[[travel]] - startet eine Reise
*[[var-dump]] - gibt gesetzte Variablen aus -> hilft beim Debuggen
*[[fight#victory|victory]] - Kampfergebnis: Gegner durch Held besiegt