Änderungen

Wechseln zu: Navigation, Suche

Select

1.129 Bytes hinzugefügt, 14:34, 28. Okt. 2020
Held nach einer Probe auswählen
=== Syntax ===
<code xml n>
<select [[role="" [count="0"]] [all="false"] [hero=""] by-attribute="" by-talent="" by-quality="" by-name="" by-item="" val="" min="" max="" inverted="" />
</code>
* '''{| class="wikitable sortable"|-!Attribut!! Standardwert!! Erklärung|-|role''': ||||Rollenbezeichnung innerhalb der Gruppe. Möglich sind 'Anführer', 'Dieb', 'Kämpfer', 'Mitreisender'. Wenn es keinen Helden mit dieser Rolle in der Gruppe gibt, wird automatisch der Gruppenleiter selektiert.* '''|-|count''': ||0||Schränkt die Anzahl an zu selektierenden Helden auf Basis der Rollenbezeichnung ein. Wenn bspw. 2 angegeben, werden höchstens zwei Helden selektiert. Wenn 0, dann gibt es keine Beschränkung.* '''|-|all''': ||false||Mit all="true" können alle Helden der Gruppe selektiert werden (standardmäßig zu Beginn einer Gruppen.|-ZB/-Quest)* '''|hero||||Hier kann die ''': Dieses Attribut ist relativ flexibel. Folgende Angaben sind möglich::: - HeldID''nr_<Zahl>'': z.B. 'nr_1' um den ersten Helden der Gruppe auszuwählen. 'nr_2' um den zweiten Helden der Gruppe auszuwählen usw.:: - die HeldID eines Helden der Gruppe (Achtung: Der Held muss sich in der Gruppe befinden!)angegeben werden. Die HeldID kann bspw. via dem [[hero]]-Tag ermittelt werden.:: |-|by-attribute||||Hier kann ein [[Heldattribute|Attribut]] angegeben werden.|-|by- der Heldnametalent||||Hier kann eine Fertigkeit, wie z.B. 'Schwimmen', angegeben werden. Da der Heldname jedoch nicht eindeutig ist|-|by-quality||||Hier kann eine Eigenschaft, es könnte wie z.B. zwei 'ST', angegeben werden.|-|by-name||||Hier kann eine Variable angegeben werden. Dies ist sinnvoll, wenn eine Heldvariable (Scope="Jasperhero" in ) abgefragt werden soll.|-|by-item||||Hier kann der Gruppe gebenName einer Ware angegeben werden, um diejenigen Helden zu selektieren, sollte immer die HeldID stattdessen verwendet einen solchen Gegenstand bei sich haben.|-|val|||||(nur in Kombination mit by-attribute/by-talent/by-quality/by-name/by-item) Wenn ein bestimmter Wert gesetzt sein soll.|-|min||||(nur in Kombination mit by-attribute/by-talent/by-quality/by-name/by-item) Angabe eines Mindestwertes|-|max||||(nur in Kombination mit by-attribute/by-talent/by-quality/by-name/by-item) Angabe eines Maximalwertes|-|inverted||false||Mit inverted="true" kann angegeben werden, dass alle diejenigen Helden selektiert werdensollen, welche gerade nicht selektiert sind.Funktioniert auch in Verbindung mit ''count''. Hinweis: Falls derzeit alle Helden selektiert sind, ist im Anschluss nur der Gruppenführer selektiert.|}
== Beispiele ==
=== Beispiele Kämpfer auswählen === 1)
<code xml n>
<select role="Kämpfer" />
</code>
2)=== Diebe auswählen ===
<code xml n>
<select role="Dieb" count="1" />
</code>
3)=== Gruppenführer auswählen ===
<code xml n>
<select role="Anführer"/>
</code>
4)=== zufälligen Held auswählen ===
<code xml n>
<!-- Annahme: eine Probe mit der ID "Pr1" wurde in der Szene bereits durchgeführt --><store name="heldid" scope="quest"><hero output="id" by-challenge="Pr1" selectrole="worst*"/></store><select herocount="${heldid}1"/><!-- Wählt den schlechtesten Held der Probe Pr1. -->
</code>
 
=== Held nach einer Probe auswählen ===
<code xml n>
<!-- Annahme: eine Probe mit name="Pr1" wurde in der Szene bereits durchgeführt -->
<store name="id_held" scope="quest"><hero output="id" by-challenge="Pr1" select="worst"/></store>
<select hero="${id_held}"/><!-- Wählt den schlechtesten Held der Probe Pr1. -->
</code>
 
=== Helden anhand einer Eigenschaft wählen ===
Wählt alle Helden aus, die mindestens IQ 15 haben.
<code xml>
<select by-quality="IQ" min="15" />
</code>
 
 
=== Helden anhand einer Fertigkeit wählen ===
Wählt alle Helden aus, die Gassenwissen maximal 5 haben.
<code xml>
<select by-talent="Gassenwissen" max="5" />
</code>
 
 
=== Helden anhand einer Variable wählen ===
Wählt alle Helden aus, die die Variable ''soelder_rang'' haben.
<code xml>
<select by-name="soelder_rang" />
</code>
 
 
=== Helden anhand einer Ware wählen ===
Wählt alle Helden aus, die einen Gewürzkuchen bei sich haben.
<code xml>
<select by-item="Gewürzkuchen" min="1" />
</code>
=== Alle Helden nacheinander wählen ===
Mit folgender Methode Um jedes Gruppenmitglied nacheinander anzuwählen, kann man alle SC auf eine [[for]]-Schleife zurückgreifen. '''Achtung''': Im Anschluss ist nur noch ein Held selektiert (nämlich der Gruppe nacheinander anwählen: letzte, der sich vorgestellt hat).
<code xml n><retain namefor all="helden-durchgehen" id="helden-durchgehen-1${sys:heroes}"> <set name="aktuelle_nr" inc="1" show="none"/><!-- zum Debuggen show="resultheldid" verwenden --> <!-- Held selektieren --> <store name="heroAttr">nr_<fetch name="aktuelle_nr"/></store><!-- z.B. nr_1 --> <select hero="${heroAttrheldid}"/> <p><q>Hallo, ich heiße Name: <get attribute="name"/> und ich bin <get attribute="race"/></q>.</p> <!-- gibt es noch weitere Gruppenmitglieder? --> <switch attribute="anzahl_gruppenmitglieder"> <case name="aktuelle_nr"> <!-- Unsere Variable 'aktuelle_nr' entspricht jetzt dem Attribut 'anzahl_gruppenmitglieder'. Daher wurden alle Gruppenmitglieder einmal aufgerufen. Daher nichts weiter machen. --> </case> <elsefor> <p>Der nächste:</pcode> <!-- sich erneut aufrufen --> <replay name="helden-durchgehen" />== Die anderen Helden wählen === </else> </switch></retain>Um diejenigen Helden auszuwählen, welche gerade nicht selektiert sind:
<p>In diesem kleinen Beispiel stellen sich alle Helden der Gruppe kurz vor:</p><store name="aktuelle_nr">0</storecode xml><replay nameselect inverted="helden-durchgehentrue"/>
</code>
[[Kategorie:AOQML]]
[[Kategorie:Gruppe]]
[[Kategorie:Mitarbeit]]
[[Kategorie:AOQML-Tags]]
2.740
Bearbeitungen

Navigationsmenü