Wie man Rollenschablonen herstellt

Würfelvorlagen sind eine besondere Facette desCharacter SheetsSystems, die zusätzliche Layout- und Styling-Optionen für die Anzeige von Würfelergebnissen bieten.


Eingebaute 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, verwende "&{template:default}".

Eigentum Erwarteter Wert
Name Der Name der Rolle, der in der Kopfzeile der Rollenliste angezeigt wird

Die Standardvorlage ist speziellund listet alle Argumente, die du ihr gibst, in einer Tabelle auf. Du könntest also zum Beispiel Folgendes tun:

&{template:default} {{name=Testangriff}} {{Angriff=[[1W20]]}}
{{Anmerkung= Dies ist ein Notizinhalt}} {{Rettungswurf= gg Willen}}

Hierist ein ziemlich genaues Beispiel für die Standardvorlage mit ihren abhängigen CSS-Klassen.


Erstellen einer Würfel-Vorlage

Wenn du einBlattautorbist, kannst du so viele Rollenvorlagen wie du willst in dein Zeichenblatt HTML und CSS einfügen. Wir werden dir unten zeigen, wie das geht.

Wenn du einProAbonnent bist, kannst du deine eigenen Rollenvorlagen erstellen, wenn du die Option "Benutzerdefinierter Charakterbogen" für dein Spiel verwendest. Folge den Anweisungen unten.


Definieren des Layouts der Würfel-Vorlage

Der erste Schritt beim Erstellen einer Würfel-Vorlage besteht darin, das Layout zu definieren und festzulegen, welche Eigenschaften vom Spieler ausgefüllt werden sollen. Würfel-Vorlagen sind einfach HTML und du hast Zugriff auf das gesamte HTML wie bei jedem anderen Teil eines Charakterbogens (einschließlichdivundtable). Hier ist ein Beispiel für das Layout einer Würfel-Tabelle:

