2.352
Bearbeitungen
Änderungen
keine Bearbeitungszusammenfassung
Das Attribut 'name' gibt dabei an, unter welchem Namen es gespeichert werden soll. Der Inhalt selbst wird an dieser Stelle nicht ausgegeben.
Der folgende Code speichert '''Inhalt der Variable''' unter dem Namen 'VariablenName' für die Dauer des laufenden Quests:
<code xmln><store name="VariablenName" scope="quest"> Inhalt der Variable</store>
</code>
Die Variable wird nicht in der Datenbank zwischengespeichert.
Sie kann nur innerhalb derselben Scene verwendet werden.
<code xmln><store name="VariablenName" scope="scene"> Inhalt der Variable</store>
</code>
Sobald die Quest beendet wurde wird die Variable gelöscht.
Durch eine über den [[quest|Queststatus]] pending unterbrochene Quest werden Variablen mit dem Scope quest '''nicht''' gelöscht.
<code xmln><store name="VariablenName" scope="quest"> Inhalt der Variable</store>
</code>
<code xml>
<store name="VariablenName" scope="dungeon"> Inhalt der Variable</store>
</code>
<code xml>
<store name="VariablenName" scope="hero"> Inhalt der Variable</store>
</code>
<code xml>
<store name="VariablenName" scope="global"> Inhalt der Variable</store>
</code>
<code xml>
<store name="VariablenName" scope="global" expire="4d"> Inhalt der Variable</store>
</code>
Expire kann in zwei Formaten angegeben werden "4d" für vier Ingametage, "12h" für zwölf Ingamestunden.
===Namenskonvention===
Die Variablen können zwar technisch frei benannt werden, damit man aber schnell erkennen kann woher eine Variable kommt gelten folgende Namenskonvention: An erster Stelle bei scope="hero"-Variablen ist zwingend auf einen aussagekräftigen und eindeutigen Namen zu achten. Dazu wird zunächst der Variable steht ein Oberbegriff der den zur Variable zugehörigen Typ beschreibtQuestname (+ggf. Also Autor) und danach die Variablenkennung angegeben, z.B. quest: für eine Variable die nur in einer Quest steht oder region: für eine Variable die für alle Questen einer bestimmten Region steht.Danach folgt der Pfad unter dem die Quest oder ZB abgelegt ist, der Questname und am Ende der Variablenname.<code xml n>also: Oberbegriff:PfadZurQuest/QuestName/Variablenname Beispiele:quest:/quests/deralteleuchtturm<store name="SchiffBlutrabe-Tagesablauf" scope="hero">Schlaf</hoehedesturmsstore>npc:derHerzogVonSonstwo</Namecode>
Diese Konvention soll sicherstellen das einzelne Variablen sich nicht gegenseitig überschreiben, da die Scopes zwar die Art der Speicherung, nicht aber den Zugriff auf die Variablen regeln.
===fetch===
Das '''<fetch>'''-Tag ruft derart gespeicherte Inhalte wieder ab.
Das Attribut 'name' dient hier zum identifizieren Identifizieren der richtigen Variable.
Sollte kein Inhalt unter diesem Namen gespeichert sein, und nur dann, wird der Inhalt des fetch-Tags ausgewertet, sozusagen als Default.
Dies ist einer der Hauptunterschiede zum [[get]]-Tag. Beim Bei [[get-Tag ]] wird kein Default-Inhalt ausgewertet.
Folgendes liefert bewirkt zum Beispiel die Ausgabe der Variable mit dem Namen "VariablenNamepapagei_name" zurück.
<code xml>
<p><q>Hallo <fetch name="VariablenNamepapagei_name"/>!</q></p>
</code>