2.740
Bearbeitungen
Änderungen
Set
,keine Bearbeitungszusammenfassung
== Syntax ==
<code xml n>
<set [object="hero"] [attribute=""] [quality=""] [talent=""] [name=""] [scope="quest"] [inc=""] [dec=""] [val=""] [expire=""] [target=""] />
</code>
: Ist ''object="selected-item"'' angegeben, wird auf einem zuvor selektierten Gegenstand (siehe [[item-select]]) gearbeitet und dessen Attribute verändert.
: Ist ''object="ordenshaus"'' angegeben, werden Werte des Ordenshauses, in dem sich der Held befindet, verändert.
: Bei einem Ordenshaus ''(object="ordenshaus")'' kann das Attribut 'schatz' verändert werden (nur mittels ''inc'' oder ''dec'', '''nicht''' mittels val/value!)
|-
|quality||String||||beim Held kann man Eigenschaften temporär verändern, siehe Beispiele weiter unten
|-
|talent||String||||beim Held kann man Fertigkeitswerte temporär verändern, siehe Beispiele weiter unten
|-
|name||String||||der Name der Variable, die verändert werden soll
|-
|scope||String||quest||Bezeichnet den Gültigkeitsbereich, wie eine Variable gespeichert wird. Hierzu [[ScopeValues|verschiedene Möglichkeiten]].
|-
|inc||Integer||||zur Erhöhung von Werten
|-
|dec||Integer||||zur Verringerung von Werten
|-
|val||(mixed)||||Der neue Wert für die Variable oder das Attribut.
|-
|expire||String||||diese Angabe wird benötigt, wenn beim Held eine Eigenschaft oder eine Fertigkeit temporär verändert werden soll, siehe Beispiele weiter unten
|-
|target||String||||Kann in Verbindung mit <set attribute="wounds"/> benutzt werden, siehe Beispiel weiter unten
|}
== Beispiele für den Held ==
Um Heldenwerte mit ''set '' zu verändern, muss das Tag um ein Attribut erweitert werden, das entweder die neue Höhe angibt oder den Betrag um den der Wert verändert wird:
<code xml n><set attribute="LEP" dec="5"/></code>
Verringert die Lebensenergie um 5.
=== Eigenschaften temporär ändern === Eigenschaften können mittels ''set'' temporär verändert werden. Beispiele:<code xml n><set quality="ST" inc="4" expire="10 days" /><!--erhöht Stärke um 4 für ingame 10 Tage --><set quality="FF" dec="2" expire="3 hours" /><!-- verringert Fingerfertigkeit um 2 für ingame 3 Stunden --><set quality="MR" inc="3" expire="1D" /><!-- erhöht Magieresistenz um 3 für 1 Echtzeit-Tag --></code>Erlaubte Zeitformate: 2d (2 Ingame-Tage), 2 days (2 Ingame-Tage), 2D (2 Echtzeit-Tage) === Fertigkeiten temporär ändern === Fertigkeitswerte (Talentwerte) können ebenfalls temporär verändert werden. Beispiele:<code xml n><set talent="Sinnenschärfe" inc="4" expire="10 days" /><!-- erhöht den FeW "Sinnenschärfe" um 4 für 10 Tage --><set talent="Schwimmen" dec="2" expire="3 hours" /><!-- verringert den FeW "Schwimmen" um 2 für 3 Stunden --></code>Erlaubte Zeitformate: 2d (2 Ingame-Tage), 2 days (2 Ingame-Tage), 2D (2 Echtzeit-Tage)
=== Eigene Variablen verändern === Statt Attributen können auch Variablen-Werte gesetzt werden. Damit kann man z.B. EP beispielsweise im Laufe des Quests der Quest EP ansammeln:
<code xml n><set name="questEP" inc="5" show="none"/></code>
Und dann am Ende des Quests der Quest gesammelt vergeben:
<code xml n><set attribute="EP" inc="${questEP}"/></code>
Es handelt sich dabei um dieselben Variablen wie bei [[Store_fetch]]. === Eine Wunde verursachen === Der folgende Code schlägt eine Wunde beim Helden.<code xml><set attribute="wounds" inc="1" /></code>Die Trefferzone würde dabei zufällig gewählt werden. Möchte man eine bestimmte [[Trefferzone]] festlegen, bei kann dies wie folgt geschehen:<code xml><set attribute="wounds" inc="1" target="linker Arm" /></code> Hier würde eine Zone am linken Arm des Helden verursacht werden. Mögliche [[Trefferzonen]] sind:<code>KopfBrustlinker Armrechter ArmBauchlinkes Beinrechtes Bein</code>Beachte die korrekte Groß-/Kleinschreibung der Trefferzone, ansonsten wird jedoch sie nicht erkannt! === Vorhandene Geldmenge anpassen === Im Wesentlichen gibt es drei verschiedene Möglichkeiten den Inhalt der Inhalt des Tags nicht Geldbörse eines Helden zu modifizieren: '''1. Auf Null setzen.''' <code xml><set attribute="cash" val="0"/></code> Sehr populär nach verlorenen Kämpfen. In jedem Fall sollte hierbei das [[Heldattribute#Allgemein|Attribut ''welpenschutz'']] beachtetwerden.Grundsätzlich gilt: Möglichst kein vollständiges Ausplündern von Junghelden! Die üblichen Ausnahmen sind Aivarunen, besondere Gegner, Orks, usw. ... '''2. Geld vergeben oder entnehmen.''' <code xml><!-- Geld erhöht um 5 Gulden, 3 Thaler und 6 Groschen -->
</code>
Hierbei ist zu beachten, dass die prozentuale Veränderung des Geldes ausschließlich mit ''dec'' funktioniert, um missbräuchliche Geldvermehrung von vornherein auszuschließen!
== Beispiele für einen Gegenstand (object="selected-item") ==
Wurde zuvor ein Gegenstand via [[item-select]] ausgewählt, kann das Warenattribut ''[[Quality (AOQML-Attribut)|quality]]'' (der Zustand des Gegenstandes) verändert werden:
<code xml n>
</code>
Beim Ordenshaus kann bisher das Attribut ''schatz'' verändert werden, mittels inc oder dec, jedoch nicht mittels val/value, weil dies bei parallelen Ein-/Auszahlungen zu Problemen führen könnte.
<code xml n>
<!-- Diebe klauen 15 Gulden aus der Schatzkammer -->
<store name="gold_aktuell"><get object="ordenshaus" attribute="schatz"/></store>
<has name="gold_aktuell" min="15000">
<success>
<!-- Diebe erhalten 15 Gulden -->
<select role="Anführer"/>
<set attribute="cash" inc="15000" />
<!-- Ordens-Gold anpassen -->
<set object="ordenshaus" attribute="schatz" dec="15000" />
</success>
<failure>
<p>Es sind keine 15 Gulden in der Schatzkammer.</p>
</failure>
</has>
</code>
[[Kategorie:AOQML-Tags]]