Extended am Sonntag #3
Variablen-Tags
Im vorherigen Beitrag ging es darum, wie und wo man Variablen erstellt, und diesmal soll es um eine flexible Methode gehen, diese einzusetzen: Variablen-Tags.
Hier könnte Ihre Variable stehen
Tags sind Platzhalter, die in einem Text oder anderswo eingebaut werden. Sie signalisieren Extended, dass anstelle des Tags der Wert, der mit dem Tag verbunden ist, verwendet werden soll.
Tags werden mit Hilfe der Sequenz ${...}
ausgezeichnet. Innerhalb der geschweiften Klammern steht die Referenz.
Beispiel: Aus ${wow:player} ist ${wow:player:class}.
wird in meinem Fall Seleves ist Jägerin.
Wo man Tags einsetzen kann
Viele Eingabefelder in Extended unterstützen Tags, aber nicht alle. Dort, wo sie nicht unterstützt werden, bleibt das Tag einfach wie eingegeben stehen.
Die folgende Liste habe ich vom GitHub der Entwickler übernommen (https://github.com/Total-RP/Total-RP-3-Extended/wiki/Variable-tags
):
Liste dynamischer Felder
Kategorie | Feld |
---|---|
Items |
|
Dokumente |
|
Zwischensequenzen |
|
Kampagnen |
|
Effekt Verzögerung |
|
Effekt: Textanzeige |
|
Effekte: Sprechen und Emotes |
|
Effekt: Item hinzufügen/zerstören |
|
Effekt: Behälter reparieren/beschädigen |
|
Effekt: Abklingzeit starten |
|
Effekt: Kamera-Zoom |
|
Effekt: Makro ausführen |
|
Effekt: Variablenoperation |
|
Effekt: Signal senden |
|
Zufälliger Wert |
|
Worauf man mit Tags zugreifen kann
Wenig überraschend dürfte sein, dass man auf den Wert von Variablen zugreifen kann, doch auch Item Ids werden durch den farblich markierten Namen des Items ersetzt (z.B. blau bei seltenen Gegenständen).
Außerdem gibt es verschiedene vorgefertigte Tokens, für die man keine eigene Variable erstellen muss (bspw. Charaktername).
Tag | Beispiel | Ergebnis |
---|---|---|
Token |
|
|
Variable |
|
|
Item |
|
[Brief] |
Die eingebaute Vorfahrt
Was passiert, wenn die Variable var
als Objektvariable erstellt wurde und im „Benutzen“-Arbeitsablauf nochmals mit selbem Namen als Arbeitsablauf-Variable? Wie wird ${var}
ausgewertet?
Extended hat für solche Fälle eine festgelegte Reihenfolge. Sobald ein Treffer ausgemacht wurde, wird dessen Wert verwendet.
- Tokens
- Arbeitsablauf-Variablen
- Objektvariablen
- Kampagnen-Variablen
- Item Ids
Die Antwort auf die obige Frage lautet also: Es wird der Wert der Arbeitsablauf-Variablen verwendet, man sagt auch, sie überdeckt die Objektvariable.
An dieser Stelle sei daran erinnert, dass man möglichst eindeutige Variablennamen verwenden sollte, um solche Effekte zu vermeiden.
Tokens
Wie oben erwähnt, bietet Extended verschiedene Tokens für häufig verwendete Werte, wie dem Spielernamen, der Klasse, usw.
Eine vollständige Liste ist ebenfalls dem GitHub der Entwickler zu entnehmen:
Liste vorgefertigter Tags
Token | Wert | Bemerkung |
---|---|---|
|
Spielername | |
|
Name des Ziels (d.h. der anvisierten Einheit) | |
|
Spieler-Id | z.B. Seleves-Thrall
|
|
Ziel-Id | |
|
Volk des Spielers | lokalisiert1 |
|
Volk des Ziels | lokalisiert1 |
|
Klasse des Spielers | lokalisiert1 |
|
Klasse des Ziels | lokalisiert1 |
|
Voller Name aus dem TRP3-Profil | weicht auf wow: aus2
|
|
Vorname aus dem TRP3-Profil | weicht auf wow: aus2
|
|
Nachname aus dem TRP3-Profil | weicht auf wow: aus2
|
|
Voller Name aus dem TRP3-Profil des Ziels | weicht auf wow: aus2
|
|
Vorname aus dem TRP3-Profil des Ziels | weicht auf wow: aus2
|
|
Nachname aus dem TRP3-Profil des Ziels | weicht auf wow: aus2
|
|
Volksname aus dem TRP3-Profil | weicht auf wow: aus2
|
|
Volksname aus dem TRP3-Profil des Ziels | weicht auf wow: aus2
|
|
Klasse aus dem TRP3-Profil | weicht auf wow: aus2
|
|
Klasse aus dem TRP3-Profil des Ziels | weicht auf wow: aus2
|
|
männliche/weibliche Variante, abhängig vom Geschlecht des Spielers | Damit kann man recht leicht grammatikalisch korrekte Sätze bauen, z.B.${trp:player:first} zieht ${gender:player:seine:ihre} Waffe.
|
|
männliche/weibliche Variante, abhängig vom Geschlecht des Ziels | |
|
n-tes Ereignis-Argument | nur in Arbeitsabläufen, die von einem Spielereignis ausgelöst werden |
|
Rückgabewert des letzten Effekts | z.B. das Ergebnis des „Würfeln“-Effekts |
1 Lokalisiert bedeutet, dass der Wert in die Sprache des Spielclients übersetzt wird. Z.B. kann ${wow:player:class}
auf einem deutschen Client den Wert „Blutelf“ haben, im englischen jedoch „Blood Elf“.
2 weicht auf wow:
aus bedeutet, dass der entsprechende Standardwert aus dem Spiel benutzt wird, falls kein TRP3-Profil existiert, oder dort keine Information vorhanden ist.
Modifikatoren von Variablen-Tags
Standardwert
Mit ::
kann man einen Wert für den Fall festlegen, dass die Variable nicht existiert.
Z.B. wird mit
${count::0}
der Wert der Zählervariablen count
ausgegeben, oder Null, falls es diese Variable (noch) nicht gibt.
Dezimalstellen festlegen
Mit #n
kann man bei einer Zahl einstellen, auf wieviele Dezimalstellen diese gerundet werden soll.
Z.B. liefert
${distance#1}
einen Wert wie 11,6.
Standardmäßig wird auf zwei Stellen gerundet.
Viel Spaß beim Experimentieren und
bis zum nächsten Sonntag…