Ein Makro bezieht Tokendaten, wie z. B. Properties, immer vom Current Token, in unserem Fall also der verkörperte Token. Was ist aber wenn du Daten von einem anderen Token benötigst, oder die Daten eines anderen Token ändern möchtest? Das ist zum Glück auch kein Problem, und es gibt gleich mehrere Wege zum Ziel.
Erstelle gleich mal einen neuen Token auf der Spieloberfläche und ändere seinen Namen in "Token-Test". Ändere jetzt noch den Wert der Properties Staerke, Geschick und Klugheit dieses Tokens auf jeweils 15. Falls du gerade einen Token verkörpert hast, löse die Verkörperung für die folgenden Beispiele auf (Mausklick auf das kleine "x" beim Tokenbild im Chatbereich).
Token-ID oder Tokenname als Funktionsparameter
Viele Funktionen erlauben als Parameter eine Token-ID oder den Namen eines Tokens. Dadurch greift die Funktion direkt auf diesen Token zu und ignoriert den Current Token. Als Beispiel versuchen wir den Wert der Property "Klugheit" des neuen Tokens herauszufinden. Dafür nutzen wir die bereits bekannte Funktion getProperty().
Mit Hilfe des Tokennamen ist das recht einfach:
Code: Select all
[r: getProperty("Klugheit", "Token-Test")]
Code: Select all
[h: ziel.Token = "Token-Test"]
[r: getProperty("Klugheit", ziel.Token)]
Code: Select all
[h: ziel.Token = getSelected()]
[r: getProperty("Klugheit", ziel.Token)]
Die Funktion "switchToken()"
Die Funktion switchToken(), bei der du auch wieder Token-ID oder Tokenname als Parameter angeben kannst, ist etwas Besonderes. Wenn du diese Funktion in einem Makro anwendest, bezieht sich alles was nach dieser Funktion in dem Makro geschieht, auf das als Parameter angegebene Token. Ein Beispiel:
Code: Select all
[h: ziel.Token = getSelected()]
[h: switchToken(ziel.Token)]
Die Staerke des aktuell ausgewaehlten Tokens ist [r: Staerke], das Geschick [r: Geschick], und die Klugheit [r: Klugheit].
TOKEN Roll Option
Mit der TOKEN Roll Option änderst du für einen Makro-Befehl, z. B. für eine Funktion oder das Ändern einer Property, den Token auf das sich dieser Befehl bezieht. Als Parameter kannst du erneut eine Token-ID, einen Tokennamen, und sogar den GM-Namen eines Tokens angeben. Da es sich um eine Roll Option handelt musst du bei zusätzlicher Verwendung anderer Roll Options, z. B. hide oder result, diese mit einem Komma (,) voneinander trennen. Ein Beispiel:
Code: Select all
[h,token("Token-Test"): Geschick = 16]
[r,token("Token-Test"): getProperty("Geschick")]
Code: Select all
[token(zieltoken), code:
{
[Befehl 1]
[Befehl 2]
}
]
Code: Select all
[token("Token-Test"), code:
{
[h: Staerke = 18]
[h: Geschick = 18]
[h: setProperty("Klugheit", 18)]
[r: "Die Staerke von Token-Test ist "+Staerke+", das Geschick "+getProperty("Geschick")+", und die Klugheit "+Klugheit]
}
]