[Guide][Wiki-Beitrag] How-To Total RP 3 Extended ❔

Das mit dem Wiki-Beitrag werde ich gleich mal ausprobieren, aber jetzt heißt es erstmal…

Extended am Sonntag #2


Variablen

Wer sich beim Wort „Variable“ mit Schrecken an seine Mathestunden erinnert, muss sich keine Sorgen machen. Variablen in Extended sind viel schrecklicher, ähm, ich meine, sie erfüllen einen ganz anderen Zweck.

Eine Schublade für jede Information

Immer, wenn sich Extended etwas für einen bestimmten Zeitraum merken soll, wird eine Variable benötigt, zum Beispiel:
  • Text, den der Spieler eingibt
  • Anzahl der bereits besiegten Monster in einer „Killquest“
  • eine Entscheidung, die der Spieler in einer Zwischensequenz trifft

Jenachdem, wie lange die Information benötigt wird, bietet Extended unterschiedliche Speicherorte, oder Quellen an.
Außerdem gibt es verschiedene Operationen, mit denen man den gespeicherten Wert verändern kann.

Wo Variablen gespeichert werden

Arbeitsablauf-Variablen

Diese sind nur so lange gültig, bis der Arbeitsblauf, in dem sie erschaffen werden, beendet wurde. Beispielsweise verwendet die Wurfmünze eine solche Variable. Da sie nur benötigt wird, um einen Münzwurf zu simulieren, ist sie im Arbeitsablauf genau richtig.
Wenn man die Münze ein weiteres Mal wirft, wird die Variable neu berechnet, unabhängig vom vorherigen Wert.

Objekt-Variablen

Wählt man als Quelle Objekt aus, wird der Wert in dem Item gespeichert, das den Arbeitsablauf auslöst.

Vorsicht: Damit das funktioniert, muss Extended einen Bezug zu einem Item herstellen können. Wenn der Arbeitsablauf zu einem Item gehört, ist das möglich, bei einem Questschritt bspw. aber nicht.

Solche Variablen sind persistent, sie bleiben auch bestehen, wenn man sich ausloggt oder das Profil wechselt. Sie werden erst gelöscht, wenn das Item, in dem sie gespeichert sind, zerstört wird.

Außerdem werden diese Variablen für jedes Item individuell gespeichert. Solltest du mehrere Kopien eines solchen Items in deinem Inventar haben, können sich die Werte von Item zu Item unterscheiden.

Kampagnen-Variablen

Ähnlich wie Objektvariablen sind diese individuell und persistent für jede einzelne Kampagne. Sie werden erst dann gelöscht, wenn die Kampagne zurückgesetzt bzw. neu gestartet wird.

Damit eine Variable in der aktiven Kampagne gespeichert werden kann, muss natürlich eine Kampagne aktiv sein.

Beachte, dass man lediglich einstellen kann, dass eine Variable in der momentan aktiven Kampagne gespeichert werden soll, man kann sich aber nicht auf eine bestimmte Kampagne festlegen. Du solltest daher die Quelle „Aktive Kampagne“ nur dann verwenden, wenn sich der Arbeitsablauf innerhalb einer Kampagne oder innerhalb von dessen inneren Objekten befindet.

Wie man Variablen verändern kann

Könnte man Variablen nicht verändern, dann wären sie nicht sehr variabel…

Der Effekt Experte > Variablenoparation bietet neben den vier Grundrechenarten auch Initialisierung und Wertzuweisung an. Über Wertzuweisung kannst du deiner Variablen einen neuen Wert geben, der alte geht dabei verloren. Initialisierung weist der Variablen nur dann einen Wert zu, wenn diese noch nicht existiert, d.h. eine Wertzuweisung ohne Überschreiben.

Mit Experte > Dynamischer Wert kannst du deiner Variablen einen Wert aus einer Vielzahl von Zuständen innerhalb der Spielumgebung zuweisen, z.B.

  • Name des Gebiets, in dem sich der Charakter befindet
  • Charakter-Level
  • zufälliger Wert

Wie man Variablen benennt

Wie in der Beschriftung eines Formulars sollte der Variablenname Aufschluss über den Inhalt geben, gleichzeitig einprägsam und eindeutig sein. Vermeide Sonderzeichen im Variablennamen.

Beispielsweise sind gute Bezeichner für die Anzahl besiegter Gegner innerhalb einer Quest mobsSlain, monsterKillCounter oder numMobsKilled. Weniger treffend sind x, mobs oder count.

Wie man Variablen benutzt

Was nützen die vielen Variablen, wenn man nicht darauf zugreifen kann? Es gibt zwei wesentliche Methoden, um an den Wert einer Variablen zu kommen.

Variablen in Bedingungen

Innerhalb einer Bedingung kann man mit Expert > Variablenwert (Text/Numerisch) den momentanen Wert mit einem anderen vergleichen.

Variablen in Tags

Wird der Variablenwert direkt benötigt, helfen Variable Tags. Das ist ein Thema für einen anderen Sonntag. Hier sei nur kurz erwähnt, dass man ${var} als Platzhalter für den Wert der Variable var verwenden kann.

Beispiel 1: Wurfmünze mit Gedächtnis

