{"id":562325,"date":"2014-09-01T16:18:26","date_gmt":"2014-09-01T14:18:26","guid":{"rendered":"http:\/\/diablo3.ingame.de\/?page_id=562325"},"modified":"2014-09-01T16:18:26","modified_gmt":"2014-09-01T14:18:26","slug":"set2","status":"publish","type":"page","link":"https:\/\/planetdiablo.eu\/de\/diablo-2\/modding-guides\/set2\/","title":{"rendered":"Diablo 2 Modding Guide &#8211; Ein eigenes Set erstellen"},"content":{"rendered":"<p>Heute wollen wir einmal ein neues Set erstellen. Um das Ganze etwas interessanter zu machen, erschaffen wir ein Set, das sowohl auf bestehenden als auch auf einem v\u00f6llig neuen Gegenstand basiert.<br \/>\nDa ich noch immer ein gro\u00dfer Diablo 1 Fan bin und vor allem Zhar the Mad mochte bezieht sich dieses Beispiel auf ein Set, welches dem durchgedrehtem Advokaten Zhar gewidmet ist.<\/p>\n<p>Zun\u00e4chst einmal m\u00fcssen wir nach dem \u00fcblichen Verfahren folgende Dateien aus der patch_d2.mpq mit MPQ-View extrahieren:<\/p>\n<p>Data-File\t   Pfad<br \/>\nd2dataexp.txt\t&#8211; data\\global\\excel\\armor.txt&nbsp;<br \/>\nd2dataexp.txt\t&#8211; data\\global\\excel\\setitems.txt<br \/>\nd2dataexp.txt &#8211; data\\global\\excel\\weapons.txt<br \/>\ndiabdata.txt &#8211; data\\local\\LNG\\DEU\\patchstring.tbl<\/p>\n<p>Dann brauchen wir einige Grafiken, um das neue Set erschaffen zu k\u00f6nnen. Unter anderem auch die f\u00fcr ein komplett neues Item, in unserem Beispiel eine Robe wie sie in Diablo 1 vorkam:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/robe.jpg\"><\/p>\n<p>Au\u00dferdem brauchen wir noch folgende Grafiken:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/zrobe.jpg\"> <img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/lstab.jpg\"><\/p>\n<p><a href=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/set2.zip\">Download der Bilder<\/a><\/p>\n<p>Was nun kommt ist eine detaillierte Beschreibung zur Erschaffung des neuen Grund-Items. Danach folgt die Beschreibung zur Erschaffung des neuen Sets.<\/p>\n<p>1. Die Robe:<\/p>\n<p>Dazu laden wir die &#8222;amor.txt&#8220; per Microsoft Excel. Man kann relativ beliebig neue Items erschaffen:<br \/>\nEinfach einen beliebigen Namen angeben (der wird ohnehin nicht im Spiel angezeigt werden), als Version 100 (neueste) und als &#8222;compactsave&#8220; 0 eintippen. Der n\u00e4chste Wert gibt, wie ganz oben im File ablesbar, die Seltenheit des Items an. Da ein St\u00fcck Stoff nichts besonderes ist gebe ich 1 ein, den niedrigstm\u00f6glichen Wert. Der n\u00e4chste Wert muss stets 1 betragen, da das Item sonst nicht &#8222;spawnable&#8220; ist, d.h. es kommt schlicht nicht im Spiel vor. Die n\u00e4chsten beiden Werte (5 und 7 hier) stehen f\u00fcr die jeweilige Maximal- und Minimalverteidigung, die dieses Item bieten kann. In unserem Beispiel wird eine normale Robe also stets zwischen 5 und 7 Verteidigung haben.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpe1.gif\"><\/p>\n<p>Die n\u00e4chsten beiden Werte sind nicht weiter wichtig. Der Wert unter &#8222;reqstr&#8220; erkl\u00e4rt sich vermutlich selbst, diese St\u00e4rke ist n\u00f6tig, um das Item zu tragen. Einen Stofffetzen \u00fcberzuwerfen sollte keine allzu schwere \u00dcbung sein.&nbsp;<br \/>\nDann folgt die Blockrate, welche lediglich Schilden vorbehalten ist, der n\u00e4chste Wert legt die &#8222;Lebenspunkte&#8220; des Items fest. Der n\u00e4chste Wert legt fest, wann das Item als zerbrochen gilt, grunds\u00e4tzlich bei 0. Und schlie\u00dflich noch das Itemlevel, welches festlegt, bei welchen Monstern das Item gefunden werden kann.<\/p>\n<p>\n<img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpe2.gif\"><\/p>\n<p>\nZun\u00e4chst der Wert, der das ben\u00f6tigte Charakterlevel angibt (Stofffetzen &#8230;), dann der Preis, den dieser Laken bei einem H\u00e4ndler kostet, der Preis eines Lumpens beim Gl\u00fccksspiel und der Code, den man diesem Item zuweist. Der Code ist extrem wichtig, wenn wir sp\u00e4ter das Set selbst erstellen! Die n\u00e4chste Zelle kann frei bleiben, da unsere Robe unmagisch sein wird (wie alle normalen Items). Der n\u00e4chste Wert ist ebenfalls unwichtig. In den folgenden Spalten werden dem Item weitere Codes zugewiesen, welche jedoch f\u00fcr uns nicht weiter wichtig sind.&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpe3.gif\"><\/p>\n<p>Die ersten sechs Zellen: Siehe oben. Erst beim siebten wird es wieder interessant: Dieser gibt die Breite des Items im Inventar an. Unsere Robengrafik hat die Breite 2 und die H\u00f6he 3 und so wird es auch eingetragen.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpe4.gif\"><\/p>\n<p>Die erste Zelle gibt wie oben beschrieben die H\u00f6he des Items an. Die n\u00e4chste Zelle gibt an, ob das Item \u00fcber ein eigenes Inventory verf\u00fcgt, wie G\u00fcrtel bspw.. 1 steht hierbei f\u00fcr &#8222;Nein&#8220;, w\u00e4hrend 0 f\u00fcr &#8222;Ja&#8220; steht, wie man gut erkennen kann, wenn man die G\u00fcrtel mit anderen R\u00fcstungen vergleicht. &#8222;gemsockets&#8220; gibt die Zahl der Sockel an, die dieser Gegenstand maximal haben kann, wir nehmen mal drei, wie bei den meisten R\u00fcstungen. Bei der n\u00e4chsten Angabe musste ich mich aus Unwissenheit an die anderen Werte der R\u00fcstungen halten. Dann folgen die Grafikangaben: Zun\u00e4chst die Grafik, die das Item im Spiel haben soll, wenn es bspw. am Boden liegt oder gerade auf den Boden f\u00e4llt (daher &#8222;flippy&#8220;, denke ich). &#8222;Inv&#8220; gibt die Grafik im Inventory an, &#8222;uniqueinv&#8220; die Grafik eines auf diesem Item basierenden Uniques.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpe5.gif\"><\/p>\n<p>Die erste Zelle hier funktioniert \u00e4hnlich wie die &#8222;uniqueinv&#8220;, nur das hier die Grafik f\u00fcr das Set-Item, basierend auf dem normalen Item, angibt. Die folgenden Spalten geben an, wo das Item getragen werden kann. Als R\u00fcstung machen wir nur eine 1 bei Torso, sodass die R\u00fcstung auch wirklich nur als R\u00fcstung getragen werden kann.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpe6.gif\"><\/p>\n<p>Die folgenden Werte sind bis zur f\u00fcnften Zelle v\u00f6llig unwichtig, in der sechsten wird erneut angegeben, wo das Item getragen werden kann und in der letzten, der Sound, den das Item macht, wenn es auf den Boden f\u00e4llt (hier das Rascheln von Kleidung, einfach mal durchprobieren!).&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpe7.gif\"><\/p>\n<p>Bis hin zur Spalte &#8222;durwarning&#8220; sind alle Werte unwichtig f\u00fcr eine R\u00fcstung. In dieser Zelle geben wir an, ab welchem Wert diese kleine Figur am Bildschirmrand auftaucht und uns klarzumachen versucht, wie sch\u00e4big wir damit aussehen.&nbsp;<br \/>\nWieder einige Spalten sind nur f\u00fcr Waffen oder Schilde (Schaden beim Paladin) ben\u00f6tigt, was die Felder &#8222;gemoffset&#8220; und &#8222;bitfield 1&#8220; angeht bin ich leider \u00fcberfragt.<br \/>\nSchlie\u00dflich folgen die Daten, bei welchen H\u00e4ndlern dieses Item zu erwerben ist und in welchen Varianten. Der letzte Wert, der noch von Bedeutung ist, steht in der letzten Spalte, da muss eine 1 hinein, fertig.<\/p>\n<p>2. Das Set:<\/p>\n<p>Zur Erschaffung des neuen Sets ben\u00f6tigen wir die Dateien &#8222;weapons.txt&#8220;, &#8222;setitems.txt&#8220; und &#8222;patchstring.tbl&#8220;. Erstere wird mit Excel gestartet.&nbsp;<br \/>\nZun\u00e4chst einmal muss man bei jedem Set grunds\u00e4tzliche Angaben machen, denen die Angaben jedes einzelnen Items folgen.<\/p>\n<p>Als erstes wird, wie schon bei der Robe, erst einmal ein Name eingegeben. Dieser Name kann wieder vollkommen beliebig sein, da er so nicht im Spiel auftauchen wird.&nbsp;<br \/>\nDann wird die Versionsnummer angegeben, 100, damit es mit LoD kompatibel ist.<br \/>\nDem folgt das Level des Sets, die Anzahl an Items, die das Set umfasst, ein Wert von dem ich nichts wei\u00df und schlie\u00dflich &#8222;transformcolor&#8220;. Dieser Wert gibt an, in welcher Weise das gesamte Set eingef\u00e4rbt ist, wie z.B. die violetten Items von &#8222;Sander&#8217;s Dummheit&#8220;. Hier nehmen wir den Wert 3, welcher schwarz entspricht (&#8222;Natalya&#8217;s Hass&#8220;).&nbsp;<br \/>\nDann geht es auch schon ans erste Item. Die Grafik des Knochenstabes, die wir f\u00fcr den Stab des Zhar bestimmt haben hat das Format 2*4, darum benutzen wir daf\u00fcr den &#8222;War Staff&#8220; (&#8222;wst&#8220;), welcher das gleiche Format hat.<br \/>\nDummerweise wird dieses Item bereits f\u00fcr ein anderes Set, Arcanna&#8217;s Tricks. Aber das soll kein Problem darstellen, wir suchen einfach den passenden Wert (zweites Item des Arcanna-Set&#8217;s) und ersetzen &#8222;wst&#8220; durch &#8222;lst&#8220; (&#8222;Long Staff&#8220;). Nun passt es wieder mit dem  Format, doch bevor wir mit dem Zhar-Set weitermachen k\u00f6nnen, m\u00fcssen wir die Stabgrafik auch dem &#8222;War Staff&#8220; zuweisen.&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpe8.gif\"><\/p>\n<p>Aus diesem Grund m\u00fcssen wir die &#8222;weapons.txt&#8220; \u00f6ffnen und den &#8222;War Staff&#8220; suchen, wo man die beiden Werte f\u00fcr Uniques und Sets in den Namen der Grafik umbenennt. Jetzt ist dem &#8222;War Staff&#8220; die Grafik f\u00fcr das Zhar-Set zugewiesen. Zur\u00fcck zur &#8222;setitems.txt&#8220;.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpe9.gif\"><\/p>\n<p>Nach der Angabe, welcher Itemtyp das erste Set-Item ist, wird erneut ein recht unwichtiger Name angegeben. Danach folgt \u00e4hnlich wie bei normalen Items Seltenheit, unwichtig, Level ben\u00f6tigt zum Tragen und ein weiterer Wert, dessen Zweck sich mir nicht ganz erschlie\u00dft. Ich benutze den scheinbar f\u00fcr Sets \u00fcblichen Wert von 5.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpea.gif\"><\/p>\n<p>Dem folgt der Wert des Items und dann beginnen die Eigenschaften des Items. S\u00e4mtliche Eigenschaften k\u00f6nnen selbst generiert werden.&nbsp;<br \/>\nAnschlie\u00dfend verf\u00e4hrt man \u00e4hnlich bei der Robe (Code &#8222;rob&#8220;) und einem Amulett (Code &#8222;amu&#8220;). Ab der Spalte PCode2 werden die Boni aufgelistet, die der Tr\u00e4ger von mehreren oder allen der Items nach und nach erh\u00e4lt.&nbsp;<\/p>\n<p>\nNun folgt der vorletzte Schritt, die Benennung der Items im Spiel selbst.&nbsp;<br \/>\nDazu startet man die patchstring.tbl mit dem &#8222;Diablo 2 Table Editor&#8220; und f\u00fcgt folgende Werte mit dem +-Button hinzu:<\/p>\n<p>rob &#8211; Bezeichnung der Robe im Spiel<br \/>\n&lt;Name des Sets im TXT-File&gt; &#8211; Name des Kompletten Sets.<br \/>\n&lt;Name der einzelnen Set-Komponenten im TXT-File&gt; &#8211; Name der jeweiligen Teile.<\/p>\n<p>Klickt also auf die jeweiligen Punkte und gebt den Wert ein, der im Spiel erscheinen soll.<br \/>\nF\u00fcr Umlaute m\u00fcsst ihr folgendes verwenden:<\/p>\n<p>\u00c3\u00a4\t&#8211; \u00e4<br \/>\n\u00c3\u00b6\t&#8211; \u00f6<br \/>\n\u00c3\u00bc\t&#8211; \u00fc<\/p>\n<p>In unserem Beispiel k\u00f6nnte das dann wie folgt aussehen:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpeb.gif\"><\/p>\n<p>Nun muss nur noch alles so installiert werden, dass das &#8222;Mod&#8220; auch spielbar ist. Dazu folgt man am besten den Anweisungen im Anf\u00e4ngerguide.&nbsp;<br \/>\nWenn alles geklappt hat sollte das Ergebnis dann in etwa so aussehen:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/diablo3.ingame.de\/files\/2014\/09\/wpec.jpg\">\n<\/p>\n<p>\nGuide von Skeleon<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Heute wollen wir einmal ein neues Set erstellen. Um das Ganze etwas interessanter zu machen, erschaffen wir ein Set, das sowohl auf bestehenden als auch auf einem v\u00f6llig neuen Gegenstand basiert. Da ich noch immer ein gro\u00dfer Diablo 1 Fan bin und vor allem Zhar the Mad mochte bezieht sich dieses Beispiel auf ein Set,&hellip; <a class=\"more-link\" href=\"https:\/\/planetdiablo.eu\/de\/diablo-2\/modding-guides\/set2\/\"><span class=\"screen-reader-text\">Diablo 2 Modding Guide &#8211; Ein eigenes Set erstellen<\/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-562325","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/pages\/562325","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=562325"}],"version-history":[{"count":0,"href":"https:\/\/planetdiablo.eu\/de\/wp-json\/wp\/v2\/pages\/562325\/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=562325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}