Extended am Sonntag #4
Dokumente
Dokumente in Extended sind - wer hätte es gedacht - Objekte, die hauptsächlich zur Anzeige von Text verwendet werden.
Man kann aber auch (spieleigene) Bilder, Links und andere dynamische Elemente einbetten. Sie sind also vielfältiger, als der Name vermuten lässt.
Dokumente erstellen und benutzen
Ein Dokument ist kein eigenständiger Gegenstand, sondern muss als inneres Objekt angelegt werden. Um das Dokument anzuzeigen (ähnlich wie bei einem Buch), kannst du den Effekt Dokument > Dokument anzeigen verwenden. Es kann immer nur ein Dokument gleichzeitig auf dem Bildschirm angezeigt werden.
Für ein einfaches Buch/Brief/etc. bietet die Datenbank die Option „Gegenstand erstellen > Dokumentgegenstand“. Dadurch wird ein Item erstellt, das bei Benutzung ein Dokument anzeigt. Das Dokument, das du nun füllen kannst, findest du im erstellten Gegestand unter „innere Objekte“.
Man kann Dokumente aber auch mit komplizierteren Mechanismen öffnen, zum Beispiel nach Eingabe eines Passworts.
Inhalt und Formatierung
Dokumente können aus mehreren Seiten bestehen, und es gibt mehrere Formatierungsmöglichkeiten, die man auch aus anderen Textprogrammen kennt:
- Überschriften (H1, H2, H3)
- Ausrichtung links, rechts, zentriert
- Textfarbe
Wenn du Formatierungselemente wie H1 oder P (für Absätze) benutzt, wirst du feststellen, dass Marken wie {h1}{/h1}
oder {p}{/p}
in das Dokument eingefügt werden. Das Dokument besteht also aus Text mit bestimmten Auszeichnungselementen (englisch markup).
Für Überschriften, Absätze, und farbigen Bereiche gibt es eine Anfangs- und eine Endmarke ({...}
und {/...}
), bei den anderen Elementen reicht eine Marke.
Beispiel
Markup |
|
---|---|
Ergebnis |
|
Links
Mit dem Markup {link*linkziel*linktext}
kann man anklickbare Links im Dokument erstellen.
Links zu externen URLs
Wenn ich als Linkziel eine URL angebe, wird der Betrachter des Dokuments die Möglichkeit haben, die angegebene URL in einem Web-Browser zu öffnen.
Beispielsweise baut man mit {link*https://eu.forums.blizzard.com/de/wow/*WoW-Forum}
einen Link zu diesem Forum ein.
Aus naheliegenden Gründen wird diese URL nicht automatisch geöffnet. Dem Betrachter wird stattdessen ein Fenster zum kopieren der URL angeboten. Selbstredend sollte man solche URLs prüfen, bevor man sie öffnet.
Links zu Arbeitsabläufen
Wenn du den Namen eines Arbeitsablaufs als Linkziel angibst, z.B. {link*on_doc_link_click*Arbeitsablauf starten}
, wird beim Anklicken der entsprechende Arbeitsablauf ausgeführt. Damit das funktioniert, muss der Arbeitsablauf innerhalb des Dokuments angelegt werden.
Mit etwas Fantasie kann man diese Links sehr vielfältig verwenden. Als Einstiegsbeispiel sei hier ein Musik-Dokument genannt, also ein Dokument, das verschiedene Links beinhaltet, die unterschiedliche Musikstücke abspielen.
Links mit Parametern
Wenn der Link einen Arbeitsablauf ansteuert, können an diesen Parameter übergeben werden.
{link*on_doc_link_click(var1=value1,var2=value2,...)*Arbeitsablauf starten}
In der Klammer stehen dabei die Variablen mit ihren zugehörigen Werten. Wenn der Spieler auf den Link klickt, werden diese Parameter als Arbeitsablauf-Variablen voreingestellt und sind im gesamten Arbeitsablauf verwendbar.
Variablen-Tags in Dokumenten
Dokumente können auch auf Variablen zugreifen. Man bindet sie mit ${variable}
ein. Beachte das $
-Zeichen, welches ein Variablen-Tag von den anderen Marken unterscheidet.
Wichtig ist hierbei, dass zuerst Variablen ausgewertet werden und danach die restlichen Marken. Damit werden sehr flexible Dokumente möglich, denn die Variable selbst kann Textmarken beinhalten.
Beispielsweise kann ich einer Variablen option
den Wert {link*run_option_a*Option A}
zuweisen. Mit ${option}
landet dann dieser dynamisch erzeugte Link in meinem Dokument.
Mit Hilfe dieses Mechanismus wurden Minispiele in Extended realisiert.
Dokumente sind "faul"
Variablen werden nur zum Zeitpunkt der Anzeige des Dokuments ausgewertet. Wenn sich der Wert einer Variablen ändert, während das Dokument auf dem Bildschirm sichtbar ist, wird sich das Dokument nicht ändern.
Das ist meistens auch gewollt. Wenn sich das Dokument aber mit einer Variablen aktualisieren soll, musst du es mit dem Effekt „Dokument anzeigen“ erneut öffnen.
Viel Spaß beim Experimentieren und
bis zum nächsten Sonntag…