Änderungen

Wechseln zu: Navigation, Suche

Function

3.736 Bytes hinzugefügt, 21:35, 28. Mai 2019
keine Bearbeitungszusammenfassung
Mit Hilfe des <function>-Tags können in [[AOQML]] interne Abfragen gemacht werden. Dieser AOQML-Tag ist ''generisch '' gehalten, damit vielfältige, ungewöhnliche Abfragen an das System möglich sind.
== Syntax ==
*'''param1''': erwartet den Warennamen oder die WareID, mit # vorangestellt.
*'''param2''': regelt, ob a) sowohl Gepäck als auch angelegte Kleidung (Standard), b) nur angelegte Kleidung ('true'), c) nur Gepäck durchsucht werden soll ('false')
*'''Rückgabe''': eine Zahl.
Beispiel:
<code xml n>
<store name="anzahl1"><function name="ermittle-item-anzahl" param1="Wolldecke"/></store>
<p>Anzahl Wolldecken: <fetch name="anzahl1"/></p>
<store name="anzahl2"><function name="ermittle-item-anzahl" param1="#2300"/></store>
<p>Anzahl Wolldecken: <fetch name="anzahl2"/></p>
 
<!-- durchsucht nur das Gepäck nach Goldketten. Angelegte Goldketten werden ignoriert. -->
<store name="anzahl3"><function name="ermittle-item-anzahl" param1="Goldkette" param2="false"/></store>
<p>Anzahl Goldketten (nicht angelegt): <fetch name="anzahl3"/></p>
</code>
 
Diese Funktion funktioniert auch bei Gruppen. In diesem Fall wird die Gesamtsumme der selektierten Helden zurückgegeben.
 
=== Funktion "erwerbe-adelstitel" ===
 
Diese Funktion übernimmt den Adelstitel, welche für den Held in einer internen Verwaltungstabelle vom A-Team hinterlegt wurde, für den Held.<br />
Es werden keine Parameter erwartet.<br />
Es gibt keine Rückgabe.<br />
 
=== Funktion "get-ware-from-inventory" ===
 
Diese Funktion liest den Warennamen oder die WareninstanzID aus einem Inventar aus.
 
*'''param1''': Name des [[Inventar|Inventars]]
*'''param2''': wenn 'name' wird der Warenname zurückgegeben, andernfalls die InstanzID
*'''param3''': wenn 'true' wird die Ware aus dem Inventar entfernt
*'''Rückgabe''': der Warenname oder die WareninstanzID, abhängig von param1
 
Beispiel:
<code xml>
<!-- liest den Warennamen der Ware, die sich in einem Inventar befindet, aus -->
<store name="ware_name"><function name="get-ware-from-inventory" param1="inventarname" param2="name" param3="false"/></store>
</code>
 
=== Funktion "hole-verfuegbaren-adelstitel" ===
 
Diese Funktion prüft eine interne Verwaltungstabelle, ob dem Held ein (neuer) Adelstitel zusteht. Die Tabelle wird vom A-Team verwaltet.<br />
Es wird kein Parameter erwartet.<br />
Rückgabe der Funktion ist der Titel bzw. "Abenteurer", sofern kein Titel für den Held verfügbar ist (auch bei weiblichen Chars).
 
=== Funktion "ist-segelschiff" ===
 
Die Funktion prüft, ob das aktuelle Fortbewegungsmittel (auf Reisen) ein Segelschiff ist.<br />
Es wird kein Parameter erwartet.<br />
Rückgabe der Funktion ist 'true' oder 'false'.
 
