AOQML für Anfänger

Aus AntamarWiki
Version vom 20. Mai 2010, 20:51 Uhr von Enno (Diskussion | Beiträge) (3. Szenen ordnen: tote Enden haben roten Rand)
Wechseln zu: Navigation, Suche

WICHTIG: Momentan ist diese Seite noch nicht fertig! Bitte erst dann als Vorlage nutzen, wenn sie freigegeben ist.

1. Den Editor benutzen

XML ist nicht so leicht lesbar, wie die Programmierer immer behaupten. Der AOQML-Editor erleichtert das Programmieren gerade für Einsteiger erheblich, da er einen geeigneten Rahmen bietet und zumindest einen Teil der üblichen Fehler im Vorfeld erkennen kann. Ladet ihn einfach herunter (http://aoqml.isonweb.de/) und speichert ihn in einem Ordner für eure eigenen Questen. Damit die nachfolgenden Schritte funktionieren braucht ihr Java in einer einigermaßen aktuellen Version. Diese könnt ihr hier herunterladen.

Aoqml 01.JPG

Ein Doppelklick öffnet ihn.

Aoqml 02.JPG

Das Feld "Quest" öffnet 3 Möglichkeiten: Man kann eine neue Quest anlegen, eine schon im Ordner vorhandene Quest laden oder durch Beenden den Editor schließen.

Aoqml 03.JPG

Wir müssen natürlich erst einmal eine erste Quest anlegen.

Aoqml 04.JPG

Gespeichert wird sie im entsprechenden Ordner, in dem auch der Editor ist. Natürlich benötigt sie einen Namen. Er sollte einfach und eindeutig sein und einen Hinweis auf den Inhalt bieten. Wir nennen die erste Quest fantasievoll testquest 01.

Aoqml 05.JPG

Die Queste wird jetzt als eigener Unterordner für die einzelnen Dateien in dem Questordner angelegt. Außerdem erscheint im Editor jetzt die grafische Übersicht über die einzelnen Dateien. Da wir noch keine Datei geschrieben haben ist auch noch keine zu sehen - außer der Datei start, die immer vorhanden sein muss und daher automatisch erstellt wird. Da sie noch leer ist, wird sie rot dargestellt.

Aoqml 06.JPG

Ein Doppelklick öffnet die Datei start.

Aoqml 07.JPG

Wenn man auf einem Netbook mit "kompaktem" Monitor arbeitet, so wie ich, kann es vom Platz her etwas eng werden... In dem Fall sollte man als erstes einige Leerzeilen unter </szene> setzen. Große Monitore sind deutlich von Vorteil. Man kann das Fenster verschieben und in der Größe verändern.

Aoqml 08.JPG

2. Die erste Szene schreiben

Nachdem die Szene "start" geöffnet ist, beginnen wir mit einer einfachen Queste.

Die Zeile <quest status="running"/> am Anfang steht nur in der Szene start, in den anderen ist sie nicht nötig. Die Zeile </scene> steht am Ende der Dateien (=Szenen), um diese zu schließen. Der restliche Code wird zwischen diese beiden Zeilen geschrieben.

Wir beginnen die Queste mit einem kleinen Einführungstext. Dazu schreiben wir zwischen die beiden Zeilen < p>. Der Editor erweitert dies sofort zu < p>< /p>. Hinweis: Das Leerzeichen zwischen < und p dient nur dazu, das Wiki zu überlisten - das würde sonst die Befehle interpretieren... Gilt auch im folgenden.

Aoqml 09.JPG

< p> öffnet die Textausgabe, < /p> schließt sie wieder. Den Text kann man direkt dazwischen schreiben. Er wird dann in der Quest als normaler Text ausgegeben. Wörtliche Rede von Charakteren wird zwischen < q></ q> geschrieben und dann automatisch kursiv und mit Anführungszeichen ausgegeben. Wir nehmen folgenden Text:

Gerade als du beim Wirt etwas zu Essen bestellen willst, fällt dein Blick auf einen Zettel an der Wand der Kneipe. Anders als die anderen Aushänge und Notizen, die schon von Kerzenruß und Staub vergilbt sind, scheint er ziemlich neu zu sein.

Aoqml 10.JPG

Wenn wir das so lassen, würde die Queste nur den Text anzeigen und keine weiteren Funktionen bieten. Der SC würde festhängen. Aber natürlich lassen wir sie nicht so! Stattdessen geben wir dem Spieler zwei Optionen vor, wie er weiter verfahren kann.

Dafür tippen wir erst einmal hinter dem < /p> Enter, um eine Zeile nach unten zu kommen, und geben dann < ul> ein, was sich wie gewohnt zu < ul>< /ul> verändert. Dieses < ul> sorgt dafür, das die geplanten Links in der Queste schön untereinander gezeigt werden, nicht hintereinander.

Um Platz zu haben setzen wir den Cursor zwischen die beiden Befehle und drücken drei mal Enter, dann die Taste <--. Jetzt haben wir zwischen den ul zwei freie Zeilen. Der Editor rückt automatisch alles ein, was wir dazwischen eingeben. Das vereinfacht die Übersicht erheblich, wenn wir größere Szenen schreiben.

Aoqml 11.JPG

In die beiden leeren Zeilen geben wir < li> ein. Das sorgt dafür, das die Optionslinks mit einem Aufzählungspunkt beginnen, was hübscher aussieht.

Aoqml 12.JPG

Wenn der | zwischen den Befehlen sitzt (so: < li>|< /li> ) klicken wir links auf die Taste <choice.../>. Dadurch wird automatisch der Befehl <choice target="">...</choice> eingefügt. Dieser Befehl erzeugt in der Queste dann den eigentlichen Link. Er muss zwischen beiden li eingefügt werden!

Aoqml 13.JPG

So leer würde der Link aber nur ... anzeigen - und, wenn man ihn anklickt, ins leere führen! Also müssen wir beide Befehle füllen. Zunächst einmal mit den Texten, die als anklickbarer Link angezeigt werden. Wir nehmen die beiden Texte "Desinteressiert wendest du dich deinem Essen zu." und "Das siehst du dir aus der Nähe an.". Sie ersetzen die ... .

Aoqml 14.JPG

Jetzt würde die Queste zwar die Texte als Links anzeigen, die würden aber immer noch ins leere führen. Also muss noch jeweils eine Zieldatei angegeben werden, und zwar zwischen die "". Da es noch keine Dateien außer start gibt, können wir uns die Namen frei aussuchen. Wir nehmen für die obere Option abbruch und für die untere zettel. Hinweis: Bitte klein schreiben, ä, ö, ü und ß vermeiden und _ statt Leerzeichen benutzen, sonst kann es Probleme geben!

Aoqml 15.JPG

Damit wäre die Datai "start" soweit fertig. Also klicken wir oben auf speichern. Dann schließen wir die Datei mit dem kleinen grauen x oben rechts (das große rote schließt den ganzen Editor). Jetzt sollte etwa folgendes zu sehen sein:

Aoqml 16.JPG

3. Szenen ordnen

Das Fenster kann man vergrößern, den Zoom benutzen und die Dateien hin und her ziehen, bis sie gut liegen. Es sollte übersichtlich sein, etwa so:

Aoqml 17.JPG

Die Funktion Explodieren sollte mit Vorsicht genossen werden, sie ordnen alle Szenen als Kreis an - was die Ordnung nicht unbedingt verbessert. Justieren hingegen ist nützlich, wenn man viele Szenen hat, denn dann wird die Ansicht neu zentriert. Die durchgehenden schwarzen Pfeile bedeuten, dass man von der Szene "start" zu den beiden anderen Szenen springen kann. Da sie noch leer sind, sind sie rot dargestellt. "start" hingegen ist grün, was bedeutet, das der Editor keine Fehler erkannt hat. Der dünne braune Rand bedeutet, dass die Queste in dieser Szene nicht beendet wurde. Achtung ein roter Rand zeigt an, dass keine Folgeszene angegeben wurde und die Quest nicht explizit mit < quest status=.. beendet wurde. Dies bedeutet ein totes Ende an dem der SC festhängt. Derart gekennzeichnete Szenen dürfen im Livesystem nicht vorkommen!

4. Die Queste abbrechen

Wenden wir uns der Szene "abbruch" zu. Wir öffnen sie per Doppelklick. Der | wird oberhalb von </scene> platziert und dann auf <quest.../> geklickt. Zwischen die "" tippen wir "ended" ein. Damit endet die Queste hier ohne weitere Fisematenten. Man könnte auch noch einen Abschlusstext eingeben, aber das lassen wir erst einmal.

Aoqml 18.JPG

Wieder speichern wir. "abbruch" ist jetzt grün und hat einen dicken braunen Rand. Also ist die Szene korrekt geformt und die Queste endet hier. Pfeile zu anderen Szenen gibt es nicht.

Aoqml 19.JPG

Es gibt auch andere Möglichkeiten, eine Quest zu beenden, aber vorerst reicht ended völlig aus.

5. Has-Abfragen

Weiter geht es mit der Szene "zettel". Wir öffnen sie wie gehabt und bauen einen kleinen Text ein.

Aoqml 20.JPG

Aber kann der SC überhaupt lesen? Um das herauszufinden setzen wir eine neue Zeile unter den Text und klicken <has.../> an. Es erscheint wieder ein Befehls-Rohling, in dem allerdings mehr enthalten ist als wir gebrauchen können.

Aoqml 21.JPG

Da wir feststellen wollen, ob der SC das Talent "Imperiale Zeichen" beherrscht, löschen wir die Optionen item (= Gegenstand im Inventar), attribute und quality (= Rasse, Volk etc.) samt den |. Zwischen die "" setzen wir Imperiale Zeichen. Achtung, es ist wichtig, die korrekten Namen der Talente zu benutzen!

Aoqml 22.JPG

Damit wird jetzt festgestellt, ob das Talent überhaupt aktiviert wurde. Wir fügen aber hinter das zweite " noch min="1" ein. Damit wird festgestellt, ob das Talent auch mindestens mit dem Wert 1 oder höher erlernt wurde. Man könnte auch eine höhere Zahl abfragen, wenn es ein besonders komplizierter Text wäre.

Aoqml 23.JPG

Die Queste würde jetzt in orange etwa folgendes anzeigen: hat Imperiale Schrift >1. Da das optisch nicht sehr schön ist, verstecken wir die Anzeige, indem wir noch show="none" anfügen. Damit bleibt die Abfrage für den Spieler unsichtbar. So kann man auch Proben verstecken, wenn der Spieler nicht wissen soll, ob oder was geprobt wird.

Aoqml 24.JPG

Was und wie abgefragt wird steht fest - aber noch nicht, was das Ergebnis ist. Also fügen wir zunächst einmal zwischen <failure></failure> einen entsprechenden Text ein, damit der Spieler erfährt, dass sein SC die Schrift gar nicht beherrscht. Danach fügen wir per Klick auf <include...> in der nächsten Zeile eine direkte Weiterleitung zu "abbruch" ein, indem wir zwischen die "" das Ziel "abbruch" eintippen. Wenn der SC also nicht mindestens "Imperiale Zeichen" auf TaW 1 beherrscht, kann er den Zettel gar nicht lesen und die Queste bricht automatisch ab.

Aoqml 25.JPG

Wenn der SC aber die Fertigkeit beherrscht, steht noch nicht fest, ob er das Gekrakel auch entziffern kann. Dafür benutzen wir eine Probe.

6. Proben

Zwischen das <success></success> setzen wir per Klick auf <challenge...|> einen Rohling für eine Probe.

Aoqml 26.JPG