Zu eurer Information: Ich habe die
Auswertung der Itemangaben vereinheitlicht und möchte euch ein paar Beispiele geben, was man damit alles machen kann.
Abfragen von Items mit <has item="" /><has item="Schwert"> ... prüft, ob der Held ein Schwert dabei hat
<has item="%dolch"> ... prüft, ob der Held irgendein Item dabei hat, dessen Name mit 'dolch' aufhört (z.B. 'Meucheldolch').
<has item="*Nahkampfwaffe"> ... prüft, ob der Held ein Item, das als Nahkampfwaffe
getaggt ist, dabei hat. Man beachte den * -> alle Angaben mit einem * am Anfang sind Angaben zu Waren-Tags.
Verknüpfung von mehren Items:
<has item="Schwert|Dolch"> ... prüft ob der Held ein Schwert oder ein Dolch dabei hat.
<has item="*Alkohol|*Marschverpflegung"> ... prüft, ob der Held Alkoholika oder einfache Nahrungsmittel für unterwegs dabei hat
<has item="Schwert+Dolch"> ... prüft, ob der Held ein Schwert UND ein Dolch dabei hat. Diesen "+" Operator gibt es übrigens nur bei has!
Die zwei Operatoren | (ODER) und + (UND) können dabei beliebig oft gesetzt werden.
Ablegen von Items mit <drop item="" />Analog zu has, können bei drop mehrere Angaben zum Item erfolgen.
<drop item="Schwert" />.... klaut ein Schwert.
<drop item="*Alkohol"/> ... klaut ein alkoholisches Item.
<drop item="*Nahkampfwaffe|*Fernkampfwaffe" /> ... klaut eine Waffe (Verwendung eines Warentags).
<drop item="att_magisch=1" /> ... klaut einen magischen Gegenstand. Hier wurde mit
att_magisch ein Warenattribut angegeben. Mehr zu Warenattributen weiter unten.
Auch hier ist eine Verknüpfunt mehrer Itemangaben mit dem ODER-Zeichen "|" möglich.
Ablegen von Items in Inventare mit <drop to="" />Man kann dem Spieler ein Inventar anzeigen lassen mit
<drop to="inventarname"/> wo der Spieler wählen kann, welche(s) Item(s) er ablegen möchte.
(Die Transferansicht kommt nur, wenn kein
item angegeben ist. Andernfalls werden die unter
item angegebenen Gegenstände automatisch ins Inventar gedroppt.)
Für den Tausch mit einem Inventar kann jetzt auch eine Blacklist oder eine Whitelist an Waren angegeben werden, z.B.
<drop to="Barkeeper" whitelist="*Alkohol" count="1"/>ermöglicht, dass man dem Inventar genau einen alkoholischen Gegenstand geben kann.
Die Angabe einer Blacklist (Waren, die NICHT abgeben werden dürfen) erfolgt analog. Es können jeweils konkrete WarenIDs oder Warennamen oder Wildcars à la '%pfeil' oder '%dolch' verwendet werden. Immer mit | verknüpfbar. Also z.B.
<drop to="Truhe" blacklist="*Nahkampfwaffe|*Fernkampfwaffe|#1234|%pfeil" /> -> man kann alles ablegen außer Waffen, die Ware 1234 und keine Pfeile.
Neu: Es können
Warenattribute angegeben werden, z.B.:
<drop to="Stall" whitelist="att_tier=1" count="1" /> Hier können nur Items ins Inventar 'Stall' gelegt werden, die das Warenattribut 'att_tier' auf 1 haben. Mehr zu Warenattributen weiter unten.
Oder:
<drop to="Altar" whitelist="Alabasterkelch|att_daemon=1|att_magisch=1|Besondere%" /> (würde Alabasterkelche, dämonisch-geflaggte Sachen, magische Sachen, sowie alle Items, die mit "Besondere" anfangen (z.B. Besonderer Zweihänder) droppbar machen.
Tausch zwischen Heldenrucksack und Behältern mit <transfer />Dazu muss zunächst ein Behälter selektiert sein. Mehr dazu
im Wiki.
Danach kann mit <transfer /> eine Transferansicht anzeigen lassen, wo der Spieler bestimmen kann, was er in den Behälter legen möchte.
Möchte man als AOQML-Schreiber nun einschränken, was im Behälter aufgenommen werden darf, kann wiederum eine Whitelist oder eine Blacklist verwendet werden (ehemals allowed und forbidden -> ist dasgleiche).
<transfer whitelist="%dolch" count="1" /> nur ein Dolch kann im Behälter aufgenommen werden.
<transfer blacklist="att_tier=1" /> Es dürfen keine Tiere im Behälter verstaut werden.
Aufnehmen von Items mit <take item="" />Diese ganze Vereinheitlichung der Auswertung der Itemangabe gilt nicht für take item="", da ist es m.E. besser, wenn da der konkrete Warenname oder die konkrete WareID angegeben wird.
Also hier ist lediglich möglich:
<take item="Schwert" /><take item="#1871" />Aufnehmen von Items aus Inventaren mit <take from="" />Wenn ein Inventar definiert wurde, in dem sich Gegenstände befinden, kann dies dem Spieler angezeigt werden:
<take from="inventarname" />Auch hier sind wiederum Einschränkungen durch den AOQML-Schreiber möglich.
Whitelist- und Blacklisteinschränkungen gibt es hier nicht. Jedoch könnte festgelegt werden, dass lediglich ein Item (oder zwei, oder drei ...) entnommen werden darf:
<take from="Altar" count="1"/> ... nur ein Gegenstand darf mitgenommen werden.
Verfügbare WarenattributeFür jede Ware sind in der Datenbank die folgenden Attribute gepflegt (mögliche Ausprägungen sind 0 oder 1):
- Code:
att_alltaeglich
att_daemon
att_essbar
att_exotisch
att_geweiht
att_handwerk
att_kunst
att_lebendig
att_lesbar
att_magisch
att_medizinisch
att_meeresbezogen
att_natur
att_pulver
att_rare
att_selten
att_spielbar
att_tragbar
att_transportmittel
att_trinkbar
att_werkzeug
att_wertgegenstand
sowie 'att_tier' (wobei das nicht wirklich in der DB existiert, aber im Code zur Verfügung steht)
Soweit der Überblick. Ich werde die Tage die Informationen zu White-/Blacklists und zu Warenattributen im Wiki aktualisieren.