Änderungen

Wechseln zu: Navigation, Suche

AOQML-Manual

214 Bytes hinzugefügt, 21:16, 6. Mär. 2017
keine Bearbeitungszusammenfassung
'''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><code syntaxhighlight lang="xml">...</code></nowiki>. Will man dazu noch eine Zeilenanzeige, nutzt man dieses <nowiki><code xml n>...</codesyntaxhighlight></nowiki>.
Tags werden in spitze Klammern eingeschlossen. Jeder Tag erfordert ein öffnendes (z. B. &lt;challenge&gt;) und ein schließendes Element. Schließende Elemente werden mit einem / nach der Klammer begonnen (&lt;/challenge&gt;). 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:'''
<code syntaxhighlight lang="xml">
<tag1>
<tag2>
</tag2>
</tag1>
</codesyntaxhighlight>
'''falsch:'''
<code syntaxhighlight lang="xml">
<tag1>
<tag2>
</tag1>
</tag2>
</codesyntaxhighlight>
Es gibt einige Tags, die kein zweites zum Schließen erfordern. Bei diesen wird das / an das Ende gesetzt:
<code syntaxhighlight lang="xml"><set attribute="cash" inc="20"/></codesyntaxhighlight>
Außerdem kann man eine Szene (beispielsweise nach einem include oder choice, das zu einer Abzweigung führt) vorzeitig abbrechen lassen, wenn folgender Code eingegeben wird:
<code syntaxhighlight lang="xml"><quest status="continue" /></codesyntaxhighlight>
==Aufbau der XML-Datei==
Jede Datei muss mit diesem Grundgerüst beginnen:
<code syntaxhighlight lang="xml n">
<?xml version="1.0" encoding="UTF-8"?>
<scene xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://eisentrutz.antamar.eu/aoqml.xsd">
...
</scene>
</codesyntaxhighlight>
Erst wird der Inhalt der datei als XML nach Sprachversion 1.0 definiert, danach folgt das Tag &lt;scene&gt;...&lt;/scene&gt;. Außerhalb dieses Tags darf nichts stehen, mit Ausnahme der XML-Definition und Kommentare, die wie folgt gemacht werden können:
<code syntaxhighlight lang="xml">
<!-- hier folgt eine Erklärung -->
</codesyntaxhighlight>
===Formatierung===
Für bessere Lesbarkeit und Übersicht bitte alle Ebenen um zwei Stellen (zwei Leerzeichen) gegenüber der darüber liegenden Ebene einrücken:
<code syntaxhighlight lang="xml">
<Ebene1>
<Ebene2>
</Ebene2>
</Ebene1>
</codesyntaxhighlight>
===Zeichensatz===
===Zufallsauswahl aus mehreren Möglichkeiten===
Will man z.B. einen von mehreren Gegenständen einer Liste abfragen, dann kann man einen [[random]]-Block vorschalten:
<code syntaxhighlight lang="xml n">
<random>
<case><store name="Gegenstand">Holzkamm</store></case>
</random>
<take item="${Gegenstand}"/>
</codesyntaxhighlight>
Alternativ kann das [[take]] auch direkt in den jeweiligen case reingeschrieben werden.
===ODER und UND===
Will man prüfen, ob der Held einen von mehreren möglichen Gegenständen bei sich trägt, kann man das mit dem Operator "|" (entspricht einem ODER) erreichen:
<code syntaxhighlight lang="xml n">
<has item="Messer|Dolch|Schwert">
<success>
</failure>
</has>
</codesyntaxhighlight>
Man kann auch auf überprüfen, ob mehrere Gegenstände vorhanden sind:
<code syntaxhighlight lang="xml n">
<has item="Messer+Dolch">
<success>
</failure>
</has>
</codesyntaxhighlight>
Das "+" entspricht also einem UND.<br />
3.459
Bearbeitungen

Navigationsmenü