Charakter Template: Unterschied zwischen den Versionen
(→Beispiel einer Vorlage) |
(→Erweitert) |
||
(3 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt) | |||
Zeile 8: | Zeile 8: | ||
* standardeye bzw. defaulteye | * standardeye bzw. defaulteye | ||
* standardskin bzw. defaultskin | * standardskin bzw. defaultskin | ||
+ | * standardtorso bzw. defaulttorso | ||
+ | * standardpants bzw. defaultpants | ||
+ | * standardshoes bzw. defaultshoes | ||
+ | * standardheadwear bzw. defaultheadwear | ||
+ | * standardgloves bzw. defaultgloves | ||
* random | * random | ||
Zeile 221: | Zeile 226: | ||
|- | |- | ||
!id | !id | ||
− | |Interne ID des sets (Verpflichtend | + | |Interne ID des sets (Verpflichtend nur bei "bulkfiles", die es noch nicht gibt) |
|- | |- | ||
!baserace | !baserace | ||
− | |zu verwendende Basisrasse | + | |zu verwendende Basisrasse, verpflichtend |
|} | |} | ||
Zeile 425: | Zeile 430: | ||
# acc4 | # acc4 | ||
# acc5 | # acc5 | ||
+ | |||
+ | 1-5 haben bei nicht definierter Farbwahl die jeweilige Standard-Farbklasse, zB "defaulttorso" für torso, "defaultheadwear" bei headwear usw. 6-10 haben weiterhin "random" bei nicht definierter Farbklasse | ||
Die Referenz auf ein anderes Element erfogt jeweils mit der Bezeichnung der Itemdefinition und der Position, also zB torso/0 verweist auf das erste Item in "torso", acc5/3 verweist auf Item 4 in acc5 usw. Ein Beispiel: | Die Referenz auf ein anderes Element erfogt jeweils mit der Bezeichnung der Itemdefinition und der Position, also zB torso/0 verweist auf das erste Item in "torso", acc5/3 verweist auf Item 4 in acc5 usw. Ein Beispiel: | ||
Zeile 464: | Zeile 471: | ||
Hier wird bei Verwendung von Bard Jacket erzwungen, dass sowohl das erste Item von pants als auch das erste Item von shoes verwendet wird, und dass die Items 1, 2 und 3 aus acc1 NICHT verwendet werden. | Hier wird bei Verwendung von Bard Jacket erzwungen, dass sowohl das erste Item von pants als auch das erste Item von shoes verwendet wird, und dass die Items 1, 2 und 3 aus acc1 NICHT verwendet werden. | ||
+ | |||
==Farbreferenz== | ==Farbreferenz== | ||
Die Werte für "color" können außerdem auf vorherige Items referenzieren, um deren Farbe zu verwenden, wobei dies nur für "color" und dann für beide Farbwerte funktioniert. Dazu muss ein "@" vorangestellt werden, also zB: | Die Werte für "color" können außerdem auf vorherige Items referenzieren, um deren Farbe zu verwenden, wobei dies nur für "color" und dann für beide Farbwerte funktioniert. Dazu muss ein "@" vorangestellt werden, also zB: |
Aktuelle Version vom 16. Mai 2017, 13:30 Uhr
Charakter Templates oder "Vorlagen" (Erweiterung dsa2temp) sind Vorlagen für eine Reihe von zufallserzeugten Charakteren. Ein Beispiel mit allen besprochenen Bereichen befindet sich am Ende des Artikels. Sie werden aus dem Verzeichnis _data/chardef geladen und sie können im NPC-Charakter-Editor getestet werden.
Inhaltsverzeichnis
Farbdefinitionen
Für sämtliche Vorlagen sind die folgenden Farbsets bereits definiert:
- standardhair bzw. defaulthair
- standardeye bzw. defaulteye
- standardskin bzw. defaultskin
- standardtorso bzw. defaulttorso
- standardpants bzw. defaultpants
- standardshoes bzw. defaultshoes
- standardheadwear bzw. defaultheadwear
- standardgloves bzw. defaultgloves
- random
Das Farbset "random" liefert eine Zufallsfarbe zwischen 191919 und FFFFFF.
Zusätzlich können weitere Farbsets mit dem Tag "colordef" definiert werden. Jeder "col"-Eintrag hat die gleiche Wahrscheinlichkeit, gewählt zu werden
Standardwerte
|
|
|
Eigene Farbsets
Es können auch eigene Farbsets, zB als "Subsets" der obigen Standardfarben definiert werden. Dazu muss eine Liste der verfügbaren Farben erstellt werden:
<colordef id="cloth"> <!-- Farben werden im Standard-RGB-Format definiert, das auch Webbrowser verwenden --> <col>FF00FF</col> <col>FF80FF</col> <col>80FFFF</col> </colordef>
Allgemein Tags
Tag | Wert |
---|---|
id | Interne ID des sets (Verpflichtend nur bei "bulkfiles", die es noch nicht gibt) |
baserace | zu verwendende Basisrasse, verpflichtend |
Verfügbare Rassen sind:
- humanmale
- humanfemale
- elvenmale
- elvenfemale
- dwarfmale
- dwarffemale
Farben
<skincolor>standardskin</skincolor>
Folgende Tags definieren die verwendeten Farben:
Bezeichnung | Beschreibung | Standardwert | Anmerkungen |
---|---|---|---|
skincolor | Hautfarbset | standardskin | |
eyecolor | Farbdefinition für Augen | standardeye | |
lipstickcolor | Lippenstift | - | nur "female" |
blushcolor | Rouge | - | nur "female" |
eyelinercolor | Eyeliner | - | nur "female" |
eyeshadowcolor | Lidschatten | - | nur "female" |
Min-Max-Werte
<charheight min="120" max="220">
Geben einen Minimum- und Maximum-Wert an, wird ein Attribut weggelassen, wird stattdessen der Standardwert verwendet. Wird der Tag gar nicht definiert, werden beide Standardwerte verwendet.
Wichtig: Die Groß-Klein-Schreibung der Werte ist relevant!
Standard-Min-Max-Werte
Die nachfolgenden Werte haben Minimum 40 und Maximum 60
upperMuscle | lowerMuscle | upperWeight | lowerWeight | armWidth | forearmWidth | legSeparation | legsSize |
gluteusSize | breastSize | belly | waist | headWidth | foreheadSize | foreheadPosition | earsSize |
earsPosition | earsRotation | noseSize | noseCurve | noseWidth | noseInclination | nosePosition | nosePronounced |
noseFlatten | eyeSize | eyeRotation | cheekSize | cheekPosition | lowCheekPronounced | lowCheekPosition | lipsSize |
mouthSize | jawsSize | jawsPosition | neckThickness | chinSize | chinPronounced | chinPosition |
Spezielle Min-Max-Werte
Bezeichnung | Min-Wert | Max-Wert |
---|---|---|
charheight | 100 | 220 |
legSize | 45 | 55 |
armLength | 48 | 52 |
forearmLength | 48 | 52 |
handsSize | 48 | 52 |
feetSize | 48 | 52 |
mandibleSize | 45 | 52 |
headSize | 48 | 52 |
Itemdefinition
<torso color="cloth" color2="cloth"> <item>Poor Torso</item> <item>Poor2 Upper</item> <item color="nocolor" color2="nocolor" with="pants/2">Bard Jacket</item> </torso>
Itemdefinitionen verweisen auf die Auswahlfelder aus dem NPC-Charaktereditor. Es gilt zu beachten, dass bei Einfachen und Standard-Definitionen "Definition ausgelassen" gleichbedeutend ist mit "ALLE Optionen verwendbar".
Dagegen ist eine vorhandene, leere Definition wie diese hier:
<beard></beard>
gleichbedeutend mit "KEINE Optionen verwendbar".
Es wird jeweils auf die Bezeichnungen aus dem NPC-Charaktereditor verwiesen.
Außerdem kann der Spezialeintrag "None" (wichtig, großes "N" am Beginn) verwendet werden, dieser erlaubt es, den entsprechenden Eintrag der Liste nicht zu besetzen. Alle anderen Eigenschaften wie "with" oder "without" für die erweiterten Einträge sind auch für "None" möglich.
Einträge (inkl. "None") können auch mehrfach vorkommen, um so die Gewichtung zu erhöhen oder auch unterschiedliche with/without-Varianten zu verwenden.
Einfach
Einfache Itemdefinitionen enthalten weder Farben noch Verknüpfungen (with/notwith), sie stellen eine einfache Aufzählung dar. Gültige Definitionen sind:
- headtex
- bodytex
Bei beiden wird die Farbe über "skincolor" geregelt.
Standard
Standarddefinitionen können außerdem Farbreferenzen beinhalten. Hierbei kann sowohl im Kopf (Tag "torso") als auch in den einzelnen Items eine Farbe angegeben werden. Wird in Item keine Farbe angegeben, so wird die Standardfarbe aus dem Kopf verwendet. Ist auch im Kopf keine Standardfarbe definiert, so wird "random" angenommen. Gültige Definitionen sind:
- beard
- hair
- eyebrow
- underwear
Erweitert
Erweiterte Definitionen enthalten zusätzlich die Möglichkeit, Kombinations-Referenzen zu legen. Dies bedeutet, dass bei Verwendung eines bestimmten Items entweder Voraussetzungen ("with") oder Ausschlusskriterien ("notwith") getroffen werden können. Hierbei werden die verfügbaren Definitionen in folgender Reihenfolge abgehandelt:
- torso
- pants
- shoes
- headwear
- gloves
- acc1
- acc2
- acc3
- acc4
- acc5
1-5 haben bei nicht definierter Farbwahl die jeweilige Standard-Farbklasse, zB "defaulttorso" für torso, "defaultheadwear" bei headwear usw. 6-10 haben weiterhin "random" bei nicht definierter Farbklasse
Die Referenz auf ein anderes Element erfogt jeweils mit der Bezeichnung der Itemdefinition und der Position, also zB torso/0 verweist auf das erste Item in "torso", acc5/3 verweist auf Item 4 in acc5 usw. Ein Beispiel:
<torso color="cloth" color2="cloth"> <item>Poor Torso</item> <item>Poor2 Upper</item> <item color="nocolor" color2="nocolor" with="pants/2">Bard Jacket</item> </torso> <pants> <item>Poor Pants</item> <item notwith="torso/0">Poor2 Lower</item> <item color="nocolor" color2="nocolor">Bard Pants</item> </pants>
Folgende Regeln sind hier definiert:
- In torso erzwingt Item 3, also "Bard Jacket", die Verwendung von pants/2, also "Bard Pants"
- In pants kann Item 2, also "Poor2 Lower", NICHT gewählt werden, wenn torso/1, also "Poor2 Upper", für Torso gewählt wurde
Neben den Referenzen auf die oben genannten Bekleidungsitems sind auch solche auf "beard" sowie "hair" möglich.
Ausführliche Notation
Um mehrere "with" oder "notwith" anzugeben ist die Attributsnotation eher ungeeignet. Daher gibt es noch eine weitere Notationsmöglichkeit, die aber aus Aufwandsgründen nur bei absoluter Notwendigkeit gewählt werden sollte:
<torso color="cloth" color2="cloth"> <item color="nocolor" color2="nocolor"> <with>pants/0</with> <with>shoes/0</with> <notwith>acc1/0</notwith> <notwith>acc1/1</notwith> <notwith>acc1/2</notwith> <slot>Bard Jacket</slot> </item> </torso>
Hier wird bei Verwendung von Bard Jacket erzwungen, dass sowohl das erste Item von pants als auch das erste Item von shoes verwendet wird, und dass die Items 1, 2 und 3 aus acc1 NICHT verwendet werden.
Farbreferenz
Die Werte für "color" können außerdem auf vorherige Items referenzieren, um deren Farbe zu verwenden, wobei dies nur für "color" und dann für beide Farbwerte funktioniert. Dazu muss ein "@" vorangestellt werden, also zB:
<beard color="@hair"> <item>Beard 1</item> </beard> <torso color="random"> <item>Mage Torso</item> </torso> <pants color="@torso"> <item>Mage Lowerbody</item> </pants>
Die Referenz funktioniert von "beard" auf "hair", sowie in den Kleidungsstücken auf bereits definierte Slots, es kann also von "pants" auf "torso" verwiesen werden, aber nicht umgekehrt!
Vererbung
Damit nicht sehr ähnliche Werte immer wieder kopiert werden müssen, können "Basis"-Templates angegeben werden. Sämtliche Werte aus dem Basistemplate werden 1:1 kopiert, also Farben, Körperwerte, Texturen und Kleidungsdefinitionen. Zu beachten ist, dass das "Kind"-Template hierbei gleichlautende Werte grundsätzlich überschreibt, d.h. damit zB die Torsobekleidung erweitert werden kann, muss diese nochmals vollständig aus dem Basistemplate kopiert werden. Ein Basistemplate wird wie folgt definiert:
<chartemplate> <id>humanmalechild</id> <base>humanmale</base> </chartemplate>
Zu beachten ist hierbei, dass es immer nur ein Basistemplate geben kann, das Basistemplate kann aber wiederum auf einem anderen Basistemplate aufbauen.
Beispiel einer Vorlage
<?xml version="1.0" encoding="utf-8"?> <chartemplate> <id>humanmalechild</id> <colordef id="cloth"> <!-- Farben werden im Standard-RGB-Format definiert, das auch Webbrowser verwenden --> <col>FF00FF</col> <col>FF80FF</col> <col>80FFFF</col> </colordef> <colordef id="nocolor"> <col>FFFFFF</col> </colordef> <gender>male</gender> <charheight min="120" max="150" /> <!-- ist der Standardwert, wollte aber als beispiel nochmal setzen --> <skincolor>defaultskin</skincolor> <upperMuscle min="20" max="40" /> <lowerMuscle min="20" max="40" /> <handSize min="40" max="45" /> <!-- Kinder sollten nur glatte Haut haben --> <headtex> <item>Head 4</item> <item>Head 9</item> </headtex> <eartype>human</eartype> <eyecolor>defaulteye</eyecolor> <!-- Keine Bärte für Kinder ;) --> <beard></beard> <!-- passende Frisuren, Farbe1 sind Standardhaare, Farbe 2 die Kleidungsfarben für etwaige Bänder --> <hair color="defaulthair" color2="cloth"> <item>Hair 1</item> <item>Hair 2</item> <!-- Hier wird die Standard-Color aus hairtype überschrieben --> <item color="defaulteye">Hair 4</item> <item>Hair 6</item> <item>Hair 8</item> <item>Hair 11</item> </hair> <torso color="cloth" color2="cloth"> <item>Poor Torso</item> <item>Poor2 Upper</item> <item color="nocolor" color2="nocolor" with="pants/2">Bard Jacket</item> </torso> <pants> <item>Poor Pants</item> <!-- Sofern torso Item 0 ("Poor Torso") gewählt ist, soll dieser Eintrag NICHT gewählt werden --> <item notwith="torso/0">Poor2 Lower</item> <item color="nocolor" color2="nocolor">Bard Pants</item> </pants> <shoes> <item>Poor Shoes</item> </shoes> </chartemplate>