Introduction to Properties/de
BEGINNER
THIS IS A BEGINNER ARTICLE
Kampagneneigenschaften
Eine der mächtigsten Fähigkeiten in MapTool ist die von Spielmarken, einen eigenen Satz von Eigenschaften zu haben. Diese Eigenschaften können von Makros gelesen oder geändert werden und werden genutzt, um schnell Informationen zu einer Spielmarke zu liefern. Im Grunde sind diese Eigenschaften so etwas wie ein eingebauter Charakterbogen.
Weil sie so immens nützlich sind, haben die Entwickler von MapTools viele verschiedene Wege geschaffen auf diese Eigenschaftswerte zuzugreifen und sie zu verändern. In diesem Artikel werden wir sehen, wie man einen Satz von Kampagneneigenschaften erstellt, ihnen Standardwerte zuordnet und sie zur Veränderung des Werteblatt nutzt.
Das Beispiel-Regelwerk oder MTRPG
Um sinnvolle Beispiele für diesen Artikel zu zeigen, haben sich einige MapTool-Nutzer ein Beispiel-Regelwerk ausgedacht -- ein einfaches Rollenspielsystem speziell zur Darstellung der verschiedenen Funktionen von MapTool. Hier nennen wir dieses Regelwerk MTRPG (also MapTool Roleplaying game). Im Folgenden werden wir eine neue Kampagnendatei erstellen und hier neue Kampagneneigenschaften eintragen, die den Attributen (Charaktereigenschaften) unseres Rollenspieles entsprechen.
Kampagneneigenschaften
Wir beginnen, indem wir im Menü Bearbeiten > Kampagneneigenschaften aufrufen. In diesem Fenster gibt es sechs Reiter:
- Spielmarkeneigenschaften: Hier findest du alle Eigenschaftsgruppen, die in der Kampagne hinterlegt sind
- Ablagen: Hier kannst du einen oder mehrere Pfade zu Repositories, Speicherorten für Kampagnendateien, eintragen. Sie dienen einem schnelleren Download für die Spieler, die sich erstmalig auf dem Server für eine Kampagne anmelden. So werden Karten und Bilder schneller geladen und es kann gleich los gehen.
- Sicht: Hier wird festgelegt, welches Sichtmodell in der aktuellen Kampagne verwendet werden soll
- Licht: Hier können Lichtquellen und Auren definiert werden
- Zustände: Hier kannst du mögliche Zustände der Spielmarke festlegen
- Balken: Hier werden token bars festgelegt
Am unteren Ende des Fensters findest du Schaltflächen für Import, Export, und den Import von Vordefinitionen.
- Import: Hier können exportierte Kampagneneigenschaften importiert werden, die dann die aktuellen Werte ersetzen Kampagneneigenschaften-Dateien haben die Endung .mtprops. Anmerkung: Besser immer erst die aktuellen Einstellungen exportieren, damit sie nicht komplett verloren gehen.
- Export: Hier können die aktuellen Kampagneneigenschaften in eine Datei gespeichert werden.
- Vordefinitionen importieren: Es wird eine Eigenschaftengruppe entsprechend dem rechts daneben gerade ausgewählten Spielsystem importiert und in die Eigenschaftengruppe "Basic" geschrieben. Aktuell vorhandene Eigenschaften werden gelöscht.[Seit Version 1.6.0]
In diesem Artikel beschäftigen wir uns nur mit dem ersten Reiter.
Der Reiter Spielmarkeneigenschaften
Der beim Öffnen des Fensters im Vordergrund stehende Reiter ist Spielmarkeneigenschaften. Er sieht relativ unkompliziert aus, beinhaltet aber wohl die komplexesten Anpassungsmöglichkeiten in MapTool. Es gibt drei Textfelder auf diesem Reiter:
- Name: Das ist die Benennung des Spielmarkentyps, die gerade im Feld darunter angezeigt wird. Beim Öffnen des Dialoges ist das Feld leer.
- Spielmarkentyp: Diese Spalte auf der linken Seite ist nicht direkt änderbar. Sie enthält die Namen der Eigenschaftengruppen bzw. Spielmarkentypen, die in der aktuell geladenen Kampagne vorhanden sind. Solange du keine Kampagne geladen hast enthält sie nur den Eintrag Basic
- Im großen Hauptfeld des Dialoges ist Platz für die Eigenschaften, die einem der Spielmarkentypen zugeordnet sind - eine Gruppe von Eigenschaften also, die diesen Spielmarkentypen ausmachen. Wählst du einen Spielmarkentypen auf der linken Seite, werden dir hier die Eigenschaften und ihre Standardwerte angezeigt.
Spielmarkentyp
In diesem Feld stehen die Namen der Eigenschaftengruppen, die in eienr Kampagne definiert sind. Eine dieser Gruppen kann jeweils einer Spielmarke zugeordnet werden. Entsprechend finden sich diese Namen dort (in der Konfiguration der Spielmarke wieder.
Name
Dieses einfache Textfeld dient der Vergabe eines sprechenden Namens für das jeweilige Eigenschaftenset, welches als Spielmarkentyp dann in der Auswahl des Tokens wieder unter eben diesem Namen erscheint. Häufig gewählte Namen sind deshalb SC oder NSC.
Eigenschaften
Hier nun wird es richtig verrückt! In diesem Textfeld werden die Eigenschaften eines Spielmarkentypen definiert. Diese Eigenschaften können statische Werte sein, es gibt aber auch viele andere Möglichkeiten. So kann ein Wert von einem (oder mehreren) anderen abgeleitet werden. Ein Wert kann durch ein Makro während des Spiels verändert werden. Werte können im Werteblatt erscheinen, müssen es aber nicht. Manche Werte sind nur dazu da, von Makros verwendet zu werden, tauchen aber sonst nirgends im Spiel offen auf. So vielfältig, wie die Möglichkeiten sind, so schwierig ist es deshalb, hier eine umfassende Beschreibung abzugeben. Nimm dieses Feld am Anfang also einfach mal als Liste der Attribute und Werte wie Trefferpunkte und Rüstungsklasse eines Charakters oder einer Kreatur. Weitere Einsatzmöglichkeiten lernst du später kennen.
Eigenschaften erstellen
Eigenschaften ohne Standardwert
In den Regeln des MTRPG findest du MTRPG's Hauptattribute eines Charakters: Stärke, Geschick, Intelligenz und Ausdauer. Wir werden nun die Standardwerte los und tragen unsere eigenen hier ein.
- Wähle im Menü Bearbeiten > Kampagneneigenschaften.... Auf der linken Seite unter Spielmarkentyp siehst den Eintrag "Basic".
- Wähle den Eintrag "Basic". Im Hauptfeld erscheinen nun eine ganze Reihe Eigenschaften mit allerlei Symbolen wie @, #, und so weiter.
- Markiere alle Eigenschaften und lösche sie aus dem Feld. Das Textfeld sollte nun komplett leer sein.
- Belasse das Feld Name wie es ist - MapTool braucht immer einen Eintrag "Basic", weshalb wir ihn nicht ändern dürfen.
- Im Feld für die Eigenschaften unter dem Namensfeld tragen wir nun die vier Hauptattribute des MTRPG ein, also:
Gut! Nun sollte dein Bildschirm ungefähr so aussehen wie der Screenshot "Die neuen Hauptattribute".Stärke
Geschick
Intelligenz
Ausdauer - Bist du mit den Eintragungen fertig, dann wähle die Schaltfläche Aktualisieren. Keine Angst, wenn jetzt alle Werte verschwinden! Sobald du wieder "Basic" wählst, sind sie wieder da.
- Wähle nun OK um die gemachten Änderungen zu bestätigen. Das Fenster "Kampagneneigenschaften" schließt sich.
- Gehe im Menü zu Datei > Speichere Kampagne unter... und speichere deine Kampagne unter dem Namen MTRPG.cmpgn. Du hast nun eine neues Kampagnendatei mit eigenen Kampagneneigenschaften erstellt.
Sobald die Eigenschaften aktualisiert wurden, haben nun alle Spielmarken auf der Karte diese Eigenschaften genauso, wie jede neue Spielmarke, die du auf die Karte ziehst. Das liegt daran, dass sie alle in den Spielmarkeneigenschaften den Typ "Basic" gewählt haben, da es ja bislang keinen anderen gab.
WICHTIG: Auch wenn die Namen von Eigenschaften theoretisch Leerzeichen haben können, sollte man sie vermeiden. Leerzeichen sind in Makros nur schwer zu verarbeiten und damit eine potentielle Fehlerquelle. Bei Eigenschaften wie "Hit Points" solltest du deshalb besser HitPoints ohne Leerzeichen schreiben.
Eigenschaften mit Standardwert
Wenn du deine Eigenschaften so einträgst wie wir es gerade getan haben, dann wirst du feststellen, dass eine neu erstellte Spielmarke zwar die Eigenschaften hat, diese aber keine zugeordneten Werte haben. Das bedeutet nicht, dass sie Null wären oder einen leeren Wert hätten; sie sind eigentlich gar nicht da, was beim Programmieren immer der schlechteste Fall ist.
In MTRPG ist der kleinste Wert, den unsere Hauptattribute haben können 1. Um gänzlich undefinierte Werte zu vermeiden macht es also Sinn, diesen Mindestwert jeder neuen Spielmarke zuzuweisen, die wir erstellen. Das geht so:
- Öffne die Kampagneneigenschaften (Bearbeiten > Kampagneneigenschaften...).
- Wähle den Spielmarkentyp Basic aus.
- Füge ans Ende jedes Hauptattributes ":1" (ohne Anführungszeichen) an. Dein Eintrag sollte dann so aussehen:
Stärke:1
Geschick:1
Intelligenz:1
Ausdauer:1 - Wähle wieder die Schaltfläche Aktualisieren.
Durch das Setzen eines Doppelpunktes und eines anschließenden Wertes teilst du MapTool mit, dass dieser Wert der Standardwert ist, der immer verwendet werden soll, wenn einer Spielmarke für genau diese Eigenschaft dieses Typs kein eigener Wert gegeben wurde.
Anmerkung: Auch ein Standardwert muss natürlich nicht zwingend eine Zahl sein. Hier kann ebensogut ein Symbol, ein Text oder, und das ist ziemlich weird, ein Makro stehen.
Wenn du jetzt eine neue Spielmarke auf die Karte ziehst, siehst du in den Eigenschaften die nuen Eigenschaften und dass ihnen allen schon der Wert 1 zugeordnet ist. Keine Sorge: Hatte eine Spielmarke schon vorher einen zugeordneten Wert, so wird er nicht durch einen Standardwert überschrieben.
Eigenschaften im Werteblatt anzeigen
MapTool hat ein nettes Feature namens Werteblatt, das kurz auch in der Erstellung und Nutzung von Spielmarken erwähnt wird - ein Popup, das in der unteren, linken Ecke erscheint, wenn man mit der Maus über eine Spielmarke fährt.
Du magst einwenden: "Moment mal, da ist kein Werteblatt, wenn ich das mache! Wo soll das sein?". Der Grund dafür, wenn du das Werteblatt nicht angezeigt bekommst, kann verschiedene Gründe haben. Der Wichtigste ist, dass die Werte über die Kampagneneigenschaften eingetragen sein müssen, die ich im Werteblatt angezeigt bekommen möchte. Hier müssen zwei Voraussetzungen erfüllt sein:
- Die Eigenschaften müssen für die Anzeige im Werteblatt gekennzeichnet sein
- Die Eigenschaften müssen einen zugewiesenen Wert besitzen
Hinweis: Daneben gibt es auch noch ein paar Häkchen in den MapTool Einstellungen, die das Verhalten des Werteblattes beeinflussen.
Anzeige im Werteblatt
Wenn du in die untere Hälfte des Fensters Kampagneneigenschaften siehst, findest du eine Legende zu den möglichen Zusätzen für die Eigenschaften und was sie bewirken. Drei davon beeinflussen, wem das Werteblatt angezeigt wird:
- *: Das Sternchen zeigt die Eigenschaft für alle im Wertebaltt an
- @: Das @-Zeichen zeigt die Eigenschaften im Werteblatt nur dem Besitzer (und der SL)
- #: Eine Raute zeigt die Eigenschaften im Werteblatt nur der Spielleitung an
Das Sternchen ist zwingend zu setzen, damit etwas angezeigt wird. Auch wenn du nur der SL den Wert anzeigen willst, muss das Sternchen stehen, also in diesem Fall "*@" vor dem Eigenschaftennamen.
Unsere Hauptattribute sollen für alle sichtbar sein, also setzen wir an den Beginn jeder Zeile einen Stern. Das sollte dann so aussehen:
*Stärke:1
*Geschick:1
*Intelligenz:1
*Ausdauer:1
Aktualisieren vor dem Schließen nicht vergessen!
Wenn du jetzt mit der Maus über deine Spielmarke fährst, solltest du neben deinem Profilbild die Anzeige ihrer Hauptattribute mit den Werten sehen. Das gilt auch für eine Spielmarke, die du jetzt erst neu erstellst, da die Eigenschaften einen Standardwert zugewiesen bekommen.
...mit Kurznamen
Manchmal sind Namen von Eigenschaften sehr lang. Zudem sollten in den Eigenschaftennamen keine Leerzeichen verwendet werden. Beides sieht im Werteblatt nicht sonderlich hübsch aus oder zerstört sogar die Optik. Um das zu umgehen, gibt es in MapTool die Möglichkeit, für jede Eigenschaft einen Kurznamen zu vergeben. Damit kann man eine Kurzbezeichnung für das Werteblatt angeben, man kann aber auch eine Schreibung mit Leerzeichen hinterlegen. Im Beispiel von weiter oben könnte man "Hit Points als Kurzbezeichnung angeben. Und wie geht das jetzt? Man fügt den Kurznamen in runden Klammern an den Eigenschaftsnamen (vor dem Doppelpunkt) an:
*Stärke (STR):1
*Geschick (GES):1
*Intelligenz (INT):1
*Ausdauer (AUS):1
Diese Kurznamen ersetzen nun im Werteblatt die Namen der Eigenschaften. Auch wenn sie Kurznamen heißen: Es gibt keine Längenbegrenzung für sie (außer dem Bildschirmrand).
Die Kurznamen sind nur für die Darstellung gedacht - für Makros also immer den Eigenschaftennamen verwenden.
Tipp: Vielleicht ist dir schon aufgefallen, dass die Werte im Werteblatt ziemlich an den Eigenschaftswerten kleben. Ein Abstand wäre hier optisch schön und auch gut für die Lesbarkeit. Um das zu erreichen, kann man in der ersten Zeile statt einer Eigenschaft eine Überschrift eingeben. Damit das dann auch angezeigt wird, muss natürlich ein Stern davor und ein Wert dahinter. Als Wert reicht einfach ein Punkt; der fällt nicht auf. Was da steht ist relativ egal, Hauptsache die Schrift ist lang genug.
*Attribute:.
*Stärke (STR):1
*Geschick (GES):1
*Intelligenz (INT):1
*Ausdauer (AUS):1
Abgeleitete Eigenschaften erstellen
So, nun wollen wir etwas wirklich cooles machen. In vielen Rollenspielsystemen gibt es Attribute, die sich aus anderen Eigenschaftswerten ergeben - zum Beispiel gibt es im RPG Savage Worlds eine Regel, die den Wert fürs "Parrieren" aus dem für die Fertigkeit für den Kampf ableitet; ähnlich verhält es sich in Dungeons & Dragons, wo die "Trefferpunkte" abhängig von der Konstitution ist.
Nun kannst du diese ageleiteten, also errechneten Eigenschaften natürlich für jede neu erstellte Spielmarke manuell eintragen, so wie du es bei den Hauptattributen tust. Aber wie wäre es, wenn wir MapTool das tun ließen? Richtig, die Rechenarbeit kann der PC (auch Rechner genannt) selber erledigen, denn Eigenschaftswerte können nicht nur Zahlen oder Text sein, sondern eben auch Gleichungen. In der Anzeige steht dann das Ergebnis dieser Gleichungen. Legen wir los.
In MTRPG gibt es drei Attribute, deren Werte aus Hauptattributen errechnet werden: Trefferpunkte, Rüstungsklasse und Bewegung. Diese Attribute haben die Kürzel TP, RK und Bw. Jetzt kümmern wir uns erst einmal um Trefferpunkte und Bewegung. Die Rüstungsklasse heben wir uns für später auf, da die Rechnung hier etwas umfangreicher wird.
Zuerst erstellen wir mal die Eigenschaften mit ihren Namen:
- Wähle den Spielmarkentyp Basic
- Füge nun unter der Zeile Ausdauer die folgenden Zeilen ein:
*Trefferpunkte (TP)
*Rüstungsklasse(RK)
*Bewegung(Bw)
Du hast vielleicht schon bemerkt, dass wir keine Defaultwerte gesetzt haben. Noch nicht Aktualisieren --noch nicht --erst noch etwas Makro-Code für die abgeleiteten Werte.
Im MTRPG steht, dass die Trefferpunkte der Ausdauer mal sechs entsprechen sollen. Das in die Kampagneneigenschaften zu übernehmen ist rech einfach. Ändere die Zeile für die Trefferpunkte wie folgt:
*Trefferpunkte (TP):{Ausdauer * 6}
Was wir hier getan haben ist, einen Standardwert für die Trefferpunkte einzutragen (du erinnerst dich - alles nach dem Doppelpunkt). Der Unterschied ist, dass wir statt einer Zahl eine Berechnung eingetragen haben und zwar in der Form von Makro-Anweisungen. Damit weisen wir MapTool an, den Wert auszurechnen und ihn uns in den Eigenschaften der Spielmarken anzuzeigen. Dabei passieren zwei Dinge:
- Wir haben die Berechnung in geschweifte Klammern { } gepackt, damit MapTool erkennt, dass es sich hier nicht um normalen Text, sondern um eine Makro-Anweisung handelt.
- In den Klammern haben wir gesagt, dass MapTool den Wert Ausdauer finden, mal sechs nehmen und dann in die Eigenschaft Trefferpunkte schreiben soll.
Beim Wert für die Bewegung ist es noch einfacher, denn der Wert der Geschicklichkeit muss einfach nur übernommen werden. In der Eigenschaft siehtr das dann so aus:
*Bewegung(Bw):{Geschick}
Wenn du so weit fertig bist, sieht dein Spielmarkentyp Basic so aus:
*Stärke (STR):1
*Geschick (GES):1
*Intelligenz (INT):1
*Ausdauer (AUS):1
*Trefferpunkte (TP):{Ausdauer * 6}
*Rüstungsklasse(RK)
*Bewegung(Bw):{Geschick}
Wenn du nach dem Speichern der Werte mit der Maus über deine Spielmarke fährst, solltest du das Ergebnis wie in der nebenstehenden Abbildung bekommen. Erinnere dich daran, dass wir zwar sagten, die Rüstungsklasse solle im Werteblatt angezeigt werden, sie fehlt aber, weil ihr bisher noch kein Wert zugeordnet wurde.
Kampagne speichern
Bis hierhin hast du eine Reihe Kampagneneigenschaften im Spielmarkentyp Basic gelöscht und andere erstellt, eine Spielmarke auf der Karte plaziert und mit den erstellten Werten herumgespielt. Du solltest deshalb nun deine Änderungen an der geöffneten Kampagne speichern.
So kannst du demnächst auf die gemachten Änderungen wieder zugreifen, weitere Tricks und Kniffe ausprobieren und das MTRPG fertig schreiben. Womöglich machst du dann ja auch dein eigenes RPG draus?
Um die Kampagne zu speichern:
- Öffne im Menü Datei > Speichere Kampagne unter...
- Gib im Dialog deinen Dateinamen an. Etwas wie MTRPG.cmpgn ist gut!
- Suche dir einen Speicherort, wo du all deineen MapTool-Kram zukünftig ablegen willst (und den du regelmäßig sicherst).
- Wähle die Schaltfläche OK.
Deine Kampagneneinstellungen sind nun gespeichert und du kannst sie wieder aufrufen, wann immer du daran weiter tüfteln oder sie für ein Spiel verwenden willst.
Hinweise:
- Bitte achte darauf, dass eine Kampagnendatei (.cmpgn) nicht in einer älteren Version als der geöffnet werden kann, aus der heraus sie gespeichert wurde. In einer neueren Version von MapTool dagegen sollte es immer funktionieren. Über mehrere Versionen hinweg kann es natürlich trotzdem zu Problemen kommen, also lasse möglichst nicht zu viele davon aus.
- Sichere deine Kampagnendateien nicht im Ressourcenverzeichnis von MapTool (s. FAQ). Dort gespeicherte Informationen werden sehr wahrscheinlich bei einem Programmupdate überschrieben.
- Verwende ztum Spielen nicht deine ursprüngliche Kampagnendatei! Wenn du alle notwendigen Regeln und Funktionen eingebaut hast, dann sichere dir diese Version irgendwo anders weg, denn in einer Spieldatei werden nicht nur die Eigenschaften und Makros gespeichert, sondern auch Karten, Spielmarken und vieles anderes, was du bei einem neuen Spiel (mit einer anderen Gruppe) da nicht drin haben willst.
- Kampagnendateien sind wesentliche Teile von Frameworks. Zusammen mit ein paar anderen Dateien verwandeln sie dein MapTools in ein VTT für fast jedes Spiel.
Some Technical Details
A couple of times in this guide and in other guides the token properties have been described as "those properties that are visible" in this campaign, or the properties set up "for this campaign." There's a reason for phrasing it like this.
See, a token - if you cut one open and looked at its inner workings - is an XML file that contains a ton of information. It has information about its image, its size, its vision, light, shape, and - of course - its properties. What's important to understand here is that the token will remember not only the properties from the MTRPG, but if it was ever saved as an .rptok file or brought in from another campaign file, it will remember the properties from that campaign too. They won't be visible, but they're stored in the token even so.
So, in reality, a set of Campaign Properties really indicates those properties that:
- You can see if you open up a token by double-clicking on it, and
- You can directly edit by clicking in the cell next to them
This may sound like a recipe for disaster - what if you set up a property that was already set up but is hidden? Fortunately, MapTool will not, when running a macro, attempt to access any hidden properties unless you specifically instruct it to do so, using two special macro functions. So rest assured, you cannot accidentally access a property that's not set up in the Campaign Properties.
In summary, if a Property Type (such as the default Basic property type) has a property named HP, it will be stored in the token under the XML name HP. If another property type (such as a user-defined Pathfinder property type) also has a property named HP, they will both be referencing the same data on the token. Modifying the value of HP when the token is Basic and then changing the token Pathfinder will show the same value for HP.
Moving On from Here
MapTool supports very elaborate properties and derived properties, with a number of math functions and operations. A couple of the most common ones you might want to use are (the examples are not necessarily part of MTRPG; they're just examples):
- Basic math operators: addition (+), subtraction (-), multiplication (*), and division (/)
- Example: HitPoints: {Endurance * 6}
- Rounding: there are some functions to let you round numbers when you divide
- Floor: the floor() function rounds down. Example: HitPoints:{floor(Constitution / 2)} would divide Constitution by two, and round down
- Ceiling: the ceil() function works like floor(), but rounds up. Example: HitPoints:{ceil(Constitution/2)}
You can execute macros from properties. However, if there is an error, then it is possible to get into a sort of "infinite loop", so be sure to save frequently if you're going to try that approach. You might want to have a macro that is called from the property definition. That lets you test the macro without using the property and thus avoid the above infinite loop. When it has been tested thoroughly, then you can invoke it from the property.