Hauptmenü öffnen

AntamarWiki β

Function

Version vom 28. Mai 2012, 15:00 Uhr von Gaddezwerch (Diskussion | Beiträge) (Funktion "ermittle-item-anzahl")

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.

Inhaltsverzeichnis

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>

Diese Funktion funktioniert auch bei Gruppen. In diesem Fall wird die Gesamtsumme der Helden zurückgegeben.

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.