{"id":562187,"date":"2014-09-01T12:00:58","date_gmt":"2014-09-01T10:00:58","guid":{"rendered":"http:\/\/diablo3.ingame.de\/?page_id=562187"},"modified":"2014-09-01T12:00:58","modified_gmt":"2014-09-01T10:00:58","slug":"mpq2k2","status":"publish","type":"page","link":"https:\/\/planetdiablo.eu\/de\/diablo-2\/modding-guides\/mpq2k2\/","title":{"rendered":"Diablo 2 Modding Guide &#8211; MPQ2K und -direct -txt Modus"},"content":{"rendered":"<p>Es gibt prinzipiell zwei Wege, die an Dateien vorgenommenen \u00c4nderungen im Spiel zur Geltung zu bringen:<\/p>\n<p>&#8211; mit dem so genannten -direct -txt Modus<br \/>\n&#8211; durch Packen der ver\u00e4nderten Dateien in die originale Patch_d2.mpq<\/p>\n<p>Der -direct -txt Modus kommt ohne irgendwelche R\u00fcckpack-Prozesse aus. Stattdessen werden hier die ver\u00e4nderten Dateien in einen genau definierten Verzeichnis abgelegt. Anschlie\u00dfend wird das Spiel mittels einer Parameterangabe in einem ver\u00e4nderten Modus gestartet, der so funktioniert, dass er zun\u00e4chst in dem oben erw\u00e4hnten speziellen Verzeichnis nachschaut, bevor er Daten direkt aus den .mpq Archiven l\u00e4dt. Befinden sich in dem Verzeichnis n\u00e4mlich Dateien, die das Spiel nutzen wird, werden diese anstatt der aus der .mpq verwendet. Auf diese Weise kann man das Spiel dazu zwingen, die ver\u00e4nderten Dateien statt der originalen zu benutzen.<\/p>\n<p>Das R\u00fcckpacken von Dateien in das .mpq Archiv &#8222;Patch_d2.mpq&#8220; ist die zweite M\u00f6glichkeit. Hierbei werden mittels eines Tools (MPQ2k ist nur eines von vielen) die ver\u00e4nderten Dateien in das Archiv eingebunden, gegebenenfalls werden bereits bestehende Dateien durch die neuen \u00fcberschrieben. Sind die neuen Dateien in die .mpq eingef\u00fcgt worden, kann man das Archiv in das Hauptverzeichnis von D2 zur\u00fcckpacken und das Spiel wird dann zwangsl\u00e4ufig die neuen Dateien verwenden.<\/p>\n<p>Was von beiden verwende ich nun? Im Grunde ist das v\u00f6llig egal. Der -direct -txt Modus ist im Allgemeinen besser zum Testen von Ver\u00e4nderungen, da man einfach nur die modifizierten Dateien in das Verzeichnis kopieren muss und dann das Spiel starten kann. F\u00fcr fertige Mods ist er ebenfalls praktisch, da man z.B. f\u00fcr Updates oder Bugfixes einfach nur die ver\u00e4nderten Dateien weitergeben brauch, anstatt<br \/>\njedes Mal eine neue Patch_d2.mpq. Speziell bei Mods , die gro\u00dfe Dateien (Soundfiles, Animationen etc.) enthalten ist das sinnvoll, da es z.B. einen Modem-User schon anstinken kann, wenn er wegen einem kleinen Bugfix<br \/>\nnoch mal 40 MB neu downloaden muss.<br \/>\nDer Vorteil des Verwendens von ver\u00e4nderten Patch_d2.mpq Archiven liegt in deren Integrit\u00e4t. Der -direct -txt Modus nutzt eine ausgedehnte Ordner-Struktur, die einen Mod-Spieler schnell verwirren kann, wenn er einen Mod downloaded und dann pl\u00f6tzlich haufenweise neue Verzeichnisse sieht. Unter Umst\u00e4nden kommt er dann sogar noch darauf in diesen herumzufummeln und vermurkst dabei etwas. Mit einer einzigen soliden Datei wie der Patch_d2.mpq kann ihm das nicht passieren.<br \/>\nAm verbreitetsten ist eigentlich, w\u00e4hrend dem Werkeln am Mod in -direct -txt zu arbeiten und den fertigen Mod dann als Patch_d2.mpq zu ver\u00f6ffentlichen.<\/p>\n<p><b>Wie funktionieren denn nun diese beiden Methoden???<\/b><\/p>\n<p>Beginnen wir mal mit dem -direct -txt Modus und nehmen an, dass wir eine beliebige gemoddete .txt Datei ausprobieren wollen. Wir ben\u00f6tigen nun zun\u00e4chst das spezielle Verzeichnis zum Ablegen unserer Dateien. Es wird im Hauptverzeichnis von Diablo2 erstellt, das ist dort wo die ganzen gro\u00dfen .mpqs (d2data.mpq, d2char,mpq etc.) und die game.exe liegen. Geht also in dieses Verzeichnis und erstellt einen neuen Ordner den ihr &#8222;data&#8220; nennt. Unter Windows geht das, indem ihr einfach rechtsklickt und dann &#8222;Neu&#8220; und anschlie\u00dfend &#8222;Ordner&#8220; w\u00e4hlt. Habt ihr das geschafft, geht ihr in dieses neue  Verzeichnis hinein und erstellt darin erneut einen Ordner, diesmal mit dem Namen &#8222;global&#8220;. In diesem wiederum erschafft ihr noch einen Ordner, der diesmal &#8222;excel&#8220; genannt wird.<br \/>\nHabt ihr alles richtig gemacht, habt ihr jetzt also einen Ordner &#8222;data&#8220; in eurem D2-Hauptverzeichnis, in diesem Ordner einen weiteren namens &#8222;global&#8220; und in diesem wiederum einen, der &#8222;excel&#8220; hei\u00dft.<br \/>\nDie Pfadangabe dieser Struktur sollte also irgendwas wie &#8222;C:\\Diablo II\\data\\global\\excel&#8220; sein.<\/p>\n<p>&#8230;<br \/>\n___Diablo II<br \/>\n______data<br \/>\n_________global<br \/>\n____________excel<\/p>\n<p>In den excel-Ordner kommen nun immer eure modifizierten .txt-Dateien hinein, kopiert sie einfach dorthin.<br \/>\nJetzt m\u00fcssen wir dem Spiel noch irgendwie verklickern, dass wir die Dateien, die dort in diesen Verzeichnissen liegen verwenden wollen. Dazu sucht ihr mal in eurem D2 Hauptverzeichnis die Datei &#8222;game.exe&#8220; und erstellt davon eine Verkn\u00fcpfung (Windows: Rechtsklick -&gt; Verkn\u00fcpfung erstellen). Diese k\u00f6nnt ihr in jedem beliebigen Verzeichnis ablegen und auch ihr Name ist v\u00f6llig egal. Jetzt aber kommt das Wichtige: \u00c4ndert die Eigenschaften dieser Verkn\u00fcpfung so, dass das Ziel<\/p>\n<p><b>&#8222;&lt;vorhergehender Pfad&gt;\\Diablo II\\Game.exe&#8220; -direct -txt -w<\/b><\/p>\n<p>hei\u00dft (Leerzeichen bitte so wie hier \u00fcbernehmen). In Windows geht das wieder sehr einfach durch Rechtsklicken und dann &#8222;Eigenschaften&#8220;, anschlie\u00dfend die Zeile &#8222;Ziel&#8220; \u00e4ndern.<br \/>\nDer Parameter &#8222;-w&#8220; in obiger Zeile ist optional, er sorgt nur daf\u00fcr dass das Spiel in einem Fenster gestartet wird. Wenn ihr sp\u00e4ter so richtig am Modden seid, werdet ihr hin und wieder bestimmt eine Fehlermeldung bekommen &#8211; damit ihr die auch seht, ist es n\u00f6tig im Fenster zu spielen.<\/p>\n<p>Wenn ihr nach dem Starten im -direct -txt Modus mal in euer data\/global\/excel Verzeichnis schaut, werdet ihr dort pl\u00f6tzlich einen Haufen .bin Dateien sehen. Wo kommen die her? Ganz einfach, das Spiel hat sie beim Start selbstst\u00e4ndig generiert. Es nutzt n\u00e4mlich nicht die .txt Dateien, sondern liest grunds\u00e4tzlich nur .bin Dateien aus. Da ihr \u00fcber -direct -txt erzwungen habt, dass das Spiel Dateien aus dem neuen Verzeichnis verwendet, dort aber noch keine .bins vorhanden sind, werden die ver\u00e4nderten .txt Dateien und auch die originalen neu als .bin codiert und dort abgelegt. Einmal generiert, werden sie dann immer wieder verwendet.<br \/>\nEin Hinweis: Wenn ihr eure Dateien erneut ver\u00e4ndert und ins &#8222;excel&#8220;-Verzeichnis kopiert, dann l\u00f6scht am besten die alten .bins. Zwar aktualisiert das Spiel die Dateien, wenn sich eine .txt ver\u00e4ndert hat, manchmal aber funktioniert das nicht richtig und eure \u00c4nderungen werden nicht in die .bins \u00fcbertragen.<br \/>\nUnd noch was: Wenn ihr sp\u00e4ter Dateien mit MPQ2k in die .mpq einf\u00fcgt, braucht ihr die .bins. Das Spiel liest keine .txt Dateien und generiert auch nicht innerhalb der .mpq neue Files. Packt immer die zur entsprechenden .txt geh\u00f6rende .bin in die .mpq, ansonsten gibt\u00b4s keinerlei \u00c4nderung.<\/p>\n<p>Das Verzeichnis data\/global\/excel gilt im \u00dcbrigen nur f\u00fcr .txt (und .bin) Dateien. F\u00fcr andere Dateien m\u00fcsst ihr noch weitere Ordner erstellen und zwar so, dass sie der internen Struktur der .mpq entsprechen. Schaut einfach mal mit MPQView nach, dann seht ihr dass bestimmte Dateien in anderen Ordnern liegen. Inventargrafiken im .dc6 Format z.B. liegen im Verzeichnis data\/global\/items. Was m\u00fcsst ihr also tun? Ganz einfach, im Ordner &#8222;global&#8220; einen neuen Ordner &#8222;items&#8220; erstellen und eure ver\u00e4nderten Inventargrafiken dort hinein packen. Noch ein Beispiel: Die string.tbl liegt im Verzeichnis data\/local\/lng\/deu. Ihr m\u00fcsst also im Ordner &#8222;data&#8220; einen neuen Ordner namens &#8222;local&#8220; erstellen, in diesem dann wieder einen&#8230; und zum Schluss eure editierte string.tbl im &#8222;deu&#8220; Ordner ablegen.<br \/>\nImmer so, wie auch die Ordner in der .mpq sind.<\/p>\n<p>Das war\u00b4s im Grunde zu dem -direct -txt Modus. Die Vorgehensweise ist also immer:<\/p>\n<p>&#8211; modifizierte Dateien nach data\/global\/excel kopieren<br \/>\n&#8211; das Spiel \u00fcber eine Verkn\u00fcpfung mit den Parametern -direct -txt starten<\/p>\n<p>Eigentlich wirklich leicht, wenn man es einmal raus hat.<\/p>\n<p>\nNun zum Einf\u00fcgen von ver\u00e4nderten Dateien in die .mpq mittels des Tools MPQ2k. Mit diesem leistungsstarken Programm k\u00f6nnt ihr noch eine ganze Menge mehr anstellen, ich werde hier aber nur auf das Packen von Dateien eingehen.<\/p>\n<p>MPQ2k besteht im Grunde aus drei einzelnen Files. Da w\u00e4re zum ersten die eigentliche MPQ2k.exe, also das<br \/>\nHauptprogramm, dann die Programmbibliothek Storm.dll (stammt von Blizzard selbst und enth\u00e4lt die Routinen zum Auslesen eines .mpq Archives) und schlie\u00dflich eine weitere Programmbibliothek namens lmpqapi.dll (die stammt von Andrey Lelikov, einem Programmier-Genie, der Blizzards gut verschl\u00fcsselte Routinen zum Schreiben von .mpqs geknackt hat und sie in eben dieser .dll niedergelegt hat). Hinzu kommt auch noch StarEdit.exe, um das k\u00fcmmern wir uns hier aber nicht weiter. Alle vier Dateien sind f\u00fcr MPQ2k n\u00f6tig.<br \/>\nMPQ2k ist ein so genanntes &#8222;Command Line&#8220; Programm. Dies bedeutet, dass das Programm beim Start Kommandos oder Parameter von au\u00dfen erwartet, die man ihm irgendwie mitteilen muss. Einfaches Doppelklicken auf die MPQ2k.exe bringt Euch nicht viel, da ihr da keinerlei Angaben an das Programm \u00fcbermittelt.<\/p>\n<p>Ich werde Euch hier ne Methode erkl\u00e4ren, mit der ich eigentlich seit Beginn an prima gearbeitet habe und noch nie Probleme hatte. Ich verwende eine .bat Datei, um MPQ2k zu starten, sowie eine externe Liste im .txt Format in der die Kommandos stehen, die MPQ2k dann ausf\u00fchren soll. Diese Liste k\u00f6nnt ihr praktischerweise sp\u00e4ter immer einfach ver\u00e4ndern, wenn ihr andere Dateien packen wollt.<\/p>\n<p>Zuerst erstellt ihr mal eine .txt Datei in dem Verzeichnis, in dem ihr MPQ2k abgelegt habt und benennt diese Datei so um, dass sie die Dateiendung .bat hat. Wie die Datei hei\u00dft ist v\u00f6llig schnurz, ich hab sie Install.bat genannt. Nun editiert ihr die .bat folgenderma\u00dfen (Rechtsklick -&gt; Bearbeiten):<\/p>\n<p><i>mpq2k s &lt;Anweisungsliste&gt;<\/i><\/p>\n<p>Diesen Text schreibt ihr da rein, wobei &lt;Anweisungsliste&gt; die .txt Datei ist, die die ganzen Kommandos enth\u00e4lt. Bei mir hei\u00dft sie Install.txt, also sieht mein Eintrag in der Install.bat so aus:<\/p>\n<p><i>mpq2k s install.txt<\/i><\/p>\n<p>Diese Zeile bewirkt im Grunde nix anderes als MPQ2k zu starten, wobei die Install.txt als Parameterliste genutzt wird.<\/p>\n<p>Jetzt brauchen wir nat\u00fcrlich noch diese Anweisungsliste, erstellt also einfach noch eine .txt Datei im gleichen<br \/>\nVerzeichnis und nennt sie so wie in der .bat spezifiziert. Bei mir wie gesagt Install.txt. Dort hinein kommen nun alle Anweisungen, die MPQ2k ausf\u00fchren soll. Ich schreibe hier mal kurz, wie die generelle Struktur davon aussieht.<\/p>\n<p><i>O patch_d2.mpq<br \/>\na &lt;einzuf\u00fcgende Datei&gt; &lt;Pfad und Name der Datei in der .mpq&gt;<br \/>\na &#8230;<br \/>\nc patch_d2.mpq<\/i><\/p>\n<p>Schauen wir uns mal alle Kommandos an:<\/p>\n<p><i>O patch_d2.mpq<\/i><br \/>\nDies \u00f6ffnet die .mpq Datei f\u00fcr MPQ2k. Das ist wichtig, denn sonst macht das Programm \u00fcberhaupt nix.<\/p>\n<p><i>a &lt;einzuf\u00fcgende Datei&gt; &lt;Pfad und Name der Datei in der .mpq&gt;<\/i><br \/>\nMit dieser Anweisung f\u00fcgt MPQ2k eine Datei in die .mpq ein. Die &lt;einzuf\u00fcgende Datei&gt; muss sich im gleichen Verzeichnis wie MPQ2k befinden. Achtet auf Tippfehler!<br \/>\nHinter den Namen der Originaldatei kommt der Pfad, unter dem das File in der .mpq abgelegt wird, sowie der Name unter dem es in .mpq gespeichert wird. Hier einige Beispiele, wie<br \/>\nso was ausschauen kann:<\/p>\n<p><i>a monstats.txt data\/global\/excel\/monstats.txt<br \/>\na charstats.bin data\/global\/excel\/charstats.bin<br \/>\na meine_eigene_monstats.txt data\/global\/excel\/monstats.txt<br \/>\na town.ds1 data\/global\/tiles\/act1\/tristram\/town.ds1<\/i><\/p>\n<p>Ihr k\u00f6nnt beliebig viele dieser Kommandos untereinander in der .txt Datei schreiben. Achtet auch hier unbedingt auf Tippfehler und den richtigen Pfad!<\/p>\n<p><i>c patch_d2.mpq<\/i><br \/>\nDer Abschlussbefehl, der die ge\u00f6ffnete Datei wieder schlie\u00dft. Auch dieses Kommando muss immer mit dabei sein.<\/p>\n<p>\nJetzt haben wir alles beisammen, was wir brauchen. Gehen wir alles noch mal durch:<\/p>\n<p>1. Packt MPQ2k.exe, Storm.dll, lmpqapi.dll und StarEdit.exe in ein Verzeichnis Eurer Wahl.<br \/>\n2. Packt Eure editierten Dateien ebenfalls in dieses Verzeichnis hinein.<br \/>\n3. Erstellt eine .bat Datei, die MPQ2k mit einer Kommandoliste \u00f6ffnet.<br \/>\n4. Erstellt eine .txt Datei, die alle Kommandos zum Einf\u00fcgen eurer ge\u00e4nderten Dateien an die richtige Stelle in der .mpq enth\u00e4lt.<br \/>\n5. Packt nun die ungemoddete Patch_d2.mpq ebenfalls in das Verzeichnis (Achtung, vorher Back-Up machen!).<br \/>\n6. F\u00fchrt nun die .bat Datei aus und MPQ2k wird alle Kommandos ausf\u00fchren und (hoffentlich) alle Dateien in die .mpq einf\u00fcgen.<br \/>\n7. Nun habt ihr eine ver\u00e4nderte Patch_d2.mpq, die eure ver\u00e4nderten Dateien enth\u00e4lt. Die nun einfach ins D2 Hauptverzeichnis packen und dann das Spiel normal starten.<\/p>\n<p>Habt ihr das das erste Mal gemacht, entfallen sp\u00e4ter nat\u00fcrlich einige Schritte, ihr braucht dann nur noch die entsprechenden Dateien in das Verzeichnis packen und die Anweisungsliste ver\u00e4ndern.<\/p>\n<p>Ich kann abgesehen von dem was in diesem Mini-Guide steht auch die exzellente Readme von MPQ2k w\u00e4rmstens empfehlen. Quantam hat sich damit viel M\u00fche gemacht, wer also keine Phobie gegen Englisch hat, sollte sich das mal zu Gem\u00fcte f\u00fchren.<\/p>\n<p>\nGuide von Red Havoc<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es gibt prinzipiell zwei Wege, die an Dateien vorgenommenen \u00c4nderungen im Spiel zur Geltung zu bringen: &#8211; mit dem so genannten -direct -txt Modus &#8211; durch Packen der ver\u00e4nderten Dateien in die originale Patch_d2.mpq Der -direct -txt Modus kommt ohne irgendwelche R\u00fcckpack-Prozesse aus. Stattdessen werden hier die ver\u00e4nderten Dateien in einen genau definierten Verzeichnis abgelegt.&hellip; <a class=\"more-link\" href=\"https:\/\/planetdiablo.eu\/de\/diablo-2\/modding-guides\/mpq2k2\/\"><span class=\"screen-reader-text\">Diablo 2 Modding Guide &#8211; MPQ2K und -direct -txt Modus<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":748,"featured_media":0,"parent":562134,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-562187","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/pages\/562187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/users\/748"}],"replies":[{"embeddable":true,"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/comments?post=562187"}],"version-history":[{"count":0,"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/pages\/562187\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/pages\/562134"}],"wp:attachment":[{"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/media?parent=562187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}