Änderungen

Wechseln zu: Navigation, Suche

Item-select

2.920 Bytes hinzugefügt, 14:01, 27. Jun. 2011
neu: item-select
Der <item-select>-Tag ermöglicht in [[AOQML]] die Auflistung von Gegenständen. Der Spieler kann einen der angezeigten Gegenstand anklicken und somit auswählen. Der ausgewählte Gegenstand kann danach durch Attribute wie [[get]] ausgelesen und durch [[set]] verändert werden.

==Syntax==
<code xml n>
<item-select item="" target="" [show=""] />
</code>

*'''item''': Der Warenname, z.B. 'Heiltrank', oder die WareID, z.B. '#921'
*'''target''': Gibt die nächste Szene an. In dieser Szene ist dann ein Gegenstand intern selektiert.
*'''show''': Wenn nichts angegeben, werden nur die Warennamen als Link angezeigt. Wenn show="quality" angegeben, wird dahinter auch noch die Qualität des Gegenstandes vermerkt (siehe Beispiel unten).

==Beispiele==
Der Spieler soll einen Heiltrank auswählen. In szene2.xml ist dann intern ein Heiltrank markiert als Object ''selected-item''.

<code xml n>
<p>Bitte wähle einen Heiltrank aus.</p>

<item-select item="Heiltrank" target="szene2" show="quality"/>
</code>

Sollte der Held keine Ware besitzen, die der Angabe unter ''item'' entspricht, werden konsequenterweise auch keine Links ausgegeben. Man sollte also zusätzlich immer noch ein anderes [[choice]] bereitstellen.

''show="quality"'' bewirkt, dass nicht nur für jeden Heiltrank ein Link erzeugt wird, sondern hinter jedem Link auch noch der Zustand (Qualität) des Heiltrankes angegeben ist.
Hat der Held in diesem Beispiel also mehrere Heiltränke im Gepäck, könnte die Ausgabe wie folgt sein:

[[Image:Item-select-beispiel1.jpg|mit show="quality" werden die Zustände angezeigt|Heiltränke mit Qualitätsausgabe]]


In szene2.xml ist dann automatisch intern einer der Heiltränke markiert, sodass Änderungen auf dieser Wareninstanz vorgenommen werden können. Beispielsweise könnte man den Heiltrank trinken lassen und abhängig von der Qualität (Wert zwischen 0 und 100) einen Text ausgeben:

<code xml n>
<!-- szene2.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<scene xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://eisentrutz.antamar.eu/aoqml.xsd">

<store name="heiltrank-quality" scope="quest"><get object="selected-item" attribute="quality"/></store>

<switch name="heiltrank-quality">
<case val="0">
<p>Pfui bäh!!!!</p>
<drop object="selected-item" />
</case>

<case min="1" max="20">
<p>Naja.</p>
<drop object="selected-item" />
</case>

<case min="21" max="50">
<p>Mittelgut.</p>
<drop object="selected-item" />
</case>

<case min="51" max="80">
<p>Lecker.</p>
<drop object="selected-item" />
</case>

<case min="81" max="100">
<p>WOW Super!!!.</p>
<drop object="selected-item" />
</case>

<else>
<p>Ein Fehler ist aufgetreten. Die Ware liegt außerhalb der Qualitätsskala.</p>
</else>
</switch>

<quest status="ended"/>

</scene>
</code>

[[Kategorie:AOQML-Tags]]
[[Kategorie:AOQML]]

Navigationsmenü