Function: Unterschied zwischen den Versionen
K |
Cvk (Diskussion | Beiträge) |
||
(12 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Mit Hilfe des <function>-Tags können in [[AOQML]] interne Abfragen gemacht werden. | + | 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 == | == Syntax == | ||
Zeile 10: | Zeile 10: | ||
*'''param2''' (optional) ist der zweite Parameter, der der Funktion übergeben wird. | *'''param2''' (optional) ist der zweite Parameter, der der Funktion übergeben wird. | ||
− | Beachte: Jede Funktion benötigt eine vorgeschriebene Anzahl an Parametern, dazu bitte bei der Anwendung der Funktion nachlesen. | + | ''Beachte'': Jede Funktion benötigt eine vorgeschriebene Anzahl an Parametern, dazu bitte bei der Anwendung der Funktion nachlesen. |
Das Ergebnis einer Funktion wird ausgegeben. Um das Ergebnis weiter zu nutzen, kann man den <function>-Tag durch ein [[store]] umschließen. | Das Ergebnis einer Funktion wird ausgegeben. Um das Ergebnis weiter zu nutzen, kann man den <function>-Tag durch ein [[store]] umschließen. | ||
Zeile 16: | Zeile 16: | ||
== Funktionen == | == Funktionen == | ||
− | === Funktion " | + | === Funktion "ermittle-item-anzahl" === |
+ | |||
+ | Diese Funktion gibt als Ergebnis die Anzahl eines Gegenstandes zurück, den der Held mit sich führt. Dabei wird auch im Gepäck von [[Begleiter|Begleitern]] gesucht. | ||
+ | |||
+ | *'''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> | ||
+ | <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: | Beispiel: | ||
− | <code xml | + | <code xml> |
− | <!-- | + | <!-- liest den Warennamen der Ware, die sich in einem Inventar befindet, aus --> |
− | <function name=" | + | <store name="ware_name"><function name="get-ware-from-inventory" param1="inventarname" param2="name" param3="false"/></store> |
</code> | </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" === | === Funktion "ist-segelschiff" === | ||
− | Die Funktion prüft, ob das aktuelle Fortbewegungsmittel (auf Reisen) ein Segelschiff ist. Es wird kein Parameter erwartet. | + | 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'. | Rückgabe der Funktion ist 'true' oder 'false'. | ||
Beispiel: | Beispiel: | ||
− | <code xml | + | <code xml> |
<!-- prüfen, ob Segelschiff. Falls nicht, die ZB/Quest nicht starten --> | <!-- prüfen, ob Segelschiff. Falls nicht, die ZB/Quest nicht starten --> | ||
<store name="segel"><function name="ist-segelschiff"/></store> | <store name="segel"><function name="ist-segelschiff"/></store> | ||
Zeile 52: | Zeile 82: | ||
</switch> | </switch> | ||
</code> | </code> | ||
+ | |||
+ | |||
+ | === Funktion "ist-urgott-in-pantheon" === | ||
+ | |||
+ | Diese Funktion erlaubt die Prüfung, ob ein Urgott durch eine Gottheit in einem Pantheon repräsentiert wird. | ||
+ | |||
+ | *'''param1''': Hier wird der Urgott angegeben. | ||
+ | *'''param2''': Hier wird das Pantheon angegeben. | ||
+ | *'''Rückgabe''': 'true' oder 'false'. | ||
+ | |||
+ | Beispiel: | ||
+ | <code xml> | ||
+ | <!-- 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" /> | ||
+ | </code> | ||
+ | |||
+ | Noch ein Beispiel: | ||
+ | <code xml> | ||
+ | <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 "lies-held-von-rangliste" === | ||
+ | |||
+ | Diese Funktion liest die Rangliste der glänzendsten Helden und miesesten Schurken aus. Die Funktion 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 Antamar ist <function name="lies-held-von-rangliste" param1="helden" param2="1" />.</p> | ||
+ | |||
+ | <p>Der mieseste Schurke auf Antamar ist <function name="lies-held-von-rangliste" param1="schurken" param2="1" />.</p> | ||
+ | |||
+ | <p>Platz 20 der 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:'' 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 'land' gesetzt. | ||
+ | |||
+ | Beispiel: | ||
+ | <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> | ||
+ | <p>Ausgabe für 1 Groschen: <function name="preisausgabe" param1="1" /></p> | ||
+ | <p>Ausgabe für 12 Groschen: <function name="preisausgabe" param1="12" /></p> | ||
+ | <p>Ausgabe für 123 Groschen: <function name="preisausgabe" param1="123" /></p> | ||
+ | <p>Ausgabe für 1234 Groschen: <function name="preisausgabe" param1="1234" /></p> | ||
+ | <p>Ausgabe für 12345 Groschen: <function name="preisausgabe" param1="12345" /></p> | ||
+ | </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. | ||
=== Funktion "waren-wiederfinden" === | === Funktion "waren-wiederfinden" === | ||
− | Die Funktion ist für besonders seltene Zufallsbegegnungen vorgesehen. Sie erlaubt, ehemals verlorene Gegenstände des Helden in derselben ZB wiederzufinden. | + | Die Funktion ist für besonders seltene '''Zufallsbegegnungen''' vorgesehen. Sie erlaubt, ehemals verlorene Gegenstände des Helden in derselben ZB wiederzufinden. |
− | + | *'''param1''' (optional): wenn 'false', werden nur eigene Gegenstände wiedergefunden. Wenn dieser Parameter nicht angegeben ist, oder einen anderen Wert als 'false' enthält, dann werden auch Gegenstände von fremden Helden wiedergefunden. | |
− | '''Rückgabe''' | + | *'''Rückgabe''': 'true' (wenn mindestens 1 Gegenstand wiedergefunden wurde) oder 'false' (wenn kein Gegenstand aufgenommen wurde). |
Beispiel: | Beispiel: | ||
− | <code xml | + | <code xml> |
<!-- Gegenstände in ZB wiederfinden --> | <!-- Gegenstände in ZB wiederfinden --> | ||
<function name="waren-wiederfinden" /> | <function name="waren-wiederfinden" /> | ||
<!-- wenn nur EIGENE Gegenstände wiedergefunden werden sollen (keine von fremden Helden) --> | <!-- wenn nur EIGENE Gegenstände wiedergefunden werden sollen (keine von fremden Helden) --> | ||
− | <function name="waren-wiederfinden" param1="false"/> | + | <store name="rueck"><function name="waren-wiederfinden" param1="false"/></store> |
+ | <has name="rueck" val="true" show="none"> | ||
+ | <success> | ||
+ | <p>Da liegen ja längst verloren geglaubte Sachen von dir - na die packst du aber schnell ein!</p> | ||
+ | </success> | ||
+ | <failure> | ||
+ | <p>Schade, du findest nichts interessantes.</p> | ||
+ | </failure> | ||
+ | </has> | ||
</code> | </code> | ||
[[Kategorie:AOQML-Tags]] | [[Kategorie:AOQML-Tags]] | ||
− |
Aktuelle Version vom 28. Mai 2019, 20:35 Uhr
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.
Inhaltsverzeichnis
- 1 Syntax
- 2 Funktionen
- 2.1 Funktion "ermittle-item-anzahl"
- 2.2 Funktion "erwerbe-adelstitel"
- 2.3 Funktion "get-ware-from-inventory"
- 2.4 Funktion "hole-verfuegbaren-adelstitel"
- 2.5 Funktion "ist-segelschiff"
- 2.6 Funktion "ist-urgott-in-pantheon"
- 2.7 Funktion "lies-held-von-rangliste"
- 2.8 Funktion "mach-gegenstand-unklaubar"
- 2.9 Funktion "preisausgabe"
- 2.10 Funktion "steigere-eigenschaft-permanent"
- 2.11 Funktion "waren-wiederfinden"
Syntax
<function name="" [param1="" param2="" param3="" ... ] />
- name beschreibt hierbei den Namen der Funktion
- param1 ist der erste Parameter, der der Funktion übergeben wird
- param2 (optional) ist der zweite Parameter, der der Funktion übergeben wird.
Beachte: Jede Funktion benötigt eine vorgeschriebene Anzahl an Parametern, dazu bitte bei der Anwendung der Funktion nachlesen.
Das Ergebnis einer Funktion wird ausgegeben. Um das Ergebnis weiter zu nutzen, kann man den <function>-Tag durch ein store umschließen.
Funktionen
Funktion "ermittle-item-anzahl"
Diese Funktion gibt als Ergebnis die Anzahl eines Gegenstandes zurück, den der Held mit sich führt. Dabei wird auch im Gepäck von Begleitern gesucht.
- 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:
<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>
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.
Es werden keine Parameter erwartet.
Es gibt keine Rückgabe.
Funktion "get-ware-from-inventory"
Diese Funktion liest den Warennamen oder die WareninstanzID aus einem Inventar aus.
- param1: Name des 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:
<!-- 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>
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.
Es wird kein Parameter erwartet.
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.
Es wird kein Parameter erwartet.
Rückgabe der Funktion ist 'true' oder 'false'.
Beispiel:
<!-- 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>
Funktion "ist-urgott-in-pantheon"
Diese Funktion erlaubt die Prüfung, ob ein Urgott durch eine Gottheit in einem Pantheon repräsentiert wird.
- param1: Hier wird der Urgott angegeben.
- param2: Hier wird das Pantheon angegeben.
- Rückgabe: 'true' oder 'false'.
Beispiel:
<!-- 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:
<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>
Funktion "lies-held-von-rangliste"
Diese Funktion liest die Rangliste der glänzendsten Helden und miesesten Schurken aus. Die Funktion 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:
<p>Der glorreichste Held auf Antamar ist <function name="lies-held-von-rangliste" param1="helden" param2="1" />.</p>
<p>Der mieseste Schurke auf Antamar ist <function name="lies-held-von-rangliste" param1="schurken" param2="1" />.</p>
<p>Platz 20 der 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>
Hinweis zum Testen: 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.
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:
<p>Ausgabe für 1 Groschen: <function name="preisausgabe" param1="1" /></p>
<p>Ausgabe für 12 Groschen: <function name="preisausgabe" param1="12" /></p>
<p>Ausgabe für 123 Groschen: <function name="preisausgabe" param1="123" /></p>
<p>Ausgabe für 1234 Groschen: <function name="preisausgabe" param1="1234" /></p>
<p>Ausgabe für 12345 Groschen: <function name="preisausgabe" param1="12345" /></p>
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.
Funktion "waren-wiederfinden"
Die Funktion ist für besonders seltene Zufallsbegegnungen vorgesehen. Sie erlaubt, ehemals verlorene Gegenstände des Helden in derselben ZB wiederzufinden.
- param1 (optional): wenn 'false', werden nur eigene Gegenstände wiedergefunden. Wenn dieser Parameter nicht angegeben ist, oder einen anderen Wert als 'false' enthält, dann werden auch Gegenstände von fremden Helden wiedergefunden.
- Rückgabe: 'true' (wenn mindestens 1 Gegenstand wiedergefunden wurde) oder 'false' (wenn kein Gegenstand aufgenommen wurde).
Beispiel:
<!-- Gegenstände in ZB wiederfinden -->
<function name="waren-wiederfinden" />
<!-- wenn nur EIGENE Gegenstände wiedergefunden werden sollen (keine von fremden Helden) -->
<store name="rueck"><function name="waren-wiederfinden" param1="false"/></store>
<has name="rueck" val="true" show="none">
<success>
<p>Da liegen ja längst verloren geglaubte Sachen von dir - na die packst du aber schnell ein!</p>
</success>
<failure>
<p>Schade, du findest nichts interessantes.</p>
</failure>
</has>