So erstellen Sie Rollenvorlagen

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.

Rollenvorlage Standardbeispiel2.JPG

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ßlichDivundTabelle). 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 einrolltemplateTag 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


Rolltemplate 5e.png

Makro:

&{template:5eAttack} {{name=@{meleeweaponname1}}} {{subtags=Haupthand, Finesse, @{meleedmgtype1}}}
{{attack=[[1d20+@{meleetohit1}]]}} {{attackadv=[[1d20+@{meleetohit1}]]}}
{{damage=[[@{meleedmg1}+@{meleedmgbonus1}]]}} {{dmgcrit=[[@{meleedmg1}]]}}

HTML:

<rolltemplate class="sheet-rolltemplate-5eAttack">
    <div class="container">
        <div>
        <h1>{{name}}</h1></div>
        <div><span class="subheader">{{subtags}}</span></div>        <div class="arrow-container"><div class="arrow-right"></div></div>
        <div class="rowcolor"><span class="tcat">Angriff: </span>{{attack}} | {{attackadv}} gegen AC</div>
        {{#damage}}
            <div>
                 <span class="tcat">Schaden: </span>{{damage}} 
                 <span class="tcat">Kritischer Treffer: </span>{{dmgcrit}}
            </div>
        {{/damage}}
        {{#snkattk}}
            <div>
                 <span class="tcat"> 
                 : </span>{{snkattk}} 51                 <span class="tcat">Kritischer Treffer: </span>{{snkcrit}}
            </div>
        {{/snkattk}}
    </div>
</rolltemplate>
CSS:
.sheet-rolltemplate-5eAttack .sheet-container {
    Hintergrundfarbe: #ffffff;
    Rand: 1 Pixel durchgehend;
    Polsterung: 2px;
    Breite: 189px;
}

.sheet-rolltemplate-5eAttack .sheet-container h1 {
    color: rgb(126, 45, 64);
    Schriftgröße: 1,2em;
    Schriftartvariante: Kapitälchen;
    Zeilenhöhe: 20px;
}

.sheet-rolltemplate-5eAttack div {
    padding: 2px;
};
 
.sheet-rolltemplate-5eAttack span {
    color: rgb(126, 45, 64);
    Schriftfamilie: „Times New Roman“, Times, Serif;
    Schriftgröße: 1,2em;
    Schriftartvariante: Kapitälchen;
    Zeilenhöhe: 1,6 cm;
    padding-left: 5px;
    Textausrichtung: links;
}
 
.sheet-rolltemplate-5eAttack .sheet-subheader {
    color: #000;
    Schriftgröße: 1em;
    Schriftart: kursiv;
}
 
.sheet-rolltemplate-5eAttack .sheet-arrow-right {
    border-bottom: 2px solid transparent;
    Rand links: 180 Pixel einfarbiges RGB (126, 45, 64);
    Rand oben: 2 Pixel durchgehend transparent;
}
 
.sheet-rolltemplate-5eAttack .sheet-tcat {
    Schriftart: kursiv;
}
 
.sheet-rolltemplate-5eAttack .inlinerollresult {
    Hintergrundfarbe: #ffffff;
    Grenze: keine;
}
 
.sheet-rolltemplate-5eAttack .inlinerollresult.fullcrit {
    color: #3FB315;
    Grenze: keine;
}
 
.sheet-rolltemplate-5eAttack .inlinerollresult.fullfail {
    color: #B31515;
    Grenze: keine;
}
 
.sheet-rolltemplate-5eAttack .inlinerollresult.importandivoll {
    color: #4A57ED;
    Grenze: keine;
}

 


Dungeons and Dragons 3.5 / Pathfinder


Rolltemplate pf.png

Makro:

&{template:pf_spell} {{name=@{repeating_lvl-0-spells_0_name}}}{{school=@{repeating_lvl-0-spells_0_school}}} 
{{level=sorcerer/wizard 0}} {{casting_time=@{repeating_lvl-0-spells_0_cast-time}}} 
{{components=@{repeating_lvl-0-spells_0_components}}} {{range= @{repeating_lvl-0-spells_0_range}}} 
{{target=@{repeating_lvl-0-spells_0_targets}}} {{duration=@{repeating_lvl-0-spells_0_duration}}} 
{{ saving_throw=@{repeating_lvl-0-spells_0_save}}} {{sr=@{repeating_lvl-0-spells_0_sr}}} 
{{rng_attack=[[1d20 + @{attk-ranged}] ]}} {{damage=1d3([[1d3]])}} 
{{spell_description=@{repeating_lvl-0-spells_0_description}}}

HTML:

<rolltemplate class="sheet-rolltemplate-pf_spell">
    <table>
        <tr><th>{{name}}</th></tr>
        <tr>
            <td>
				<span class="tcat">Schule </span>{{school}}; 
				<span class="tcat">Level </span>{{level}}
			</td>        
        </tr>
        <tr>
            <td><span class="tcat">Zauberzeit </span>{{casting_time}}</td>        
        </tr>

        
            <td><span class="tcat">Komponenten </span>{{components}}</td>        
        </tr><tr>        <tr>
            <td><span class="tcat">
        </span>{{range}}            <td>53 54 5</td>        
        </tr>        <tr>
<span class="tcat">/ Ziel </span>{{target}}</td>        
        </tr>
        <tr>
            <td><span class="tcat">Dauer </span>{{duration}}</td>        
        </tr>
        <tr>
            <td>
				<span class="tcat">Rettungswurf </span>{{saving_throw}}; 
				<span class="tcat">Zauberresistenz </span>{{sr}}
			</td>         
        </tr>
        {{#rng_attack}}
            <tr><td><span class="tcat">Fernkampfangriff </span>{{rng_attack}}</td></tr>
		{{#damage}}{{damage}}</tr>


			<span class="tcat">Nahkampfangriff </span>{{mel_attack}}
        {{/rng_attack}}        {{#mel_attack}}</td>{{/mel_attack}}</tr><tr>
        <td><span class="tcat">Schaden: </span><tr><td></td>
		{{/damage}}
        <tr>
            <td>{{spell_description}}</td>        </tr>
    </table>

</rolltemplate>
CSS:
.sheet-rolltemplate-pf_spell table {
    width: 100%;
    Polsterung: 2px;
    Hintergrund: URL (http://i.imgur.com/BLb0XMU.jpg) Wiederholung oben links;
}
 
.sheet-rolltemplate-pf_spell th {
	color: rgb(233, 223, 151);
    Hintergrundfarbe: rgb(63, 32, 33);
    padding-left: 5px;
	Zeilenhöhe: 1,1em;
	Schriftgröße: 1em;
    Textausrichtung: links;
	Schriftfamilien: „Arial“, Helvetica, serifenlos;
    Texttransformation: Großbuchstaben;
}
 
.sheet-rolltemplate-pf_spell .sheet-arrow-right {
    border-top: 3px solide transparent;
    Rand unten: 3 Pixel durchgehend transparent;
	Rand links: 180 Pixel einfarbiges RGB (126, 45, 64);
}
 
.sheet-rolltemplate-pf_spell .sheet-tcat {
    Schriftstärke: fett;
}
 
.sheet-rolltemplate-pf_spell td {
    padding-left: 5px;
    Schriftgröße: 0,9em;
}
 
.sheet-rolltemplate-pf_spell .inlinerollresult {
    Hintergrundfarbe: transparent;
    Grenze: keine;
}
 
.sheet-rolltemplate-pf_spell .inlinerollresult.fullcrit {
	color: #3FB315;
    Grenze: keine;
}
 
.sheet-rolltemplate-pf_spell .inlinerollresult.fullfail {
	color: #B31515;
    Grenze: keine;
}
 
.sheet-rolltemplate-pf_spell .inlinerollresult.importantroll {
	color: #4A57ED;
    Grenze: keine;
}

Welt der Dunkelheit


Rolltemplate wod.png

Makro:

&{template:wod} {{name=@{character_name}}} {{roll_name=Command}} 
{{attr=Intelligence}} {{attr_num=@{intelligence}}} {{skill=Intimidation}} 
{{skill_num=@{intimidation}}} { {pwr=Dominate}} {{pwr_num=@{dominate}}} {{mod_num=?{Modifiers|0}}} 
{{result=[[{(@{intelligence}+@{intimidation}+@{dominate}+?{Modifiers|0})d10!}>8]]}}

HTML:

<rolltemplate class="sheet-rolltemplate-wod">
    <table>
        <tr><th>{{name}} Rollen{{#roll_name}} {{roll_name}}{{/roll_name}}</th></tr>
        <tr><td class="attr">
            {{#attr}}                {{attr}}
                ({{attr_num}})
            {{/attr}}
            {{#skill}}
                 + {{skill}}({{skill_num}})
            {{/skill}}
		    {{#pwr}}
		    	 + {{pwr}}({{pwr_num}})
		    {{/pwr}}
            {{#mod_num}}
                 + Mod ifizierer ({{mod_num}})
            {{/mod_num}}
        </td></tr>
        <tr>
            <td class="result">{{result}} Erfolge</td>        
        </tr>
    </table>
</rolltemplate>
CSS:
.sheet-rolltemplate-wod Tabelle {
    Breite: 189px;
    Höhe: 189px;
    Polsterung: 2px;
    Hintergrund: URL (http://i.imgur.com/xBk4U1p.jpg) oben links;
    Hintergrundgröße: 189px 189px;
    Hintergrundwiederholung: keine Wiederholung;
    Schriftfamilien: „Courier New“, Courier, Monospace;
    Schriftstärke: fett;
    Randabstand: 0;
}
 
.sheet-rolltemplate-wod th {
	color: rgb(112, 0, 0);
    Polsterung: 15px 2px 2px 20px;
	Zeilenhöhe: 1,2em;
	Schriftgröße: 1,2em;
    Textausrichtung: links;
}
 
 
.sheet-rolltemplate-wod td {
    padding-left: 20px;
    Schriftgröße: 1,0em;
    vertikal ausrichten: oben;
}
 
.sheet-rolltemplate-wod .sheet-result {
    Schriftgröße: 1.2em;
    Textausrichtung: Mitte;
    Farbe: RGB(112, 0, 0);
    Polsterung unten: 20px;
}
 
.sheet-rolltemplate-wod .inlinerollresult {
    Hintergrundfarbe: transparent;
    Farbe: #000000;
    Grenze: keine;
}
 
.sheet-rolltemplate-wod .inlinerollresult.fullcrit {
   color: #3FB315;
    Grenze: keine;
}
 
.sheet-rolltemplate-wod .inlinerollresult.fullfail {
    color: #000000;
    Grenze: keine;
}
 
.sheet-rolltemplate-wod .inlinerollresult.importantroll {
	color: #3FB315;
    Grenze: keine;
}
War dieser Beitrag hilfreich?
100 von 155 fanden dies hilfreich