Ich möchte die oben erwähnte Wurfmünze etwas aufmotzen. Der Tooltip soll mir anzeigen, wie oft Kopf bzw. Zahl geworfen wurden.

  1. erstelle ein neues Item
    1. linker Tooltip-Text: Kopf: ${headsCount::0} mal
      Mit ${headsCount::0} weisen wir Extended an, diese Passage durch den Wert der Variable headsCount zu ersetzen.
      ::0 sorgt dafür, dass 0 angezeigt wird, falls die Variable (noch) nicht existieren sollte.
    2. rechter Tooltip-Text: analog Zahl: ${tailsCount::0} mal
  2. Stelle das Item als benutzbar ein.
  3. Wechsle ins Tab Arbeitsabläufe, dort stellst du 7 Schritte ein:
    1. Variablenoperation Initialisierung headsCount auf 0.
      Als Quelle geben wir Objekt an.
      Damit setzen wir vor dem ersten Wurf die Anzahl der Kopf-Würfe auf 0.
    2. analog: Variablenoperation Initialisierung tailsCount auf 0.
    3. Dynamischer Wert coinToss als zufällige Zahl zwischen 1 und 2. Die Quelle Arbeitsablauf genügt.
    4. Textausgabe "Kopf", mit Bedingung: coinToss = 1
      Klicke mit gedrückter STRG-Taste auf den Effekt, um die Bedingung einzustellen.
    5. analog "Zahl", falls coinToss = 2
    6. Variablenoperation Addition: headsCount um 1 erhöhen.
      Hier muss dieselbe Beedingung wie in Schritt 4 eingefügt werden. Beachte, dass die Variablenquelle im Effekt Objekt ist, während in der Effektbedingung Arbeitsablauf stehen sollte.
    7. analog zu Schritt 6 für tailsCount
Import-Code: Wurfmünze mit Gedächtnis !9svBpknqq4FlM43mEx3Tuj0e(q5LyicLtMcepJduAxKQL2lTf4uJ8RXFg(T7pMZSTr0k3zIjEbyA3z3zEEMzyFqb6HUc6RHPb6krqinSmmKsRwMoxVkaDnPtadCjBbcDC4vxbuaIwceMcyheg2hHxLEZA7JlpU8PFzJYpmVB6UKcBBJVEC5w)ye6ogxHGRdcZ3LTE7DFp5ZkAROIJlFPk8UVfSPijkhbWJp3RD0Kb6WlM6Y2zKldkpt4fZ7Rx0JjIuysb0x72HTxPTd6IquY(fBJYdweKgLSq0IcxN(jdq4A)nXveUWpkUoHPIf6YfBAY0Cf)cXmYYnmqv21O3IcryVF2I0vFqfqX4N9(8YnHuDj822VJ7HWPMc62abdca(dqFJJYjBccs2H59aWnQm)KWFdbUQ8sZZ1aDqddFM0TmevZvEpxzfA1WRb7q(pwqNAA3FbzYoS(taku3wW0NQNk3v7vIDWgvWhxqX7xH8bnY)SCzCyhTBx93Z9NkXFLW8i(j6gG55y3lyhnEuyN4mSJVX8aSZID08Hho)37GLJ8NDUbUOoPl4o6JhDf)f6w7cN4C94MNUxKRc2Lfv8PHQ9QyDciTnpTiqLea4qVEqLTMKScJiXRrArmoysCJo64bS2cmHNDaqsmw32Omb0JEt1kwJMZpOqcv6(zPS6OEC8dhZUPSrsQGkMis(Z92K5htYNZq3M0UZOc5Igxq5RBp6oN1Lc5LsXXLgg2sPTfjWvmRsmhgrPZL(b1pPPW2SLwCTomev8EdjDYKs300yvG4p(

Beispiel 2: Anpassbare Taschen

Zur Organisation des Extended-Inventars möchte ich eine Tasche erstellen, der ich eine Kategorie zuweisen kann, z.B. Briefe, Kampagnen-Items, Erfindungen,…

  1. erstelle einen Behälter-Gegenstand
  2. Lege ${category::(keine)} als Tooltip-Text fest, links oder rechts je nach Präferenz
  3. Setze die Tasche auf benutzbar
  4. füge im Tab "Arbeitsabläufe" einen Effekt hinzu
    1. Effekt: Experte > Eingabeaufforderung
    2. Text: neue Kategorie eingeben
    3. Variablenname: category
    4. Variablenquelle: Objekt
  5. Fertig ist die anpassbare Tasche.
    Mit der rechten Maustaste kannst du die Kategorie festlegen.
    Mit Doppelklick öffnest du die Tasche wie gewohnt.
Import-Code: Anpassbare Tasche !LfvBpQjqq4)m9JT3Tahnxjnnbr)G501RoOM(LbqyJUremSRMABo(10)j9p2nZYzAtB2ndZ(W8YZ8mOhMIsp6kceO0hbpFrONFGqiEUvyBqzafbmvswlcJI5xpducEpgq4jiOBUKDuBkZ2wSll4JimBccpvyv7A70keswGBrqgJqAHPCpHaPmYxJr5duXI5hBC21eKGYyj)y5ueE3plhk01OOpFqPBuF5fegZ93xqrUcWru9gXXVs6Q6e2MKY4BMWLJOnKW0UTzLrXou)jlp6GAy(jpDfcxk6Yo11E8eLtr3oZWp)ZW0NtuyNARQXPv34glsqRBAqzi7ADhGU1AJfVDGkLTqxBgeZ5J5(oBbdtuMhevT6IY8H09Df11KEGsspHXiicV3Z)EFV(Cp)OGpffsDm5)WfrSOyx)2(eQwtJ5DpChrS5uBKlCA1)2gRBhruzXuw7MVXTegVY9HKoGshOLr43zNLKdNs63O1FQBfKoe2G(cXKBNQCV1COwxEq18((8Zh7Z)lv8hN7Z)9VAQuDnCPmQYZDA71zeRQzX060YbMBr81

Viel Spaß beim Experimentieren und
:wave: bis zum nächsten Sonntag…

2 Likes