Roll-Vorlagen sind eine besondere Facette desCharacter SheetsSystems, die zusätzliche Layout- und Styling-Optionen für die Anzeige von Rollergebnissen bieten.
Integrierte Rollenvorlagen
Die folgenden Rollenvorlagen sind in Roll20 integriert und können in jedem Spiel verwendet werden.
Standard
Um die Standardvorlage zu verwenden, verwenden Sie „&{template:default}“.
Eigentum | Erwarteter Wert |
---|---|
skill | Der Name der Rolle, angezeigt in der Kopfzeile der Rollenliste |
Die Standardvorlage ist speziellund listet jedes von Ihnen angegebene Argument in einer Tabelle auf. So könnten Sie beispielsweise Folgendes tun:
&{template:default} {{name=Test Attack}} {{attack=[[1d20]]}}
{{note= Dies ist ein Notizinhalt}} {{Saving Throw= vs Will}}
Hierist ein ziemlich genaues Beispiel der Standardvorlage mit ihren abhängigen CSS-Klassen.
Erstellen einer Rollenvorlage
Wenn Sie einSheet-Autorsind, können Sie so viele Rollenvorlagen in Ihr Character Sheet-HTML und CSS einbinden, wie Sie möchten. Wie das geht, verraten wir Ihnen weiter unten.
Wenn Sie einPro-Abonnent sind, können Sie Ihre eigenen Rollenvorlagen erstellen, wenn Sie in Ihrem Spiel die Charakterblattoption „Benutzerdefiniert“ verwenden. Folge den Anweisungen unten.
Definieren des Layouts der Rollenvorlage
Der erste Schritt beim Erstellen einer Rollenvorlage besteht darin, das Layout zu definieren, einschließlich der Eigenschaften, die Sie dem Spieler zum Ausfüllen zur Verfügung stellen möchten. Rollenvorlagen sind nur HTML, und Sie haben Zugriff auf denselben HTML-Code wie auf jeden anderen Teil eines Zeichenblatts (einschließlichDiv
undTabelle
). Hier ist ein Beispiel für den Aufbau eines Rolltisches:
<rolltemplate class="sheet-rolltemplate-test"> <div class="sheet-template-container"> <div class="sheet-template-header">{{rollname}}</div> {{#attack}}<div class="sheet-template-row">Angriff: {{attack}} {{attackadvantage}} gegen AC</div>{{/attack}} {{#damage}} <div class="sheet-template-row"><span>Schaden: </span>{{dmgcrit}} <span>Kritiker: </span>{{damage}}</div> <div class="sheet-template-row"><span>Typ: </span>{{dmgtype}}</div> {{/damage}} {{#atteffect}} <div class="sheet-template-row"> <span class="sheet-template-desc">Wirkung: </span>{{atteffect}} </div> {{/atteffect}} </rolltemplate>
Ihre Vorlage sollte einrolltemplate
Tag mit der Klasse „sheet-rolltemplate-<template_name>“ haben. template_name ist derselbe Name, der im &{template:<template_name>}-Teil des Befehls verwendet wird, und sollte keine Leerzeichen enthalten. Sie können die Rollenvorlage an einer beliebigen Stelle im HTML-Code Ihres Charakterblatts platzieren, wir empfehlen jedoch, sie ganz am Ende zu platzieren. Es wird automatisch aus Ihrer Vorlage „entfernt“, sodass es nicht als Teil des Blattes in der Zeichenansicht angezeigt wird. Beachten Sie, dass Sie Rolltemplates nicht ineinander verschachteln können.
Danach liegt es an Ihnen, zu entscheiden, wie Sie Ihre Rolle strukturieren. Wir empfehlen ein Tabellenlayout, aber es liegt an Ihnen.
Innerhalb der Vorlage haben Sie Zugriff auf Folgendes:
Eigenschaften
Mithilfe der doppelten geschweiften Klammern können Sie jede gewünschte Eigenschaft einschließen. Also würde{{myproperty}}
alles ausgeben (Inline-Rolle, Text). etc.) wird der Vorlage über{{myproperty=<value>}}
in der Rolle übergeben. Um eine neue Eigenschaft zu erstellen, fügen Sie sie einfach Ihrer Vorlage hinzu und geben Sie ihr einen eindeutigen Namen. Vermeiden Sie auch hier die Verwendung von Leerzeichen, um maximale Kompatibilität mit allen Hilfsfunktionen sicherzustellen.
Logik
Wenn Sie{{#<property>}}
gefolgt von{{/<property>}}
ausführen, werden alle Teile zwischen diesen beiden Tags nur angezeigt, wenn die Eigenschaft einen Wert enthält. Dies kann nützlich sein, um einer Vorlage mehrere unterschiedliche Teile hinzuzufügen, die möglicherweise nur zeitweise verwendet werden. Beispielsweise gilt der Teil „Effekt“ eines Wurfs möglicherweise nur für Zaubersprüche. Wenn der Wurf also keinen Effekt hat, wird dieser Abschnitt nicht angezeigt.
Sie können auch{{^<property>}}
gefolgt von{{/<property>}}
verwenden, um das Gegenteil zu bedeuten – das heißt, den Abschnitt nur anzuzeigen, wenn die angegebene Eigenschaft nicht vorhanden ist.
Hilfsfunktionen
Es stehen auch mehrere Hilfsfunktionen zur Verfügung, die sich mit Rollen befassen. Sie verwenden diese wie das normale Logikmuster oben, rufen jedoch eine Funktion auf und stellen eine Eigenschaft bereit. Der zwischen den Tags enthaltene Abschnitt wird nur angezeigt, wenn die Funktion „true“ ergibt.
Hilfsfunktion | Zeigt Abschnitt If an |
---|---|
{{#rollWasCrit() <rollname>}} |
Wenn der bereitgestellte Wurf kritische Treffer enthält, wird der Abschnitt angezeigt. Beispielsweise würde{{#rollWasCrit() attack}} die Eigenschaft „Angriff“ auf einen Inline-Wurf überprüfen, der mindestens einen kritischen Wurf hat. |
{{#rollWasFumble() <rollname>}} |
Identisch mit #rollWasCrit(), prüft jedoch auf Fumbles (Würfe von 1). |
{{#rollTotal() <rollname>}} |
Überprüft die Gesamtsumme einer Inline-Rolle auf den Wert. Bei Übereinstimmung wird der Abschnitt angezeigt. Beispielsweise würde{{#rollTotal() attack 10}} die „Attack“-Eigenschaft auf einen Inline-Wurf prüfen, der insgesamt 10 ergibt. |
{{#rollGreater() <rollname>}} |
Überprüft die Gesamtsumme einer Inline-Rolle auf den Wert. Ist das Wurfergebnis größer, wird der Abschnitt angezeigt. Beispielsweise würde{{#rollGreater() AC 16}} die Eigenschaft „AC“ auf einen Inline-Roll prüfen, der 17 oder höher ergibt. |
{{#rollLess() <rollname>}} |
Überprüft die Gesamtsumme einer Inline-Rolle auf den Wert. Wenn das Wurfergebnis geringer ist, wird der Abschnitt angezeigt. Beispielsweise würde{{#rollLess() deathsave 10}} die Eigenschaft „deathsave“ auf einen Inline-Wurf überprüfen, der 9 oder weniger ergibt. |
{{#rollBetween() <rollname>}} |
Überprüft die Gesamtsumme einer Inline-Rolle auf den Wert. Die Funktion rollBetween() akzeptiert zwei Zahlen. Wenn das Wurfergebnis gleich oder dazwischen ist, wird der Abschnitt angezeigt. Beispielsweise würde{{#rollBetween() strength 7 9}} die Eigenschaft „Stärke“ für einen Inline-Wurf überprüfen, der eine Sieben, Acht oder Neun ergibt. |
Hinweis: Alle Hilfsfunktionen prüfen nur die erste Inline-Rolle, die in einer Eigenschaft gefunden wird.
Wichtig:Wenn Sie den Abschnitt einer Hilfsfunktion „schließen“, müssen Sie den gesamten Funktionsaufruf einschließlich aller Argumente einfügen. Beispielsweise würde{{#rollWasCrit() attack}}
durch{{/rollWasCrit() attack}}
geschlossen werden.
Hier ist eine Beispielvorlage für einen Wurf, in der der Abschnitt „Kritischer Schaden“ nur angezeigt wird, wenn der Angriffswurf ein kritischer Treffer ist:
<div class="sheet-template-container"> <div class="sheet-template-header">{{rollname}}</div> {{#attack}}<div class="sheet-template-row"><span>Angriff: </span>{{attack}}</div>{{/attack}} <div class="sheet-template-row"> <span>Schaden: </span>{{damage}} {{#rollWasCrit() attack}} <span>Krit: </span>{{dmgcrit}} {{/rollWasCrit() attack}} </div> <div class="sheet-template-row"><span>Typ: </span>{{dmgtype}}</div> </div>
Umkehrung der Logik
Es ist auch nützlich, testen zu können, wenn etwas nicht mit der Logik übereinstimmt. Wenn Sie wissen möchten, wann ein Wurf gleich oder größer als die Gesamtsumme ist, können Sie das nicht direkt tun. Sie können jedoch testen, ob ein Wurf NICHT kleiner als die Gesamtsumme ist, was dasselbe ist.
Sie beginnen dabei mit#^
und enden mit/^
. So könnte dieser Test aussehen:
{{#rollLess() attackroll }} <span>Weniger würfeln als Angriffswurf! </span> {{/rollLess() attackroll }} {{#^rollLess() attackroll }} <span>Würfe NICHT weniger als attackroll!</span> <span>Mit anderen Worten: Der Wurf ist größer oder gleich dem Angriffswurf.</span> {{/^rollLess() attackroll }}
Hilfsfunktionsvariablen
Alle Hilfsfunktionen, die eine Zahl akzeptieren, wie etwa rollTotal() oder rollBetween(), können anstelle der Zahl das Ergebnis eines anderen Inline-Rolls in derselben Roll-Vorlage verwenden. Zum Beispiel würde{{#rollGreater() save poison}}
das Ergebnis des Inline-Wurfs zum Speichern und des Inline-Wurfs zum Vergiften vergleichen und den Abschnitt anzeigen, wenn das Ergebnis des Speicherns größer wäre.
Spezielle Hilfsfunktion: allProps()
Es gibt eine spezielle Hilfsfunktion namens allProps(), mit der alle Eigenschaften, die an eine Rolle übergeben wurden, dynamisch aufgelistet werden können, auch wenn Sie sie nicht explizit einschließen. Sie können auch Eigenschaften angeben, die ignoriert werden sollen. Das Folgende würde beispielsweise eine Tabelle mit einer Tabellenzeile für jede in der Rolle enthaltene Eigenschaft anzeigen, mit Ausnahme der Eigenschaft „Angriff“:
<div> <caption>{{name}}</caption> {{#allprops() attack}} <div>{{key}}</div><div>{{value}}</div> {{/allprops() attack}} </div>
Styling-Roll-Vorlagen
Um eine Rollenvorlage zu gestalten, fügen Sie einfach CSS dafür in das CSS für Ihr Charakterblatt ein. Hier ist ein kurzes Beispiel, das Ihnen eine gute Vorstellung davon geben soll, wie es geht (in diesem Beispiel lautet der Name der Rollenvorlage „test“):
.sheet-rolltemplate-test div.sheet-template-container { border: 2px solid #000 !important; Randradius: 3px 3px 3px 3px; } .sheet-rolltemplate-test .sheet-template-header { Hintergrundfarbe: rgba(112, 32, 130,1); Farben: #000; Polsterung: 2px; Rand unten: 1 Pixel einfarbig schwarz; Zeilenhöhe: 1,6em; Schriftgröße: 1,2em; } .sheet-rolltemplate-test div { padding: 5px; Rand unten: 1 Pixel einfarbig schwarz; } .sheet-rolltemplate-test div:nth-child(odd) { background-color: rgba(217, 217, 214,1); } .sheet-rolltemplate-test div:nth-child(even) { background-color: rgba(233, 233, 233,1); } .sheet-rolltemplate-test .inlinerollresult { display: inline-block; Min. Breite: 1,5em; Textausrichtung: Mitte; Rand: 2px solid rgba(167, 168, 170,1); } .sheet-rolltemplate-test .inlinerollresult.fullcrit { border: 2px solid #3FB315; } .sheet-rolltemplate-test .inlinerollresult.fullfail { border: 2px solid #B31515; } .sheet-rolltemplate-test .inlinerollresult.importantroll { border: 2px solid #4A57ED; }
Beachten Sie, dass alle Stile mit „.sheet-rolltemplate-<templatename>“ beginnen. Anschließend können Sie Ihr eigenes benutzerdefiniertes HTML formatieren (z. B. die von Ihnen verwendeten Tabellen, Divs und Klassen). Beachten Sie, dass allen Klassen, die Sie in Ihr Rollenvorlagenlayout aufnehmen (z. B. „tcat“ im obigen Beispiel), aus Sicherheitsgründen am Anfang „.userscript-“ hinzugefügt wird. Am einfachsten ist es, Ihr Layout zu erstellen, dann im Spiel einen Rollvorgang durchzuführen und den resultierenden HTML-Code zu überprüfen, damit Sie sicherstellen können, dass Sie alle stattfindenden Sicherheitsfilter berücksichtigen.
Beispiele für Rollenvorlagen
Nachfolgend sind einige systemspezifische Beispiele für die Roll-Template-Funktionalität aufgeführt.
Dungeons and Dragons 5. Auflage
Makro: |
|
HTML: |
|
CSS: |
|
Dungeons and Dragons 3.5 / Pathfinder
Makro: |
|
HTML: |
|
CSS: |
|
Welt der Dunkelheit
Makro: |
|
HTML: |
|
CSS: |
|