AOQML Library: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
Zeile 86: Zeile 86:
 
</code>
 
</code>
  
 +
 +
==Zählung der selektierten Helden und Aufzählung der selektierten Helden==
 +
 +
Die hier vorgestellten Routinen werden ausschließlich für Gruppen eingesetzt.
 +
 +
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 xml n>
 +
<include target="/lib/_heldenaufzaehlung"/>
 +
</code>
 +
 +
Um die selektierten Helden zu zählen:
 +
<code xml n>
 +
<replay name="AOQML_Bibliothek_zsh"/>
 +
</code>
 +
 +
Ergebnis-Variablen:
 +
<code>
 +
- AOQML_Bibliothek_ash    (scope="quest")    Anzahl der selektierten Helden
 +
</code>
 +
 +
Um eine schöne Heldenaufzählung der '''echten Namen''' zu bekommen:
 +
<code xml n>
 +
<replay name="AOQML_Bibliothek_heldenaufzaehlung"/>
 +
</code>
 +
 +
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 xml n>
 +
<replay name="AOQML_Bibliothek_heldenaufzaehlung_nick"/>
 +
</code>
 +
 +
Die Ausgabe entspricht schematisch derjenigen der Aufzählung der echten Namen.
 +
 +
===Beispiel===
 +
Ein einfaches Beispiel. Die Helden laufen vor einem Wiesel davon.
 +
<code xml n>
 +
<include target="/lib/_heldenaufzaehlung"/>
 +
<challenge talent="Athletik" hero-quantity="all">
 +
  <success>
 +
    <p>Das Wiesel zerrt euch nicht in seinen Bau.</p>
 +
  </success>
 +
  <failure select-heroes="true">
 +
    <replay name="AOQML_Bibliothek_zsh"/>
 +
    <p><replay name="AOQML-Bibliothek_heldenaufzaehlung"/> <if name="AOQML_Bibliothek_ash" equals="1" then="wurde" else="wurden"/> von dem Wiesel in seinen Bau gezerrt.</p>
 +
  </failure>
 +
</has>
 +
</code>
  
 
[[Kategorie:AOQML]]
 
[[Kategorie:AOQML]]

Version vom 20. November 2015, 14:47 Uhr

Die Bibliothek (library) stellt einige spezielle Funktionen für alle Questautoren und ZB-Schreiber zur Verfügung. Jeder Autor kann sich bei Bedarf aus der Bibliothek bedienen.

Prüfung auf Lichtquelle

Wenn du abfragen möchtest, ob ein Held eine Lichtquelle dabei hat, kannst du dies wie folgt tun:

<include target="/lib/_lichtquelle"/> <!-- prüft, ob der Held Licht dabei hat oder Licht entfachen kann -->
<has name="Lichtquelle">
  <success>
    <!-- Held hat nun Licht -->  
  </success>
  <failure>
    <!-- Held tappt im Dunkeln. Entweder keine Lichtquelle dabei oder Probe zum Entfachen ist misslungen. -->
  </failure>
</has>

Ergebnis-Variablen: - Lichtquelle (scope="hero")

     (NULL)              - Variable ist nicht gesetzt, wenn kein Licht verfügbar
     Disareg             - wenn Disaregstein genutzt
     Fackel              - wenn Pechfackel genutzt
     Sturmlaterne        - wenn Öl-Sturmlaterne genutzt
     Lampe               - wenn Kerzenlaterne oder Öllampe genutzt
     Kerze               - wenn Stundenkerze oder Spannenlange Kerze

- AOQML_Bibliothek_Lichtquelle_feuer_entfacht (scope="scene")

     (NULL)              - Variable ist nicht gesetzt, wenn kein Feuer entfacht werden musste.
     ja                  - Falls Lichtquelle entzündet werden musste und der Held dies erfolgreich getan hat
     nein                - Falls Held nicht die nötigen Materialien hat und nicht per Improvisation (Probe Wildnisleben) eine Lichtquelle entzünden konnte.


