1. Einleitung
2. Benötigte Programme
3. Grundlage
3.1 kleine Dateikunde
3.2 Extrahieren von Dateien
3.3 Editieren der .txt-Dateien
3.4 Editieren der patchstring.tbl
3.5 Einfügen der neuen Inventargrafik
3.6 Ein eigenes MPQ-Archiv
4. Credits
1. Einleitung
Insider werden wahrscheinlich die Hände vorm Gesicht
zusammenschlagen. Dies ist sicherlich schon der x-te Anfängerguide der im Web
herumschwirrt. Doch das ich trotzdem einen solchen Guide mache ist, dass ich die
Mentalität des Moddens weitergeben will. Modden bedeutet mehr als Ecxel zu
starten und ein paar Werte in einer Textdatei zu ändern. Es geht viel mehr
darum, ein Gesamtkonzept zu haben, und dieses konsequent durchzusetzen, auch
wenn dies bedeutet, Features auszulassen. Und vor allem, nicht immer den
einfachsten Weg zu nehmen. Den als Modder ist man immer wieder eingeschränkt.
Es ist unmöglich alles so zu machen wie man will. Auch heißt modden nicht,
dass man das Spiel so leicht zu machen wie irgendwie möglich. Es gibt zu allem
was D2 leichter macht inzwischen eine Mod, was zu zweifelhaften Erfolgen im open
bnet führt. So bekommt man plötzlich die 10fache Erfahrungsanzahl, alle Gegner
haben nur 1 Leben, oder es fallen nur Sets und Uniques. Dies macht das Spiel
zunichte und ist für alle Legitspieler mehr als lästig. Deshalb vertrete ich
die Meinung, dass man eine gute Mod daran erkennt, dass es mit dem Original
inkompatibel ist.
Auch möchte ich hervorheben, dass es oft mehrere Wege gibt. So
kann man zum Beispiel anstatt das Leben der Gegner zu verdoppeln auch den
Waffenschaden halbieren. Und es gibt Dinge, die verlangen nach Logik. Wenn man
zum Beispiel ein Akt 5 Monster ins Blutmoor setzt, sollte man die Stats des
Monsters auf keinen Fall gleich lassen, sondern anpassen. Auch soll man sich der
Gefahr des Übertreibens im klaren sein. Das beste Beispiel dafür ist Blizzard
und der 1.08er Patch. Praktisch über die Nacht wurde ein Skill, der nie
besonders beachtet wurde zu den Skill überhaupt. Ich spreche hierbei von der
Feuerwand. Das gleiche passiert immer wieder mit Mods. So habe ich mehr als ein
mal gesehen, dass man mit Giftnova Baal mit einen Schlag killen kann. Giftnova
gehört zwar zu den zur Zeit nicht besten Skills, aber man kann es auch
übertreiben. Deshalb sollte man sich, bevor man einen Skill verändert in den
Charforum darüber informieren, welches Potential ein Skill hat, und vor allem
ihn auch selbst testen. Doch genug der Einleitung, Hier ist der Guide:
2. Benötigte Programme
An dieser Stelle möchte ich einen großen Dank
an Goldark und Selena aussprechen, die mit ihren Startpaket mir die Arbeit
extrem erleichtern. Bekommen kann man dieses in der Filebase
. Doch damit ist die Liste nicht komplett, denn ihr braucht zum
effektiven Modden folgendes:
- Mpq2k (im Startpaket enthalten)
- Mpqview (die Version im Startpaket nicht verwenden!!! Die
richtige Version gibt bei uns einzeln als Download.) - Baron Darkstorms TBL Editor (erhältlich im Phrozenkeep,
Fileplanet ist extrem zickig, es empfiehlt sich immer etwas zu scrollen, um
die kostenlosen public-Server nutzen) - Excel (Lotus 1-2-3 ist hierbei kein Ersatz, da es die Datei
mit Leerzeichen statt Tabulatoren abspeichert. Die beiden Linux- Konkurrenzprodukte
sollen auch funktionieren, ich konnte mir aber davon kein Bild machen, da
ich nur Windows benutze. Sollten diese Lösungen nicht in Frage kommen, gibt
es noch Texteditoren im Phrozenkeep.
Jedoch beziehe ich mich in diesen Guide explizit auf Excel) - dc6con (im Startpaket enthalten) (optional, nur wenn man
eigene Grafiken ins Spiel importieren will benötigt.) - Paintshop, Photoshop und andere Grafikprogramme, die mit
Paletten umgehen können, und Paletten von diesen beiden Programmen nutzen
können. (optional, nur wenn man eigene Grafiken ins Spiel importieren will
benötigt.) - Diablo2 Farbpaletten (im Startpaket enthalten) (optional, nur wenn man eigene Grafiken ins Spiel importieren will
benötigt.) - patch_d2.mpq, storm.dll (Zu finden im
D2-Installationsordner) d2data.mpq, d2exp.mpq (diese 2 dienen nur dazu, an
spezielle Dateien heranzukommen. Mit dem Modden selbst haben sie nicht zu
tun.) - Außerdem ist zu empfehlen, die Magic-Codeliste
vom Phrozenkeep zu den Favoriten hinzuzufügen. Ihr werdet sie brauchen.
Vielleicht nicht in diesen Guide, aber spätestens wenn ihr selbst modet.
Es ist zu empfehlen, diese Programme möglichst zusammengefasst
in einen Ordner zu geben, der ungleich den Installationsordner von D2 ist, um
Ordnung zu schaffen und zu erhalten. Außerdem empfehle ich
dringest die patch_d2.mpq zu
backupen, da sie die Angewohnheit hat verloren zu gehen. Ich spreche aus
Erfahrung.
3. Grundlagen
3.1. kleine Dateienkunde
Wenn ihr in euren Installationsordner schaut (gewöhnlicherweise
„C:\Programme\Diablo II“),
werdet ihr verschiedene Arten von Dateien entdecken.
Als erster wären da mal die Typen .txt, .log, .htm und .lng.
Dies sind Logfiles, die Readme oder ist dazu da DOS mitzuteilen, dass es sich
hier um keine zu DOS komplatible Anwendung handelt. Diese Dateien sind völlig
zu vergessen, und tragen zum Modden absolut gar nichts bei.
Das nächste sind die Typen .ma0-.ma9, .map, .d2s und .key.
Diese findet man im SAVE-Ordner und stellen die gespeicherten D2-Chars da. Mit
einen Chareditor kann man diese verändern, aber dies ist absolut sinnfrei,
außer man will den Spieler des Mods insofern einschränken, dass man ihn
bestimmte Chars in bestimmten Situationen gibt. In anderen Spielen sicherlich
interressant, in D2 jedoch läuft dies im eigentlich nur auf cheaten hinaus. Und
genau so werden die meisten Spieler auch vorgefertigte Chars empfinden, also
Finger weg davon…
Und jetzt beginnt die Gruselstunde für alle Linuxfreaks unter
uns. Die Binärdateien mit den Endungen .dll und .exe. Diese sind für die
Vorgänge im Spiel verantwortlich, haben jedoch denn Nachteil, dass man sie wie
unter Windows üblich nur verwenden, jedoch nicht verändern kann. Um dies
trotzdem zu können, bräuchte man den Quelltext von Blizzard, und wie es
ausschaut sind diese nicht im Traum dazu bereit ihren Quellcode freizugeben. Die
einzige Möglichkeit ist das Verändern von einzelnen Bits nach den Try+Error
Prinzip. Dies ist aber nicht wirklich meine Sache, wer trotzdem diesen Bereich
editieren will, denn kann ich dass Code-Editing-Board
im Phrozenkeep empfehlen.
Zuguterletzt kommt noch die Spezialität des Hauses. Die
MPQ-Dateien. Umarmt Blizzard dafür. Liebt sie. Es ist zwar ein auf Gewinn
programmierter Verein, dem die Community egal ist, da sie er nur den Server
belasten, aber sie haben die MPQ. Dies sollte sich in etwa aufwiegen. Denn diese
Dateien stellen eine Art zip-Datei dar, die dazu optimiert wurde, dass ein
Programm auf den Inhalt schnell zugreifen kann, ohne sie entpacken zu müssen.
Dies geschieht mit Hilfe der storm.dll. Mit mpqview kann man auch selbst einen
Blick hineinwerfen, und sogar Dateien extrahieren. Diese Dateien liegen zwar in
ungewöhnlichen Formaten aber immerhin konkret vor. Leider existiert aus
Sicherheitsgründen ein Schutzmechanismus, der verhindern soll, dass diese MPQ
in irgendeiner Form verändert wird. Diesen kann aber mit Hilfe der von mpq2k
verwendeten lmpqapi.dll umgehen.
3.2. Extrahieren von Dateien
Zu Übungszwecken werde ich in den nächsten Schritten zeigen,
wie man eine Targe gambelbar, ihr einen neuen Namen verpasst, und dass Bild ein
wenig passender gestaltet. Als erster muss man dazu die benötigten Dateien aus den
verschiedenen mpq’s extrahieren. Um dies zu vollbringen braucht man als erstes
mpqview. Doch dieses arbeitet nur, wenn es weiß wo genau in der mpq sich
Dateien befinden können. Dazu muss man eine Filelist einladen. Dies macht man
mit der Option „Open data file„, und das Listfile trägt den Namen
d2dataexp.txt und wurde mitgeliefert.
Danach öffnet ihr die patch_d2.mpq mit dem Befehl „Open
archive“ und sucht nach der armor.txt. Um diese schneller zu finden, gibt
es in der unteren rechten Ecke einen Filter, damit nur .txt-Dateien angezeigt
werden.
Als nächster braucht ihr dann die deutsche patchstring.tbl, die
man ebenfalls in der patch_d2.mpq findet. Wie ihr vielleicht feststellt kann man
mit den Filter .tbl diese Datei nicht finden. Schaltet deshalb den Filter auf
*.* Danach ist die gamble.txt zu extrahieren, die man in der
d2exp.mpq
findet, die sich im Standardverzeichnis von D2 befindet. Hierzu sollte man den
Filter wieder aktivieren, wenn man nicht stundenlang scrollen möchte.
Hinweis: Wenn man nach einer Datei sucht, um sie zu verändern,
sollte man zuerst in der patch_d2.mpq nachsehen. Befindet sie sich dort nicht
sollte man in der d2exp.mpq und als letztes in der d2data.mpq nachsehen. Nach
genau den gleichen System geht auch D2 vor, und nimmt die Datei, die das Spiel
als erster findet.
3.3 Editieren der .txt Dateien
Nachdem die Dateien extrahiert wurden, gilt es, diese auch zu
editieren. Also werde ich hier gleich zeigen, wie man Paladinschilder gambelbar
macht. Zu diesen Zweck benötigt man die armor.txt, um überhaupt zu wissen, mit
welchen internen Code ein Paladinschild gehandhabt wird. Dazu verwendet man
besten die Suchfunktion von Ecxel, und man wird in der Zeile 105 landen. In der
Spalte R ist der dazu passende Code, der pa1 lautet.
Nachdem man diesen Code hat, braucht man nur noch die Gamble.txt
öffnen, und einen neuen Eintrag erstellen. Ich denke dies ist selbsterklärend.
Trotzdem gibts für alle die keinen Plan haben, was sie in die Kommentarzeile
schreiben sollen, und natürlich für alle Härtefälle ein Bildchen:)
Natürlich werden die meisten sofort testen wollen, ob dies auch
wirklich funktioniert. Dies ist des weiteren kein Problem. Man muss dazu
nur in das Standardverzeichnis gehen, und den Ordner data\global\excel (bitte
richtig schreiben) erstellen, und darin die gamble.txt deponieren. Danach
öffnet man eine Textdatei (Unter den Namen Editor im Zubehör zu finden), copy&pastet
„game.exe -w -direct -txt“ hinein, und speichert sie in den
Standardverzeichnis mit dem Namen test.bat.
Es ist darauf zu achten, dass man beim speichern der .bat als
Dateityp Alle Dateien(*.*) angibt. Ansonsten
speichert man die Datei unter test.bat.txt, was sich dann daraus ergibt ist, dass man die Datei nicht mehr ausführen kann.
Solltet ihr jetzt ein Spiel starten, wird bald eine Targe zum
gambeln zur Verfügung stehen. Sollte dies nicht der Fall sein, fügt ein paar
Zeilen lang den Code pa1 in die gamble.txt ein, was die Chancen auf eine Targe
drastisch erhöht, oder überprüft ob ihr excel richtig geschrieben habt.
Außerdem sollte euer Char mindestens lvl3 haben.
3.4 Editieren der patchstring.tbl
Targe ist klarerweise kein ordentlicher Name. Hihaku klingt da
schon viel schwungvoller. Fast so, als ob es ein japanisches Wort wäre, und ich
es nicht gerade erfunden hätte. Deshalb werden wir dieses Problem mal schnell
ändern, indem wir den Text ändern. Dazu muss man mit Hilfe des Tableeditors
die patchstring.tbl öffnen. Jetzt solltet ihr links eine Liste von Einträgen
finden, und rechts den dazugehörigen Text. Da der Code für eine Targe ( pa1 )
schon bekannt sein sollte, könnt ihr Mithilfe der Suchfunktion danach suchen.
Ihr werdet aber nichts finden, weil die linken Einträge nur händisch
durchsucht. Aber es gibt noch eine andere Möglichkeit, da man ja den
zugehörigen Text kennt ( Targe ). Doch auch diesmal wird man nichts finden, da
der Eintrag für die Targe von Blizzard noch nie gepatcht wurde. Also wird es
dafür Zeit. Fügt mit der +-Taste einen string namens „pa1“ hinzu,
und schreibt ins Textfeld „[ns]Hihaku„.
[ns] bestimmt hierbei, ob das Wort männlich([ms]), weiblich([fs]),
sächlich([ns]) oder Mehrzahl(pl) ist.
Jetzt müsst ihr nur noch speichern, und die Datei nach data\local\LNG\DEU
bringen, und das Ergebnis im Spiel bewundern.
Bei den Text gibt es die Möglichkeit mit ÿcx die Farbe zu
ändern, wobei x die Zahl ist, die die Farbe angibt. Dieses Beispiel wurde mit
dem Text „ÿc1Rÿc2eÿc3gÿc4eÿc5nÿc7bÿc8oÿc9gÿc1eÿc2nÿc3sÿc4cÿc5hÿc7iÿc8lÿc1d“
erstellt:
3.5 Einfügen einer neuen Inventargrafik
In dieser Lektion geht es darum, ein neues Bild für das Schild
einzufügen. Normalerweise malt man es selber, oder man nimmt eines das im
Phrozenkeep der Allgemeinheit zugänglich gemacht wurde. In diesen Fall möchte
ich euch die Sache erleichtern, denn ich habe bereits ein Bild:
Dieses hat eine Größe von 56*56 Pixel, was ideal ist, da ein
Kästchen im Inventar 28*28 Pixel groß ist. Dementsprechend muss man nur die
Pallete von D2 laden, den Rand entfernen, und als .pcx speichern. Für alle die
dazu aus irgendeinen Grund nicht in der Lage sind, gibt er hier einen
Downloadlink: bitte klick mit der rechten Maustaste auf
mich, und wähle Ziel speichern unter.
Dass einzige Problem ist, dass Diablo2 ein extrem exotisches
Grafikformat verwendet. Und zwar .dc6. Dieses hat ähnliche Eigenschaften wie .gif,
was bedeutet, dass Animationen und Transparenzen möglich sind. Jedoch hat es
den Nachteil, dass es auf Blizzardspiele beschränkt ist, und damit sich bei
Grafikprogrammen noch nicht durchsetzen konnte. Deshalb verwendet man dc6con, um
das bekannte Format .pcx in .dc6 zu konvertieren. Dieses Programm scheint
Probleme mit der Groß/Kleinschreibung zu haben, weshalb man generell alle
Dateinamen groß schreiben sollte, und die Befehle klein.
Wenn man die 5.PCX konvertieren will, muss man eine .bat
erstellen, die den Text „dc6con 5.PCX -transcol 0″ schreibt. transcol
0 bedeuted hierbei, dass die 0te Farbe der Pallete transparent werden soll.
Diese Farbe hat den RBG-Wert 0-0-0 , was der Farbe schwarz entspricht.
Natürlich muss sich die .PCX im gleichen Ordner wie dc6con und die bat
befinden, damit es funktioniert.
|
|
Mit einen Doppelklick auf die .bat ist man so an die
dazugehörige .dc6 gekommen. Doch was jetzt? Mit den bis jetzt verwendeten Code
pa1 wird man nicht weit kommen, da es ja durchwegs verschiedene Grafiken für
ein und dasselbe Item gibt. Und wo soll man es später einfügen? Dazu muss man
wieder in der armor.txt nachschauen. In der Spalte AH105 wird man fündig
werden, der benötigte Name ist invpa1 . Wenn man jetzt noch weiß, dass dies in
den Ordner data\global\items gehört, hat man auch schon gewonnen.
3.6 Ein eigenes MPQ-Archiv
Bis zum jetzigen Zeitpunkt habe ich es geschickt umgangen zu
erklären, wie man eine eigene, neue patch_d2.mpq erschafft. Dafür verwendet
man im eigentlichen die patch_d2.mpq erweitert um die eigenen Dateien. Dazu muss
man die Dateien unter den gleichen Pfad einfügen, wie man auch vorhin verwendet
hat. Diese wären:
data\global\excel\gamble.txt
data\local\LNG\DEU\patchstring.tbl
data\global\items\invpal1.dc6
Nun muss man wieder eine .bat erstellen, um mpq2k zu bedienen.
Der Syntax lautet „mpq2k a <Archivname> <Dateiname>
<Dateiname im Archiv>“. Also in diesen konkreten Fall:
mpq2k a patch_d2.mpq gamble.txt data\global\excel\gamble.txt
mpq2k a patch_d2.mpq patchstring.tbl data\local\LNG\DEU\patchstring.tbl
mpq2k a patch_d2.mpq invpal1.dc6 data\global\items\invpa1.dc6
Wenn man dies jetzt unter einen beliebigen Namen abspeichert,
die benötigten Dateien, mpq2k+storm.dll und die patch_d2.mpq in einen Ordner
hat, ist es jetzt möglich dies einzufügen. Wenn man jetzt diese Datei
benützt, wird man feststellen, dass die Sache mit dem gambeln mit dieser mpq
nicht funktioniert. Der Grund dafür ist, dass sich .txt Dateien sich für
Blizzard als unbrauchbar erwiesen haben. Sie sind einfach zu langsam. Deshalb
verwendet Blizzard .bin Dateien. Das Programm um .txt Dateien in .bin Dateien zu
verwandeln sollte gut bekannt sein, es ist nämlich das Spiel Diablo2 selbst.
Wenn man D2 mit der Option „game.exe -w -txt“ startet (also das
-direct weglöscht) und mit einem Char das Spiel betritt werden alle .txt-Dateien
im Archiv in .bin-Dateien verwandelt. Diese .bin-Dateien liegen ebenfalls dann in den data\global\excel Ordner im Diablo2
Verzeichnis. Nun kopiert man die .bin Datei zu den Dateien, die für mpq2k bereitliegen und fügt
noch eine weitere Zeile zur bat hinzu (hier nur für unser Beispiel):
mpq2k a patch_d2.mpq gamble.bin data\global\excel\gamble.bin
Nun braucht man diese nur noch auszuführen und dann wird auch die bin Datei, die alle wichtigen Informationen
enthält in das mpq-Archiv gepackt. Dann noch wieder die mpq’s austauschen. Wenn man D2 jetzt normal startet, kann man
Hihakus’s gambeln:)
4. Credits
Wer weitere Infos haben will, dem ist auf jedem Fall das Phrozenkeep
zu empfehlen. Dort habe ich selbst das modden gelernt, und
die Leute wissen auf wirklich alle Fragen die in verständlichen Englisch
formuliert sind eine Antwort. Außerdem gibt es natürlich noch dass Modforum,
wo versucht wird, jede aufkommende Frage in deutsch zu beantworten.
Kritik, Lob und Anregungen zu den Guide könnt ihr an dt senden, dass war nämlich der Typ, der diesen Guide geschrieben hat:)
Und ganz zuletzt die Leute, die es möglich
machten, dass ich diesen Guide schreiben konnte:
- Niemen, dessen geniale Chimera-Mod mich dazu
inspiriert hat, selbst das modden zu lernen - Heri, der das Bild für das Hihaku geliefert
hat, auch wenn es eigentlich für etwas anderes gedacht war - Tigerseele, der sich liebevoll um „mein“ Forum gekümmert
- Der d2.de Stuff, da er meinen Guide gegengelesen, geuploadet
und sich um die ganzen Kleinigkeiten die anfallen gekümmert haben. - Alle Leute die Verbesserungsvorschläge gebracht haben
Guide von dt