Heldenzählung und Heldenaufzählung
Wenn du die Anzahl der gerade selektierten Helden zählen willst oder eine hübsche Aufzählung der selektierten Helden - mit Komma und 'und' am Ende - haben willst, dann schreibst du einmalig zu Beginn deiner Quest oder ZB.
- Code: Alles auswählen
<include target="/lib/_heldenaufzaehlung"/>
Um die selektierten Helden zu zählen:
- Code: Alles auswählen
<replay name="AOQML_Bibliothek_zsh/>
<p>Es sind <fetch name="AOQML_Bibliothek_ash"/> Helden selektiert.
Ergebnisvariablen:
AOQML_Bibliothek_ash - Anzahl der selektierten Helden
Um eine schöne Heldenaufzählung der echten Namen zu bekommen:
- Code: Alles auswählen
<replay name="AOQML_Bibliothek_heldenaufzaehlung/>
Sind Alrik, Kirla und Rikal selektiert liefert die Methode Alrik, Kirla und Rikal, sind nur Alrik und Kirla selektiert, liefert sie Alrik und Kirla, ist nur Alrik selektiert liefert sie nur Alrik.
Um eine schöne Heldenaufzählung der falschen Namen zu bekommen:
- Code: Alles auswählen
<replay name="AOQML_Bibliothek_heldenaufzaehlung_nick/>
Die Ausgabe entspricht schematisch derjenigen der Aufzählung der echten Namen.
---
- Code: Alles auswählen
<retain name="AOQML_Bibliothek_zsh" id="AOQML_Bibliothek_zaehle_selektierte_helden">
<store name="AOQML_Bibliothek_ash">0</store>
<for all="${sys:selected-heroes}" name="AOQML_Bibliothek_held_id">
<set name="AOQML_Bibliothek_ash" inc="1" show="none"/>
</for>
</retain>
Routine für die Auifzählung der echten Namen:
- Code: Alles auswählen
<!-- Die nachfolgende Routine ist in einer Zeile, da sonst ungewollte Leerzeichen ausgegeben werden können. Code bitte nicht umbrechen oder Leerzeichen einfügen! -->
<!-- Zunächst gibt es eine eigene Heldenzählung. -->
<retain name="AOQML_Bibliothek_heldenaufzaehlung" id="AOQML_Bibliothek_heldenaufzaehlung"><store name="AOQML_Bibliothek_heldenaufzahlung_selektiert" scope="hero">ja</store><store name="AOQML_Bibliothek_heldenaufzaehlung_ash" scope="scene">0</store><for all="${sys:selected-heroes}" name="AOQML_Bibliothek_held_id"><set name="AOQML_Bibliothek_heldenaufzaehlung_ash" inc="1" scope="scene" show="none"/></for><store name="AOQML_Bibliothek_heldenaufzaehlung_zaehler" scope="scene">0</store><for all="${sys:selected-heroes}" name="AOQML_Bibliothek_held_id"><select hero="${AOQML_Bibliothek_held_id}"/><store name="AOQML_Bibliothek_heldenaufzaehlung_differenzwert" scope="scene"><eval><fetch name="AOQML_Bibliothek_heldenaufzaehlung_ash"/>-<fetch name="AOQML_Bibliothek_heldenaufzaehlung_zaehler"/></eval></store><switch name="AOQML_Bibliothek_heldenaufzaehlung_differenzwert"><case val="${AOQML_Bibliothek_heldenaufzaehlung_ash}"><get attribute="name"/></case><case val="1"> und <get attribute="name"/></case><else>, <get attribute="name"/></else></switch><set name="AOQML_Bibliothek_heldenaufzaehlung_zaehler" inc="1" scope="scene" show="none"/></for><select by-name="AOQML_Bibliothek_heldenaufzahlung_selektiert" val="ja"/><store name="AOQML_Bibliothek_heldenaufzahlung_selektiert" scope="hero"/></retain>
Und für die falschen Namen:
- Code: Alles auswählen
<!-- Die nachfolgende Routine ist in einer Zeile, da sonst ungewollte Leerzeichen ausgegeben werden können. Code bitte nicht umbrechen oder Leerzeichen einfügen! -->
<!-- Zunächst gibt es eine eigene Heldenzählung. -->
<retain name="AOQML_Bibliothek_heldenaufzaehlung_nick" id="AOQML_Bibliothek_heldenaufzaehlung_nick"><store name="AOQML_Bibliothek_heldenaufzahlung_selektiert" scope="hero">ja</store><store name="AOQML_Bibliothek_heldenaufzaehlung_ash" scope="scene">0</store><for all="${sys:selected-heroes}" name="AOQML_Bibliothek_held_id"><set name="AOQML_Bibliothek_heldenaufzaehlung_ash" inc="1" scope="scene" show="none"/></for><store name="AOQML_Bibliothek_heldenaufzaehlung_zaehler" scope="scene">0</store><for all="${sys:selected-heroes}" name="AOQML_Bibliothek_held_id"><select hero="${AOQML_Bibliothek_held_id}"/><store name="AOQML_Bibliothek_heldenaufzaehlung_differenzwert" scope="scene"><eval><fetch name="AOQML_Bibliothek_heldenaufzaehlung_ash"/>-<fetch name="AOQML_Bibliothek_heldenaufzaehlung_zaehler"/></eval></store><switch name="AOQML_Bibliothek_heldenaufzaehlung_differenzwert"><case val="${AOQML_Bibliothek_heldenaufzaehlung_ash}"><get attribute="name"/></case><case val="1"> und <get attribute="nick"/></case><else>, <get attribute="nick"/></else></switch><set name="AOQML_Bibliothek_heldenaufzaehlung_zaehler" inc="1" scope="scene" show="none"/></for><select by-name="AOQML_Bibliothek_heldenaufzahlung_selektiert" val="ja"/><store name="AOQML_Bibliothek_heldenaufzahlung_selektiert" scope="hero"/></retain>