gothlivion | Datum: Montag, 2014-12-29, 8:12 PM | Nachricht # 1 |
Privat
Gruppe: Administratoren
Nachrichten: 1
Status: Offline
| Modding Grundlagen
Da es immer mal wieder vorkommt, dass danach gefragt wird, wie man Drakensang moddet, habe ich eine kleines Tutorial dazu geschrieben. Es ist nur ein kleines, einfaches Beispiel, dass nur einen kleinen Teil behandelt, sollte aber als Einstieg ins Modding ausreichen. Ich hoffe es ist einigermaßen verständlich formuliert.
Den gesamten SQL Code für die Beispielquest findet ihr am Ende des Tutorials.
Modding Grundlagen
Alles, was im Spiel vorkommt und geschieht, ist in drei Datenbanken festgehalten. Modden bedeutet, die Tabellen in diesen Datenbanken um zusätzliche Einträge zu erweitern. Sie sind im Verzeichnis: Drakensangverzeichnis\export\db abgelegt.
static.db4Die static.db4 enthält alles, was sich während eines Spieldurchgangs nicht ändert, z.B. Dialoge, Bedingungen usw.game.db4Die game.db4 wird nur verwendet, wenn ein neues Spiel begonnen wird. Sie enthält alles, was sich während eines Spieldurchgangs dynamisch verändert. Die Savegames sind erweiterte Versionen der game.db4. Diese haben als Erweiterung .dsa.locale.db4Die locale.db4 enthält sämtliche Texte, die im Spiel vorkommen. Bei Am Fluss der Zeit sind das Verzeichnis und die Datenbanknamen identisch. Bei dem Addon Phileassons Geheimnis werden die Datenbanken gamea1.db4 und statica1.db4 verwendet.
Die Datenbanken liegen im SQLite Format vor. Zur Bearbeitung wird ein entsprechender Datenbankbrowser benötigt.
Tools Da es leider keine speziellen Modding Tools wie bei anderen Spielen gibt, ist man auf eine Reihe von anderen Programmen angewiesen.
Tabellenkalkulation Eine Tabellenkalkulation (Excel/Calc) verwende ich zum Anlegen der Tabellen. Diese werden dann im Editor in SQL Anweisungen umgewandelt.
Wichtig: Legt auf jeden Fall Sicherheitskopien der Datenbanken an. Falls mal etwas absolut schiefgeht, erspart euch das eine Neuinstallation.
BLOBs Da jetzt schon mehrfach diese BLOBS erwähnt worden sind, werfen wir jetzt einen näheren Blick darauf. Beim Modden werden sie an genau zwei Stellen benötigt: GUID Transform Beim Drakensang Modding werdet ihr immer wieder auf sogenannte BLOBs treffen. Diese werden vor allem als GUID in den Tabellen verwendet und müssen in jeder Tabelle eindeutig sein. Dann haben sie dieses Aussehen:
X'12EB79F8DD88A564DA15659A728DC8C3'
Es handelt sich um einen hexadezimal notierten String, der mit einem X beginnt und von einfachen Anführungszeichen umschlossen ist. Häufig wird aus anderen Datensätzen auf diese GUID verwiesen. Dieser Verweis sieht dann so aus:
f879eb12-88dd-64a5-da15-659a728dc8c3
Des weiteren werden BLOBs bei den Transforms verwendet. Dabei handelt es sich um die genaue Stelle, an der sich ein NPC oder Gegenstand befindet. Diese BLOBs sehen so aus:
X'91B5943C0000000033F57FBF00000000000000000000803F000000000000000033F57F3F000000 0091B5943C000000004A232BC3CED2A740305412430000803F'
Darin enthalten ist auch die Größe des Objekts (Größenänderung funktioniert allerdings nicht bei allen Objekten) und auch die Höhe, in der sich das Objekt befindet. Bei Triggern bestimmt der Transform auch die Größe des Triggers.
BLOBs kommen zwar auch noch an anderen Stellen in den Datenbanken vor, können wir zum Modden aber erst einmal außer acht lassen. Wenn die Blobs im SQLite Manager nicht richtig angezeigt werden, muss in den Einstellungen im Reiter Benutzeroberfläche der Wert unter Größe von BLOB-Daten anzeigen vergrößert werden.
SQL SQL ist eine Datenbanksprache zum Erstellen und Bearbeiten von relationalen Datenbanken. Zum Modden ist es keineswegs nötig diese Sprache zu lernen. Im Prinzip werden nur zwei Befehle benötigt, der INSERT Befehl um Datensätze in eine Tabelle einzutragen und der UPDATE Befehl um bestehende Datensätze zu verändern.
******************************************************************************** ***********************
|
|
| |