<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}} vs AC</div>{{/attack}}
        {{#damage}}
	<div class="sheet-template-row"><span>Schaden: </span>{{damage}} 
        <span>Krit: </span>{{dmgcrit}}</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>

Deine Vorlage sollte einrolltemplateStichwort mit der Klasse "sheet-rolltemplate-<template_name>" haben. Der template_name" ist der gleiche Name, der im &{template:<template_name>} Teil des Befehls verwendet wird und darf keine Leerzeichen enthalten. Du kannst die Würfel-Vorlage an beliebiger Stelle im HTML deines Charakterbogens platzieren, aber wir empfehlen, sie ganz am Ende zu platzieren. Sie wird automatisch aus deiner Vorlage "entfernt', damit sie nicht als Teil des Bogens in der Charakteransicht angezeigt wird. Beachte, dass du keine Vorlagen ineinander verschachteln kannst.

Danach liegt es an dir, wie du deinen Wurf strukturierst. Wir empfehlen ein Tabellenlayout, aber es liegt bei dir.

Innerhalb der Vorlage hast du Zugriff auf folgendes:

Eigenschaften

Du kannst beliebige Eigenschaften hinzufügen, indem du die doppelten geschweiften Klammern verwendest. So {{myproperty}}gibt das aus, was auch immer (inline roll, text. usw.) wird der Vorlage über {{myproperty=<value>}} im Wurf übergeben. Um eine neue Eigenschaft zu erstellen, fügen Sie sie einfach zu Ihrer Vorlage hinzu und geben Sie ihr einen eindeutigen Namen. Vermeiden Sie auch die Verwendung von Leerzeichen, um maximale Kompatibilität mit allen Hilfsfunktionen zu gewährleisten.

Logik

Wenn du {{#<property>}} gefolgt von {{/<property>}} verwendest, werden alle Teile zwischen diesen beiden Tags nur angezeigt, wenn die Eigenschaft einen Wert enthält. Dies kann nützlich sein, um mehrere verschiedene Teile einer Vorlage bereitzustellen, die nur gelegentlich verwendet werden können. Zum Beispiel kann der "Effekt"-Teil eines Wurfs nur für Zauber gelten. Wenn der Wurf keinen Effekt liefert, wird dieser Abschnitt nicht angezeigt.

Du kannst auch {{^<property>}} gefolgt von {{/<property>}} verwenden, um das Gegenteil zu bedeuten - das heißt, den Abschnitt nur anzeigen, wenn die angegebene Eigenschaft nicht vorhanden ist.

Hilfsfunktionen

Es gibt verschiedene Hilfsfunktionen, die sich mit Würfen befassen und zur Verfügung stehen. Du verwendest diese Funktionen genauso wie das normale Logikmuster oben, rufst jedoch eine Funktion auf und gibst eine Eigenschaft an. Der zwischen den Tags enthaltene Abschnitt wird nur angezeigt, wenn die Funktion als wahr ausgewertet wird.

Hilfsfunktion Sektion anzeigen, wenn
{{#rollWasCrit() <rollname>}} Wenn der angegebene Wurf irgendwelche kritischen Treffer enthält, wird die Sektion angezeigt. Zum Beispiel, {{#rollWasCrit() attack}} prüft die Eigenschaft "Angriff" auf einen Inline-Wurf, der mindestens einen kritischen Treffer hat.
{{#rollWasFumble() <rollname>}} Gleichermaßen wie bei #rollWasCrit(), aber prüft auf Fehlschläge (Würfe von 1).
{{#rollTotal () <rollname>}} Checks the total of an inline roll for the value. Wenn sie übereinstimmen, wird der Abschnitt angezeigt. {{#rollTotal() attack 10}}würde zum Beispiel die Eigenschaft "Angriff" für einen Wurf überprüfen, der insgesamt 10 ergibt.
{{# rollGreater () <rollname>}} Checks the total of an inline roll for the value. Wenn das Würfelergebnis größer ist, wird der Abschnitt angezeigt. {{#rollGreater() AC 16}}würde zum Beispiel die Eigenschaft "AC" für einen Inline-Wurf prüfen, der 17 oder mehr ergibt.
{{#rollLess() <rollname>}} Überprüft das Gesamtergebnis einer Inline-Roll für den Wert. Wenn das Würfelergebnis kleiner ist, wird der Abschnitt angezeigt. Zum Beispiel  {{#rollLess() deathsave 10}}  würde die Eigenschaft "deathsave" für eine Inline-Roll überprüfen, die 9 oder weniger ergibt.
{{#rollBetween() <rollname>}} Überprüft das Gesamtergebnis einer Inline-Roll für den Wert. Die Funktion rollBetween() akzeptiert zwei Zahlen. Wenn das Würfelergebnis gleich oder zwischen liegt, wird der Abschnitt angezeigt. {{#rollBetween() strength 7 9}}würde zum Beispiel die Eigenschaft "Stärke" für einen Inline-Wurf prüfen, der eine Sieben, Acht oder Neun ergibt.

Hinweis: Alle Hilfsfunktionen überprüfen nur den ersten Inline-Wurf, der in einer Eigenschaft gefunden wird.

Wichtig:Wenn du den Abschnitt einer Hilfsfunktion "schließt", musst du den gesamten Funktionsaufruf einschließlich aller Argumente angeben. Zum Beispiel würde{{#rollWasCrit() attack}}durch{{/rollWasCrit()-Angriff}} geschlossen werden..

Hier ist eine Beispiel-Würfelvorlage, die ihren kritischen Schaden nur anzeigt, wenn der Angriffswurf ein kritischer Treffer ist:

<div class="sheet-template-container">Attacke:
		<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>

Die Logik umkehren 

Es ist auch nützlich, testen zu können, ob etwas nicht mit der Logik übereinstimmt. Wenn du wissen willst, wann ein Wurf Gleich oder größer als ein Gesamtergebnis ist, kannst du das nicht direkt machen. Aber du kannst testen, ob ein Wurf NICHT kleiner als ein Gesamtergebnis ist, was dasselbe ist.

Du beginnst dabei mit#^und endest mit/^. So könnte dieser Test aussehen:

{{#rollLess() attackroll }}
     <span>Rolle weniger als die Angriffsrolle! </span>
{{/rollLess() attackroll }}
{{#^rollLess() attackroll }}
     <span>Rolle NICHT weniger als attackroll!</span>
     <span>Mit anderen Worten: Roll ist größer oder gleich attackroll.</span>
{{/^rollLess() attackroll }}

Hilfsfunktion Variablen

Alle Hilfsfunktionen, die eine Zahl akzeptieren, wie z.B. rollTotal() oder rollBetween(), können das Ergebnis eines anderen Inline-Wurfs in derselben Würfelschablone anstelle der Zahl verwenden. Zum Beispiel {{#rollGreater() save poison}} vergleicht das Ergebnis des Save-Inline-Wurfs und des Poison-Inline-Wurfs und zeigt den Abschnitt an, wenn das Save-Ergebnis größer war.

Spezielle Hilfsfunktion: allProps()

Es gibt eine spezielle Hilfsfunktion namens allProps(), mit der alle Eigenschaften aufgelistet werden können, die an einen Wurf übergeben wurden, auch wenn sie nicht explizit eingeschlossen sind. Sie können auch Eigenschaften angeben, die ignoriert werden sollen. Zum Beispiel würde das Folgende eine Tabelle anzeigen, die eine Tabellenzeile für jede Eigenschaft im Wurf enthält, außer der Eigenschaft "Angriff":

<div>
    <caption>{{name}}</caption>
    {{#allprops() attack}}
       <div>{{key}}</div><div>{{value}}</div>
    {{/allprops() attack}}
</div>

Formatierung von Würfel-Vorlagen

Um einen Rollenvorlage zu gestalten, füge einfach CSS dafür in das CSS für deinen Charakterbogen ein. Hier ist ein schnelles Beispiel, das dir eine gute Vorstellung davon geben sollte, wie du es machen kannst (in diesem Beispiel heißt die Rollenvorlage "test"):

.sheet-rolltemplate-test div.sheet-template-container {
	border: 2px solid #000 !important;
	border-radius: 3px 3px 3px 3px;
}

.sheet-rolltemplate-test .sheet-template-header {
	background-color: rgba(112, 32, 130,1);
	color: #000;
	padding: 2px;
	border-bottom: 1px solid black;
	line-height: 1.6em;
	font-size: 1.2em;
}

.sheet-rolltemplate-test div {
	padding: 5px;
	border-bottom: 1px solid black;
}

.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-width: 1.5em;
	text-align: center;
	border: 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;
}

Beachte, dass alle Stile mit ".sheet-rolltemplate-<templatename>" beginnen. Du kannst dann dein eigenes benutzerdefiniertes HTML (wie Tabellen, Divs und Klassen) stylen. Beachte, dass alle Klassen, die du in deinem Rollenvorlagen-Layout einbeziehst (wie "tcat" im obigen Beispiel), aus Sicherheitsgründen ".userscript-" am Anfang hinzugefügt bekommen. Am einfachsten ist es, dein Layout zu erstellen, dann einen Wurf im Spiel durchzuführen und das resultierende HTML zu inspizieren, um sicherzustellen, dass du alle Sicherheitsfilter berücksichtigst.


Beispiel für Würfel-Vorlage

Im Folgenden findest du eine Handvoll systemspezifischer Beispiele für die Funktionalität der Rollvorlage.


Dungeons and Dragons 5. Edition


Rollenvorlage 5e.png

Makro:

&{template:5eAttack} {{name=@{meleeweaponname1}}} {{subtags=Haupthand, Finess, @{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">Attacke: </span>{{attack}} | {{attackadv}} vs AC</div>
        {{#damage}}
            <div>
                 <span class="tcat">Schaden: </span>{{damage}} 
                 <span class="tcat">Krit: </span>{{dmgcrit}}
            </div>
        {{/damage}}
        {{#snkattk}}
            <div>
                 <span class="tcat">Schleichangriff: </span>{{snkattk}} 
                 <span class="tcat">Crit: </span>{{snkcrit}}
            </div>
        {{/snkattk}}
    </div>
</rolltemplate>
CSS:
.sheet-rolltemplate-5eAttack .sheet-container {
    background-color: #ffffff;
    border: 1px solid;
    padding: 2px;
    width: 189px;
}

.sheet-rolltemplate-5eAttack .sheet-container h1 {
    color: rgb(126, 45, 64);
    font-size: 1.2em;
    font-variant: small-caps;
    line-height: 20px;
}

.sheet-rolltemplate-5eAttack div {
    padding: 2px;
};
 
.sheet-rolltemplate-5eAttack span {
    color: rgb(126, 45, 64);
    font-family: "Times New Roman", Times, serif;
    font-size: 1.2em;
    font-variant: small-caps;
    line-height: 1.6em;
    padding-left: 5px;
    text-align: left;
}
 
.sheet-rolltemplate-5eAttack .sheet-subheader {
    color: #000;
    font-size: 1em;
    font-style: italic;
}
 
.sheet-rolltemplate-5eAttack .sheet-arrow-right {
    border-bottom: 2px solid transparent;
    border-left: 180px solid rgb(126, 45, 64);
    border-top: 2px solid transparent;
}
 
.sheet-rolltemplate-5eAttack .sheet-tcat {
    font-style: italic;
}
 
.sheet-rolltemplate-5eAttack .inlinerollresult {
    background-color: #ffffff;
    border: none;
}
 
.sheet-rolltemplate-5eAttack .inlinerollresult.fullcrit {
    color: #3FB315;
    border: none;
}
 
.sheet-rolltemplate-5eAttack .inlinerollresult.fullfail {
    color: #B31515;
    border: none;
}
 
.sheet-rolltemplate-5eAttack .inlinerollresult.importandivoll {
    color: #4A57ED;
    border: none;
}

 


Dungeons and Dragons 3.5 / Pathfinder


Rollvorlage pf.png

Makro:

&{template:pf_spell} {{name=@{repeating_lvl-0-spells_0_name}}}{{school=@{repeating_lvl-0-spells_0_school}}} 
{{level=Zauberer/Zauberer 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">Stufe </span>{{level}}
			</td>        
        </tr>
        <tr>
            <td><span class="tcat">Zauberzeit </span>{{casting_time}}</td>        
        </tr>
        <tr>
            <td><span class="tcat">Komponenten </span>{{components}}</td>        
        </tr>
        <tr>
            <td><span class="tcat">Reichweite </span>{{range}}</td>        
        </tr>
        <tr>
            <td><span class="tcat">Effekt/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">Zauberwiderstand </span>{{sr}}
			</td>         
        </tr>
        {{#rng_attack}}
            <tr><td><span class="tcat">Fernkampfangriff </span>{{rng_attack}}</td></tr>
        {{/rng_attack}}
        {{#mel_attack}}
            <tr><td><span class="tcat">Nahkampfangriff </span>{{mel_attack}}</td></tr>
        {{/mel_attack}}
		{{#damage}}
			<tr><td><span class="tcat">Schaden: </span>{{damage}}</td></tr>
		{{/damage}}
        <tr>
            <td>{{spell_description}}</td>        
        </tr>
    </table>
</rolltemplate>
CSS:
.sheet-rolltemplate-pf_spell table {
    width: 100%;
    padding: 2px;
    background:url(http://i.imgur.com/BLb0XMU.jpg) top left repeat;
}
 
.sheet-rolltemplate-pf_spell th {
	color: rgb(233, 223, 151);
    background-color: rgb(63, 32, 33);
    padding-left: 5px;
	line-height: 1.1em;
	font-size: 1em;
    text-align: left;
	font-family: "Arial", Helvetica, sans-serif;
    text-transform: uppercase;
}
 
.sheet-rolltemplate-pf_spell .sheet-arrow-right {
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
	border-left: 180px solid rgb(126, 45, 64);
}
 
.sheet-rolltemplate-pf_spell .sheet-tcat {
    font-weight: bold;
}
 
.sheet-rolltemplate-pf_spell td {
    padding-left: 5px;
    font-size: 0.9em;
}
 
.sheet-rolltemplate-pf_spell .inlinerollresult {
    background-color: transparent;
    border: none;
}
 
.sheet-rolltemplate-pf_spell .inlinerollresult.fullcrit {
	color: #3FB315;
    border: none;
}
 
.sheet-rolltemplate-pf_spell .inlinerollresult.fullfail {
	color: #B31515;
    border: none;
}
 
.sheet-rolltemplate-pf_spell .inlinerollresult.importantroll {
	color: #4A57ED;
    border: none;
}

Welt der Finsternis


Rollenvorlage wod.png

Makro:

&{template:wod} {{name=@{character_name}}} {{roll_name=Kommando}} 
{{attr=Intelligenz}} {{attr_num=@{intelligence}}} {{skill=Einschüchterung}} 
{{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}}
                 + Modifikatoren({{mod_num}})
            {{/mod_num}}
        </td></tr>
        <tr>
            <td class="result">{{result}} Erfolge</td>        
        </tr>
    </table>
</rolltemplate>
CSS:
.sheet-rolltemplate-wod table {
    width: 189px;
    height: 189px;
    padding: 2px;
    background: url(http://i.imgur.com/xBk4U1p.jpg) top left;
    background-size: 189px 189px;
    background-repeat: no-repeat;
    font-family: "Courier New", Courier, monospace;
    font-weight: bold;
    border-spacing: 0;
}
 
.sheet-rolltemplate-wod th {
	color: rgb(112, 0, 0);
    padding: 15px 2px 2px 20px;
	line-height: 1.2em;
	font-size: 1.2em;
    text-align: left;
}
 
 
.sheet-rolltemplate-wod td {
    padding-left: 20px;
    font-size: 1.0em;
    vertical-align: top;
}
 
.sheet-rolltemplate-wod .sheet-result {
    font-size: 1.2em;
    text-align: center;
    color: rgb(112, 0, 0);
    padding-bottom: 20px;
}
 
.sheet-rolltemplate-wod .inlinerollresult  {
    background-color: transparent;
    color: #000000;
    border: none;
}
 
.sheet-rolltemplate-wod .inlinerollresult.fullcrit {
   color: #3FB315;
    border: none;
}
 
.sheet-rolltemplate-wod .inlinerollresult.fullfail {
    color: #000000;
    border: none;
}
 
.sheet-rolltemplate-wod .inlinerollresult.importantroll {
	color: #3FB315;
    border: none;
}
War dieser Beitrag hilfreich?
109 von 167 fanden dies hilfreich