Hauptmenü öffnen

AntamarWiki β

Änderungen

Switch

2.605 Bytes hinzugefügt, 00:22, 2. Okt. 2017
keine Bearbeitungszusammenfassung
Das '''&lt;<switch&gt;>'''-Tag prüft vergleicht eine Angabe mit einer Liste von Werten. Der Zweig mit dem passenden Wert wird ausgeführt. Der gesamte '''<switch>'''-Tag sieht wir folgt aus:<syntaxhighlight lang="xml"><switch attribute|name=""> <null> </null>  <case ...> </case>  <case ...> </case>  <else> </else></switch></syntaxhighlight> <br>'''NULL''' wird ausgeführt wenn der Inhalt von NAME oder ATTRIBUTE leer ist.<br>'''CASE''' wird benutzt, um bestimmte Werte oder Wertebereiche zu prüfen. Hier kann zum Beispiel VAL, MIN oder MAX benutzt werden.<br>'''ELSE''' wird ausgeführt, wenn die vorherigen Angaben nicht passen. <br>Tipp:<br>Wenn eine Variable mit 0 gesetzt wird, muss sie wie folgt abgefragt werden.<syntaxhighlight lang="xml"><store name="test" scope="...">0</store> <!-- gesetzte Variable --> <switch name="test"> <null>...</null> <!-- hat hier keine Auswirkung --> <case val="0">...</case> <!-- wird in dem Fall ausgeführt --> <else>...</else> <!-- bei ungleich 0 --></switch></syntaxhighlight> 
Beispiel:
&lt;<syntaxhighlight lang="xml"><switch attribute='"gender'&gt;"> &lt; <case value='"female'&gt;">Eine junge Frau</case> <else>Ein junger Mann&lt;</else></switch></syntaxhighlight>Der Zweig '''<else>''' wird ausgeführt, wenn das Geschlecht nicht weiblich ist.  Eine Liste der Attribute zur Verwendung mit dem '''attribute''' Tag gibt's hier: [[Heldattribute]] Außerdem können mit dem '''name''' Tag die selben Variablen wie bei [[Set]] abgefragt werden.  Man kann auch Wertebereiche abfragen:<syntaxhighlight lang="xml"><switch name="Nummer"> <case min="1" max="5"> ... </case> <else> ... </else></switch></syntaxhighlight> ==Wahrscheinlichkeits Zweig== Um für ein Ereignis/Zweig die Wahrscheinlichkeit anzugeben müssen wir erst per [[Get_set|Set]] und einem [[Besondere_Werte#Zahlenbereiche|besonderen Wert]] eine zufällige Zahl in einer Variablen speichern (im Beispiel ''zufall'')und diese dann per switch prüfen. Beispiel:<syntaxhighlight lang="xml"><set name="zufall" val="1...100" show="none"/><switch name="zufall"> <case min="1" max="25"> ... </case&gt;> &lt; <case min="26" max="65"> ... </case> <else&gt;Eine junge Frau&lt;> ... </else&gt;> &lt;</switch&gt;></syntaxhighlight>Das Beispiel führt zu einer 25% igen Wahrscheinlichkeit den ersten Zweig aus, zu 40% den Zweiten und somit zu 35% den else-Zweig. ==Generische Variablenauswertung im Casezweig==Um flexiblere Quests aufzubauen, dürfen auch Variablennamen durch Verwendung des name-Attributs ausgewertet werden. ===Beispiel===Szene 1:<syntaxhighlight lang="xml"><random> <case> <store name="source">Eisentrutz</store> </case> <case> <store name="source">Berenhavn</store> </case> <case> <store name="source">Tamelsquell</store> </case></random></syntaxhighlight>
Der Zweig '''&lt;Szene 2:<syntaxhighlight lang="xml"><switch attribute="site"> <case name="${source}"><include target="atSourceLocation"/></case> <else&gt;''' wird ausgeführt, wenn keine der Angaben passt.><quest status="pending"/></else></switch></syntaxhighlight>
Eine Liste der Attribute gibt's hier: &rarr; [[Get_setKategorie:AOQML-Tags]].
227
Bearbeitungen