Prüfung auf Lichtquelle (Gruppen-Variante)

Wenn du eine Gruppen-Quest/-ZB schreibst, kannst du wie folgt abfragen, ob die Gruppe Licht hat.

<include target="/lib/_lichtquelle"/> <!-- prüft, ob die Gruppe Licht dabei hat oder Licht entfachen kann -->
<has name="Lichtquelle">
  <success>
    <!-- Gruppe hat nun Licht -->  
  </success>
  <failure>
    <!-- Gruppe tappt im Dunkeln. Entweder keine Lichtquelle dabei oder Probe zum Entfachen ist misslungen. -->
  </failure>
</has>

Ergebnis-Variablen: - Lichtquelle (scope="hero") Nicht bei allen Gruppenmitgliedern, sondern nur bei demjenigen, der die Lichtquelle hat.

     (NULL)              - Variable ist nicht gesetzt, wenn kein Licht verfügbar
     Disareg             - wenn Disaregstein genutzt
     Fackel              - wenn Pechfackel genutzt
     Sturmlaterne        - wenn Öl-Sturmlaterne genutzt
     Lampe               - wenn Kerzenlaterne oder Öllampe genutzt
     Kerze               - wenn Stundenkerze oder Spannenlange Kerze

- AOQML_Bibliothek_Lichtquelle_Gruppe_id_held (scope="quest")

     (NULL)              - Variable ist nicht gesetzt, wenn kein Licht verfügbar
     <HeldID>            - HeldID desjenigen, der die Lichtquelle trägt

- AOQML_Bibliothek_Lichtquelle_Gruppe_feuer_entfacht (scope="scene")

     (NULL)              - Variable ist nicht gesetzt, wenn kein Feuer entfacht werden musste.
     ja                  - Falls Lichtquelle entzündet werden musste und der Held dies erfolgreich getan hat
     nein                - Falls Helden nicht die nötigen Materialien haben und nicht per Improvisation (Probe Wildnisleben) eine Lichtquelle entzünden konnten.


Prüfung auf Schreibzeug

Wenn du prüfen möchtest, ob der Held entsprechendes Material dabei hat um sich Sachen zu notieren, kannst du dies wie folgt tun:

<include target="/lib/_hatSchreibzeug"/> <!-- prüft, ob der Held Schreibzeug dabei hat -->
<switch name="hatSchreibzeug">
  <case val="true">
    <!-- Held hat Schreibzeug -->
  </case>
  <else>
    <!-- Held hat kein Schreibzeug -->
  </else>
</switch>


Ergebnis-Variablen: - hatSchreibzeug (scope="quest") 'true' oder 'false'


Zählung der selektierten Helden und Aufzählung der selektierten Helden

Die hier vorgestellten Routinen werden ausschließlich für Gruppen eingesetzt.

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:

<include target="/lib/_heldenaufzaehlung"/>

Um die selektierten Helden zu zählen:

<replay name="AOQML_Bibliothek_zsh"/>

Ergebnis-Variablen: - AOQML_Bibliothek_ash (scope="quest") Anzahl der selektierten Helden

Um eine schöne Heldenaufzählung der echten Namen zu bekommen:

<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:

<replay name="AOQML_Bibliothek_heldenaufzaehlung_nick"/>

Die Ausgabe entspricht schematisch derjenigen der Aufzählung der echten Namen.

Beispiel

Ein einfaches Beispiel. Die Helden laufen vor einem Wiesel davon.

<include target="/lib/_heldenaufzaehlung"/>
<challenge talent="Athletik" hero-quantity="all">
  <success>
    <p>Das Wiesel zerrt euch nicht in seinen Bau.</p>
  </success>
  <failure select-heroes="true">
    <replay name="AOQML_Bibliothek_zsh"/>
    <p><replay name="AOQML-Bibliothek_heldenaufzaehlung"/> <if name="AOQML_Bibliothek_ash" equals="1" then="wurde" else="wurden"/> von dem Wiesel in seinen Bau gezerrt.</p>
  </failure>
</has>