Function: Unterschied zwischen den Versionen

Aus AntamarWiki
Wechseln zu: Navigation, Suche
(Funktion "waren-wiederfinden")
(ermittle-item-anzahl hinzu)
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 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.
  
 
== Funktionen ==
 
== 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 [[Begleiter|Begleitern]] gesucht.
 +
 +
*'''param1''': erwartet den Warennamen oder die WareID, mit # vorangestellt.
 +
*'''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>
 +
</code>
  
 
=== Funktion "ist-urgott-in-pantheon" ===
 
=== Funktion "ist-urgott-in-pantheon" ===
Zeile 20: Zeile 36:
 
Diese Funktion erlaubt die Prüfung, ob ein Urgott durch eine Gottheit in einem Pantheon repräsentiert wird.
 
Diese Funktion erlaubt die Prüfung, ob ein Urgott durch eine Gottheit in einem Pantheon repräsentiert wird.
  
Erwartet werden '''zwei Parameter''': 'param1' steht für den Urgott, 'param2' für das Pantheon.  
+
*'''param1''': Hier wird der Urgott angegeben.
 
+
*'''param2''': Hier wird das Pantheon angegeben.  
'''Rückgabe''' der Funktion ist 'true' oder 'false'.
+
*'''Rückgabe''': 'true' oder 'false'.
  
 
Beispiel:
 
Beispiel:
Zeile 39: Zeile 55:
 
=== 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'.
  
Zeile 56: Zeile 73:
 
=== 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.
Als Parameter (''param1'') kann angegeben werden, ob auch verlorene Gegenstände von anderen Helden gefunden werden können (standardmäßig aktiv), oder ob nur eigene Gegenstände wiedergefunden werden können (wenn 'false').<br />
+
*'''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''' der Funktion ist 'true' (wenn mindestens 1 Gegenstand wiedergefunden wurde) oder 'false' (wenn kein Gegenstand aufgenommen wurde).
+
*'''Rückgabe''': 'true' (wenn mindestens 1 Gegenstand wiedergefunden wurde) oder 'false' (wenn kein Gegenstand aufgenommen wurde).
  
 
Beispiel:
 
Beispiel:
Zeile 76: Zeile 93:
 
</has>
 
</has>
 
</code>
 
</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>
 +
 +
</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.
 +
  
  
 
[[Kategorie:AOQML-Tags]]
 
[[Kategorie:AOQML-Tags]]
 
[[Kategorie:AOQML]]
 
[[Kategorie:AOQML]]

Version vom 28. Mai 2012, 15:59 Uhr

Mit Hilfe des <function>-Tags können in AOQML interne Abfragen gemacht werden. Dieser Tag ist generisch gehalten, damit vielfältige, ungewöhnliche Abfragen an das System möglich sind.

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.
  • 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>

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="Halblinge" />

Noch ein Beispiel:

<store name="test"><function name="ist-urgott-in-pantheon" param1="Nerga" param2="Amazonen" /></store>
<p>Test: prüfe, ob 'Nerga' bei den Amazonen vorkommt. Erwartet: false, Ergebnis: <fetch name="test" /></p>


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

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:

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.