Beispiel:
<code xml>
<!-- prüfen, ob Segelschiff. Falls nicht, die ZB/Quest nicht starten -->
<store name="segel"><function name="ist-segelschiff"/></store>
<switch name="segel">
<case val="false">
<quest status="rejected"/>
</case>
</switch>
</code>
Diese Funktion funktioniert auch bei Gruppen. In diesem Fall wird die Gesamtsumme der Helden zurückgegeben.
=== Funktion "ist-urgott-in-pantheon" ===
Beispiel:
<code xml n>
<!-- prüfe, ob Urgott 'Epohe' bei den Halblingen repräsentiert wird. Erwartet: true -->
<function name="ist-urgott-in-pantheon" param1="Epohe" param2="Religion der Halblinge" />
Noch ein Beispiel:
<code xml n>
<store name="test"><function name="ist-urgott-in-pantheon" param1="Nerga" param2="Glaube der Amazonen" /></store>
<p>Test: prüfe, ob 'Nerga' bei den Amazonen vorkommt. Erwartet: false, Ergebnis: <fetch name="test" /></p>
</code>
=== Funktion "ist-segelschiff" ===
=== Funktion "lies-held-von-rangliste" === Diese Funktion liest die Rangliste der glänzendsten Helden und miesesten Schurken aus. Die Funktion prüft, ob das aktuelle Fortbewegungsmittel (gibt den Heldname des angegebenen Platzes der angegebenen Rangliste zurück.*'''param1''': Welche Rangliste? Entweder 'helden' oder 'schurken'*'''param2''': Welcher Platz? Hier eine Zahl zwischen 1 und 1000 angeben ...*'''Rückgabe''': Der Heldname. Beispiele:<code xml><p>Der glorreichste Held auf Reisen) ein Segelschiff Antamar ist<function name="lies-held-von-rangliste" param1="helden" param2="1" />.<br /p>Es wird kein Parameter erwartet<p>Der mieseste Schurke auf Antamar ist <function name="lies-held-von-rangliste" param1="schurken" param2="1" />.<br /p>Rückgabe <p>Platz 20 der Funktion glorreichsten Helden ist <function name="lies-held-von-rangliste" param1="helden" param2="20" />.</p> <p>Schurke auf Rang 77 ist : <function name="lies-held-von-rangliste" param1="schurken" param2="77" />.</p></code>''Hinweis zum Testen:'true' oder Auf dem Testserver wird keine Rangliste für die glorreichsten Helden und miesesten Schurken berechnet. Deshalb bleibt auf dem Testserver die Ausgabe für die Funktion leer.  === Funktion "mach-gegenstand-unklaubar" === Diese Funktion markiert einen Gegenstand intern als unklaubar. Die Funktion wird hier nicht weiter dokumentiert, da sie nur mit Bedacht eingesetzt werden soll, d.h. ausschließlich von den Programmierern. Diese können sich die interne Dokumentation anschauen. <!-- === wip Funktion "mach-weg-sichtbar" ===  Diese Funktion macht unsichtbare Wegverbindungen für Helden sichtbar. Unsichtbare Strecken und ihre IDs findet ihr hier: [WikiLink]. IN Gruppen ist zu beachten, dass nur die [select|selektierten] Helden die Strecke freigeschaltet bekommen. Umgehrt wird dem Gruppenleiter aber jede Strecke angezeigt, auch wenn nur einer aus der Gruppe sie kennt.  * param1: Erwartet die weg_id der Strecke, die sichtbar gemacht werden soll* param2 (optional): Erwartet die Art der Strecke als ein Wert aus [land, kutsche, see]. Wenn nicht anders angegeben, wird 'falseland'gesetztBeispiel:<code xml><function name="mach-weg-sichtbar" param1="123" /> schaltet den Landweg 123 für den Helden/die Helden frei<function name="mach-weg-sichtbar" param1="123" param2="see" /> schaltet den Seeweg 123 für den Helden/die Helden frei<function name="mach-weg-sichtbar" param1="123" param2="seeee" /> wirft einen Fehler</code> -->  === Funktion "preisausgabe" ===
Diese Funktion stellt einen Wert in Groschen als Bild dar.
In '''param1''' gibt man den Zahlenwert für den Preis in Groschen an.
Beispiel:
<code xml n><!-- prüfen, ob Segelschiff. Falls nicht, die ZB/Quest nicht starten --p>Ausgabe für 1 Groschen: <store function name="segelpreisausgabe" param1="1"/></p><p>Ausgabe für 12 Groschen: <function name="ist-segelschiffpreisausgabe" param1="12"/></storep><switch p>Ausgabe für 123 Groschen: <function name="segelpreisausgabe" param1="123"/></p> <case valp>Ausgabe für 1234 Groschen: <function name="falsepreisausgabe"> <quest statusparam1="rejected1234"/></p> <p>Ausgabe für 12345 Groschen: <function name="preisausgabe" param1="12345" /case></switchp>
</code>
 
zeigt an:
[[Bild:Preisausgabe.PNG]]
 
=== Funktion "steigere-eigenschaft-permanent" ===
 
Mit Hilfe dieser Funktion kann der Held einen permanenten Eigenschaftsbonus erlangen.
Es kann pro Held maximal 5 Mal gesteigert werden. Dabei darf nie das Eigenschaftsmaximum von 40 Punkten überschritten werden.
 
Die Anwendung dieser Funktion ist auf der Seite [[Heldattribute#Eigenschaftswerte_dauerhaft_ver.C3.A4ndern]] erklärt.
Beispiel:
<code xml n>
<!-- Gegenstände in ZB wiederfinden -->
<function name="waren-wiederfinden" />
</code>
=== Funktion "get-ware-from-inventory" ===
 
Diese Funktion liest den Warennamen oder die WareninstanzID aus einem Inventar aus.
 
*'''param1''': Name des [[Inventar|Inventars]]
*'''param2''': wenn 'name' wird der Warenname zurückgegeben, andernfalls die InstanzID
*'''param3''': wenn 'true' wird die Ware aus dem Inventar entfernt
*'''Rückgabe''': der Warenname oder die WareninstanzID, abhängig von param1
 
Beispiel:
<code xml n>
<!-- liest den Warennamen der Ware, die sich in einem Inventar befindet, aus -->
<store name="ware_name"><function name="get-ware-from-inventory" param1="inventarname" param2="name" param3="false"/></store>
</code>
 
=== Funktion "mach-gegenstand-unklaubar" ===
 
Diese Funktion markiert einen Gegenstand intern als unklaubar. Diese Funktion wird hier nicht weiter dokumentiert, da sie nur mit Bedacht eingesetzt werden soll, d.h. ausschließlich von den Programmierern. Diese können sich die interne Dokumentation anschauen.
 
=== Funktion "steigere-eigenschaft-permanent" ===
 
Mit Hilfe dieser Funktion kann der Held einen permanenten Eigenschaftsbonus erlangen.
Es kann pro Held maximal 5 Mal gesteigert werden. Dabei darf nie das Eigenschaftsmaximum von 40 Punkten überschritten werden.
 
Die Anwendung dieser Funktion ist auf der Seite [[Heldattribute#Eigenschaftswerte_dauerhaft_ver.C3.A4ndern]] erklärt.
[[Kategorie:AOQML-Tags]]
[[Kategorie:AOQML]]
3.459
Bearbeitungen

Navigationsmenü