Dokumentations version 1.0d , 2004-06-05
Das erste, was wir tun, sobald DEdit geladen wird, ist das gegegnete System, roleplaying system (RPS) genannt, auszuwählen. Im linken oberen Eck des Editors befindet sich die Auswahlbox, in der alle derzeit zur Verfügung stehenden Systeme aufgelistet sind. Mit Klick auf das kleine Dreieck erhalten wir die Auswahlliste, und wählen AD&D – Deutsch. |
![]() |
Das gewählte RPS definiert
eine Reihe wichtiger Paramter für die Datenbank. z.B. die Speicher-Ordnern,
die Sprache, verfügbare Tavernentypen & Rassen, usw. Das "Standard"
RPS ist "AD&D - English" |
Zuerst überprüfen wir, ob wir auf der PPItem-Seite arbeiten. Der Bildschirm von DEdit ist aus verschiedenen Seiten wie ein Karteikartensystem aufgebaut. Die einzelnen Seiten können durch einen Klick auf den Namen der Seite am oberen Rand nach vorne gebracht werden. Wir klicken daher auf "PPItems". In der oberen, rechten Ecke der Seite befindet sich ein Knopf New....Darauf klicken wir nun, um einen neuen Datensatz anzulegen. Ein New PPItem Fenster mit einem Auswahlmenü verschiedener Objekttypen und Subtypen erscheint. Wir wählen Rucksackgegenstand als Objekttyp und Proviant als Subtyp. Dann klicken wir auf OK. Ein leerer "Rucksackgegenstand/Proviant" Eintrag wird der Datenbank hinzugefügt. |
![]() |
Vorsicht: Der New.. Knopf am oberen Rand (-den wir
gerade dazu benutzt haben, einen Datensatz hinzuzufügen) darf nicht
mit dem New... Knopf
am unteren Bildschirmrand verwechselt werden. Dieser Knopf legt einen
neue Datenbank an! Ist die momentane Datenbank nicht gesichert,
so erscheint eine Warnung, ob die Datenbank gesichert werden soll. Mit
"Abbrechen" kehrt man wieder zurück. |
Es gibt zwei Textfelder auf der PPItem-Seite. Eines ist mit Long (lang) das andere mit Short (kurz) bezeichnet. Wir klicken in das Short Feld um unseren Cursor dort zu bestimmen. In dem Feld kann nun die Beschreibung geschrieben werden, wobei es wichtig ist, sich an die Grammatik-Regeln für den Objekttyp (in diesem Fall Rucksackgegenstand/Proviant) zu halten! Diese können entweder an anderen Datensätzen des Objekttyps erkannt werden, oder im TavernMaker-Feedback-Forum nachgelesen werden. Wir schreiben jetzt einfach z.B. ein Topf mit Marmelade Nun klicken wir in das Long-Feld, um den Cursor dort zu erhalten. Hier schreiben wir jetzt z.B. Wichtig: - Zeilen müssen nicht mit "Return" abgeschlossen werden, da TavernMaker einen automatischen Zeilenumbruch macht. - Es können keine Tabulatoren benützt werden. - Folgende Zeichen sind im Text nicht erlaubt: § $ % < > { } |
![]() |
Die Grammatik-Regeln für
die einzelnen Objekttypen sind absolut wichtig! Eine PPItem-Datenbank
ist eine Datenbank von "Textbausteinen", die in die eigenltichen
Beschreibungen dann per $DB-Befehl eingefügt werden. Innerhalb
eines Objekttyps müssen sie daher untereinander austauschbar sein.
Wird z.B. ein Objekttyp so definiert, dass er mit Artikel im 4.Fall
beginnt, so kann er in der Beschreibung z.B. an Stellen wir "Er
spricht über <...>" eingesetzt werden und z.B. ergeben:
"Er spricht über das Wetter". Wenn nun aber eine Eintragung
plötzlich mit unbestimmten Artikel und im ersten Fall steht, würde
der Satz höchst seltsam aussehen, etwa: "Er spricht über
ein Baum". Zu den richtigen Objekttypen gibt es ein eigenes Tutorial
"Wie finde ich die richtigen Grammatik-Regeln für PPItems?".
Für den Augenblick jedoch reicht es, diesem Tutorial Schritt für
Schritt zu folgen. |
Der Schieber links unten ist mit Wealth beschriftet. Frei übersetzt "Wohlstand". Hier wird der durchschnittliche Wert, dem dieser Datensatz angehören soll, eingestellt. Wenn die Beschreibungen nicht für einen bestimmten Wert beschränkt sein sollen, kann die Einstellung auf 0 = alle wealth levels bleiben. Oft beschreibt der Datensatz aber "wertvolle" oder "billige" Objekte. In so einem Fall kann ein Wert zwischen 1 = extrem armselig , 5 = durchschnittlich , 10 = extrem wertvoll eingestellt werden. Entweder, indem der Schieber verschoben wird, oder indem man ins Feld links daneben den entsprechenden Zahlenwert eingibt. Unsere Marmeladentopf kann sich im Gepäck von so ziemlich jedem befinden. Daher lassen wir den wealth flag auf 0. |
![]() |
So wie die Flags
bei den Beschreibungen die Auswahl der Datensätze bei der
Texterzeugung limitieren, limitieren die PPItem Flags die Auswahl
der Einträge, die mittels $DB Befehl in den Beschreibungen (zufällig)
eingefügt werden. Immer, wenn in einer Beschreibung ein $DB Befehl
ausgeführt wird, werden alle PPItem-Datenbanken durch die Flags
gefiltered und danach einer zufällig gewählt. |
Es gibt zwei kombinierte Drop-Down-Listen-Felder auf der PPItem-Seite. Das oberste wird mit Tavern type bezeichnet. Hier wählen wir, für welche Tavernentyen unser PPItem-Textbaustein erlaubt ist. Aus dem Drop-Down-Menu kann ein Eintrag gewählt und anschließend mit dem Add Knopf in die Liste aufgenommen werden. Um einen Eintrag wieder zu entfernen, muß er in der Liste aktiviert werden und mit dem Delete Knopf gelöscht werden. Wenn der Typ alle hinzugefügt wird, wird die Liste automatisch bis auf diesen Eintrag geleert. Wie die Bezeichnung es schon sagt, sind derartige Datensätze für alle Tavernen geeignet. .
Wir wollen einmal davon ausgehen, dass sich ein Marmeladentopf nur im Gepäck eines Reisenden befinden kann, da man ihn sonst nicht mit sich herum schleppen würde. Daher wählen wir den Typ: Gasthaus an einer Reiseroute. |
![]() |
Tavern type Flags sind
unmittelbar mit den in WinTavern ausgewählten Tavernentypen verknüpft.
Wird dort zB ein Restaurant generiert,
so werden nur Datensätze mit den Flags alle oder Restaurant zugelassen. |
Die zweite kombinierte Drop-Down-Liste ist mit Race flags beschriftet. Hier wird ausgewählt, für welche Rassen der PPItem-Textbaustein erlaubt ist. Alle gesetzten Flags sind hier mit einem logischen ODER verknüpft. Das bedeutet, wenn etwa Gnome und Halblinge gesetzt sind, kann der Textbaustein in Beschreibungen auftauchen, die entweder Gnome oder Halblinge oder beides in ihren Rassen-Flags stehen haben. PPItem-Textbausteine mit dem Flag unbekannt können überall verwendet werden.
Da wir jeder der Rassen die Marmelade zutrauen, verwenden wir die Einstellung: unbekannt. |
![]() |
An dieser Stelle möchte
ich darauf hinweisen, dass die race flags hier in den PPItem-Textbausteinen
unterschiedlich von den race flags in den (Tisch-)Beschreibungen
funktionieren. Während die race flags in den Beschreibungen sämtlich
erwähnten Rassen aufzählen, werden sie bei den PPItem-Textbausteinen
als Limitierung der verwendbaren Datensätze verwendet. In Beispielen:
In einer "rein menschlichen Taverne" mit "rein menschlichen Gästen" sollte
keiner der Gäste ein "Elfenschwert" tragen. Auch wäre es höchst unwahrscheinlich,
dass ein Zwerg einen elfischen Langbogen trägt... Natürlich gibt es Ausnahmen
(etwa das Geschenk des Elfenkönigs and den Zwergenheld..), aber derart
spezielle Beschreibungs-Datensätze müssen die fortgeschrittenen
Script Befehle verwenden. Darum müssen wir uns aber beim Erstellen
der PPItem-Datenbank keinerlei Gedanken machen. Hier geht es einfacher:
Es wird ein "Elfenschwert" beschriebeb, also bekommt der Datensatz den
race flags "Elfen" und unter Umständen
noch "Halbelfen" - fertig. |
In der unteren linken Ekce befindet sich eine Zahlen-Box namens Chance. Hier wird eingegeben, mit welcher (relativen) Wahrscheinlichkeit dieser PPItem-Textbaustein ausgewählt werden kann. Normalerweise bleibt der Wert auf 100%, doch für seltenere Dinge kann er auf einen niedrigeren Wert gesetzt werden. Wir beschließen, dass unser Marmeladetopf etwas durchaus alltägliches ist, und lassen den Wert bei 100%. |
![]() |
Was genau ist dieser Chance?
Jedesmal, wenn der $DB Befehl einen Eintrag wählt, wird die PPItem-Datebank
zunächst auf ihre Flags gefiltert und anschließend ein Eintrag zufällig
gewählt. Was würde nun passieren, gäbe es in der Datenbank 9 Beschreibungen
für durchschnittliche Schwerter und eine Beschreibung für ein heiliges
Schwert mit magischem Bonus +5 ? Bei einer reinen, zufälligen Auswahl würde
durchschnittlich jeder zehnte Gast, der ein Schwert besitzt, auch ein derartig
seltenes Schwert bei sich tragen! Das ist mit Sicherheit kein wünschenswertes
Ergebnis. Wenn nun jedoch die Chance dieser seltenen Waffe auf
1% gesetzt wird, so besthet bei einer zufälligen Wahl nur eine 1%-Chance,
dass der Eintrag akzeptiert wird. Die Gesamt-Wahrscheinlich keit hat sich
daher von 10% auf 0,1% gesenkt, und nur jeder 1000 Gast wird (im Durchschnitt)
so eine Waffe tragen. |
Ebenfalls in der linken unteren Ekce befindet sich eine Checkbox mit Namen Unique (=einmalig). Hier wird gewählt, ob der selbe PPItem-Textbaustein innerhalb einer generierten Taverne mehrmals auftauchen darf. Wir beschließen, dass unser Marmeladentopf durchaus in mehreren Rucksäcken auftauchen könnte, das es jedoch merkwürdig wäre, würden alle Menschen nur Pfirsich-Marmelade mit sich herumtragen. Daher wollen wir den Eintrag pro Taverne nur einmal zulassen, und die Checkbox wird daher angekreuzt. |
![]() |
Jetzt haben wir unseren ersten Eintrag abgeschlossen. Es ist daher an der Zeit, die Datenbank zu speichern. In der rechten, unteren Ecke der PPItem-Seite findet sich ein Save... Knopf. Wir klicken darauf und bekommen ein Standard-Windows-Save-Fenster. Es befindet sich (-danke RPS-) automatisch im richtigen Verzeichnis, so daß im Regelfall in kein anderes Verzeichnis gewechselt werden muß. Einfach einen Dateinamen eingeben und speichern anklicken. Der Dateityp ist automatisch PPItem database und der Suffix *.txt. Weder das eine noch das andere davon kann geändert werden. Sobald eine Datenbank gespeichert wurde, erscheint ihre Pfad-Angabe in der Titelleiste des DEdit Fensters. Ein Stern nach dem Dateinamen zeigt an, dass die geöffnete Datenbank verändert und noch nicht gesichert wurde. |
![]() |
Manchmal (-nicht wenn wir
hier alles richtig gemacht haben-) erscheint beim Speichern ein Check Results Pop-up Fenster. DEdit überprüft
beim Speichern automatisch, ob alle wesentlichen Einträge gemacht
wurden. Findet es Fehler, so werden die betroffenen Datensätze in
rot angezeigt. |
Nun haben wir also unseren Marmeladentopf. Großartig. Aber er beinhaltet immer nur Pfirsichmarmelade, und das ist auf die Dauer doch recht eintönig. Wir könnten nun einfach einen weiteren "Marmeladen-Topf" Eintrag mit anderere Marmelade erstellen, oder - und das geht viel besser - wir können TavernMakers Skript-Befehle verwenden. Die meisten der Befehle, die auch in den Beschreibungen der Tische funktionieren, könne auch für PPItem-Textbausteine verwendet werden. Speziell die Befehle $OneOf , $Direct und $Random sollten wir hier gut gebrauchen können! Erweitern wir unseren Marmeladentopf doch mit dem $OneOf Befehl... |
|
Wir können die Ausgabe
(wie bei den Beschreibungen auch) durch Gedrückt-halten der F4-Taste
als Vorschau betrachten. Da unser Marmeladentopf nun bei jedem Aufruf etwas
anderes beinhaltet, kann der Datensatz innerhalb einer Taverne ruhig mehrmals
verwendet werden. Aus diesem Grund werden wir die unique Checkbox nicht
ankreuzen. Wir speichern die Datenbank mit dem Tasten-Kürzel |
Es ist sehr wichtig zu überprüfen,
dass wirklich alle möglichen Ausgaben einen Datensatzes mit
den gewählten Flags übereinstimmen! |
Wir wissen jetzt, wie man einen gültigen Eintrag erstellt. Einfach Schritt 2 bis 8 wiederholen und mehrere Datensätze schreiben! Folgende Ratschläge/Hinweise:
Qualität ist wichtig! Es ist besser, wenige Eintragungen mit großer Portion an Kreativität zu schreiben, anstatt einer Masse an mehr oder weniger ähnlichen Beschreibungen mit nur leichten Abänderungen. Für diese eignen sich die Skript-Befehle viel, viel besser! Es ist wichtig, dass short
text und the long text eines Datensatzes zusammen
passen! (Vorschau bei gedrückter F4-Tastet). Ein dritter, absolut wichtiger Punkt sind die Grammatischen Regeln der Datensätze. Datensätze eines Typs müssen grammatikalisch immer zusammen passen. Allen Anfängen empfehle ich zunächst einmal, vorhandene Datentypen/Subtypen auszubauen, und einfach dem Beispiel der existierenden Datansätze zu folgen. Später, wenn der Umgang mit den PPItems klarer ist, können dann eigene Datentypen erzeugt werden. Dabei ist jedoch darauf zu achten, dass keine bereits verwendeten Typennamen gewählt werden! Im Zweifelsfall im Forum bzw. per Email nachfragen! |
Jede Datenbank hat
einen kleinen comment-Bereich,
in dem Erzeugungsdatum, Datenbank-Autor und einige Textzeilen gespeichert
sind. Dieser Bereich wird über den Comments... Knopf aufgerufen. |
![]() |
Sobald eine Datenbank im richtigen Verzeichnis gespeichert ist, wird sie von TavernMaker auch verwendet. TavernMaker verwendet automatisch alle gültigen Datenbanken im vom RPS angegebenen Verzeichnis. Entfernt man daher alle anderen Datenbanken, außer die eigenen, so wird nur diese für Testzwecke verwendet. PPItem Datenbanken lassen sich jedoch auf nach folgender Anleitung rasch testen: - Speichern der PPItem Datenbank (CRTL + S) - Zur Descriptions-Seiten von DEdit wechseln - Eine neue Beschreibung anlegen (beliebiger Typ) - Den Cursor in einem der beiden Textfelder platzieren - Auswahl von Typ/Subtyp in den Listboxen von “Add $DB” und Einfügen des Befehls. - Einen typsichen Satz schreiben, in dem der zu testende PPItem-Textbaustein verwendet werden soll (sowohl mit %s als auch mit %l im $DB Befehl). - Mit F4 die unterschiedlichen Möglichkeiten der Ergebnisse überprüfen. Alles so, wie erwünscht?
Sobald man mit den Ergebnissen der Datenbank zufrieden ist, sollte man sie an den Projektleiter schicken. Dies ist ein wichtiger Schritt, denn nur der Projektleiter kann eine Datenbank verifizieren, und nur derat behandelte Datenbanken können mit anderen Usern getauscht werden. Konkret bedeutet das: TavernMaker akzeptiert alle Datenbanken als gültig, wenn sie vom selben Autor erstellt wurden, für den TavernMaker auf diesem PC registriert wurde (für Test-Zwecke), und solche, die von einem Projektleiter verifiziert wurden.
Daher: Die eigenen Datenbanken nicht weitergeben! Das Konzept von TeamWare ist, dass alle am selben Strang ziehen. Meine Erfahrung mit meiner ursprünglichen TavernMaker-Version hat gezeigt, dass viele User zwar Datenbanken schreiben, sie aber dann 'vergessen' an mich zu schicken. Das Ergebnis war ein Chaos von verschiedentsten Programm- & Datenbankversionen im Netz. Um diese zu umgehen, haben wir die Registrierung und das Verifizieren der Datenbanken eingeführt. Auf diese Weise laufen alle Linien wieder am zentralen Punkt der TavernMaker-Homepage zusammen. Zum Nutzen von allen. Die TavernMaker Homepage ist daher der einzige Ort, an dem das Programm & die AddOns als Downloads zur Verfügung stehen. Ich freue mich sehr über einen Link zu dieser Seite, aber bitte keine TavernMaker-Dateien von anderen Seiten aus zum Download anbieten! |