[Guide] Neue (eigene) Units ins Spiel bringen.

Kommt ihr mit dem GUTS-Editor oder den Modding Tools nicht klar, habt Tipps und Tricks für andere Bastler? In diesem Forum geht es rund um's Modding von Torchlight 2.

Moderatoren: Malgardian, FOE, frx

Antworten
Benutzeravatar
Van
Enchanter
Beiträge: 205
Registriert: Do 1. Nov 2012, 15:45
Wohnort: Lübeck / Schleswig-Holstein

[Guide] Neue (eigene) Units ins Spiel bringen.

Beitrag von Van » Mo 19. Nov 2012, 19:16

Grüße zusammen,

da ich zu Beginn und bis vor kurzem das selbe Problem hatte beim modden und nicht wusste wie man nun neue (eigene) Units wie z.B. eigene Potion (Tränke) in das Spiel bringt, möchte ich mich hier an einer kleinen Anleitung für alle interessierten versuchen.

Welche Tools (Programme) neben dem Spiel brauchen wir ?!
- Torchlight2Extractor 1.20 (zum entpacken der Dateien vom Spiel die wir benötigen für unser Mod)
- einen Editor (zum bearbeiten der Dateien, hier eignet sich z.B. Notepad von Windows)
- Dat2Txt (mit diesem Tool wandeln wir die benötigten *.DAT Dateien in Textdateien um damit wir diese überhaupt bearbeiten können)
- Raw2Txt. (mit diesem Tool wandeln wir die benötigte *.RAW Datei in eine Textdatei um damit wir diese ebenfalls bearbeiten können)
- GUIDgen (damit generieren wir eine eindeutige ID für unser Unit (Gegenstand)
- Txt2Dat (hiermit wandeln wir die mit Dat2Txt umgewandelten Dateien wieder zurück in *.DAT Dateien)
- Txt2Raw (mit dem Tool machen wir aus der mit Raw2Txt umgewandelten Txt Datei wieder eine *.RAW Datei)
- PakTool (damit machen wir aus den einzelnen Dateien wieder zwei *.PAK Dateien damit wir unser Mod dann im Spiel nutzen können)

!!! Hinweis !!! Hier sei auf den Beitrag : >>> [Linksammlung] Inoffizielle Modding Tools <<< von Malgardian verwiesen (Danke an dieser Stelle)

1.) Vorbereitungen (Empfehlungen inklusive)
Zuerst empfiehlt sich auf JEDEN Fall eine Sicherheitskopie der eigenen Charaktere zu machen. Dazu müssen wir den Ordner C:\Users\EUERUSERNAME\Documents\My Games\Runic Games\ öffnen. Darin befindet sich der Ordner save und diesen kopieren wir uns an eine andere Stelle, oder archivieren ihn mit einem Packprogramm. Darin sind unsere Charaktere gespeichert.

Nun legen wir uns einen Ordner an wo wir dann die Dateien vom Spiel die wir auspacken werden hinein kopieren können (bzw. dort entpacken), dazu gleich noch mehr. Ich nutze dazu den Ordner TL2-Daten aber ihr könnt jeden anderen Namen verwenden.

Jetzt besorgen wir uns die o.g. Tools, falls noch nicht geschehen und entpacken diese. Ich habe mir auch dafür einen Ordner Namens TL2-Tools gemacht in dem ich alle diese Tools abgelegt habe. Das macht das ganze einfacher später. Man kann sich alternativ eine Verknüpfung auf den Desktop legen.

Als nächstes starten wir den Torchlight2Extractor, wir stellen diesen nun auf English (Standart Cesky) das geht bei dem kleinen Feld neben Jazyk:. Mit dem Befehl Open file öffnen wir nun aus dem Ordner \Torchlight II\PAKS\ die Datei DATA.PAK diese enthält die benötigten Spieldateien die wir benötigen. Das laden dauert ein wenig, hier ist ein wenig Geduld gefragt. Ist alles geladen, sehen wir in der Liste alle Dateien. Jetzt sichern wir uns diese Dateien mit einem Klick oben auf Save all in unseren Ordner T2-Daten (bei mir) s.o.. Dieser Vorgang dauert genau so wie das laden eine gewisse Zeit. Ist das erledigt schliessen wir den Torchlight2Extractor.

Jetzt haben wir unsere Vorbereitungen abgeschlossen und können mit der Arbeit beginnen.

2.) Die Basis für unser Mod selber vorbereiten.
Wir benötigen einen Ordner für die Mod-Dateien, idealerweise bekommt der eine sinnvolle Abkürzung des Mod-Namens, denn das PakTool nutzt diesen Ordnernamen für den Dateinamen des Mods später beim packen, wir ersparen uns so das umbenennen.

Beispiel: magicfind-potion-mod-v1.0

In diesem Ordner erstellen wir uns nun die Unterordner:

magicfind-potion-mod-v1.0
- MEDIA (1)
|- SPAWNCLASSES (2)
|- UNITS
----|- ITEMS
-------|- POTIONS (3)

(1) Hier kommt die UNITDATA.RAW rein, sie enthält alle UNITS des Spieles und macht diese mit eindeutiger GUID dem Spiel beim starten bekannt.
(2) Hier kommen zB. die Händler Dateien rein usw. auf was ich aber in dem Guide nicht weiter eingehe, das würde den Rahmen sprengen, ich nutze fürs Beispiel MERCHANT_GENERAL_INVENTORY_ACT1.DAT um mein erzeugten Gegenstand später beim Gemischtwarenhändler in Akt 1 zu haben.
(3) Hier kommen die eigentlichen Unit Dateien rein.

!!! Hinweis !!! Wichtig ist das ihr bei den Ordner- Dateinamen auf die Schreibweise achtet (alles groß z.B., so wie es in der originalen DATA.PAK auch ist).

Alle die o.g. Dateien in (1)-(3) findet ihr in der selben Ordnerstruktur in TL2-Daten wo wir ja die DATA.PAK drin ausgepackt haben. Ihr braucht also nur die von Euch benötigten Dateien in Euer Mod Ordner zu kopieren in gleicher Hierarchie. Erst diese Dateien werden dann editiert.

3.) Unsere Unit dem Spiel bekannt machen
Ich lasse mal den Vorgang vom erstellen eines Mods weg, gehe davon aus das ihr das selber beherrscht, ist auch hier nicht Gegenstand dieser Anleitung, sondern das integrieren eigener Units. Zum Beispiel verschiedene Varianten des vorhandenen Glücksbonus Potion in verschiedene Stufen.

Wir starten nun den GUIDgen und generieren uns eine GUID, diese benötigen wir damit das Spiel intern weiß welche Unit angesprochen werden soll und zwar eindeutig. Jetzt ziehen wir mit der Maus die in unserem Mod Ordner liegende Datei \MEDIA\UNITDATA.RAW auf das Tool Raw2Txt (dazu sollte der Tool Ordner auf dem Desktop offen sein) und es wird eine les- änderbare Txt Datei daraus die wir bearbeiten können.

Wir öffnen nun die \MEDIA\UNITDATA.txt mit einem Editor. Suchen uns einen Platz zwischen zwei [unit] [/unit] Blöcken.

Code: Alles auswählen

[UNIT]
         <INTEGER64>GUID:-5537410121697249989
         <STRING>Name:BERSERKER_01_BOOTS
         <STRING>File:MEDIA/UNITS/ITEMS/BERSERKER_01_BOOTS.DAT
         <STRING>UnitType:UNIQUE BOOTS
         <BINARY>Unknown:01
         <INTEGER>Level:5
         <INTEGER>MinLevel:1
         <INTEGER>MaxLevel:0
         <INTEGER>Rarity:0
         <INTEGER>RarityHC:0
      [/UNIT]
-------> hier z.B.
      [UNIT]
         <INTEGER64>GUID:-160498719336922826
         <STRING>Name:BERSERKER_01_BOOTS_ALT_B
         <STRING>File:MEDIA/UNITS/ITEMS/BERSERKER_01_BOOTS_ALT_B.DAT
         <STRING>UnitType:UNIQUE BOOTS
         <BINARY>Unknown:01
         <INTEGER>Level:9
         <INTEGER>MinLevel:7
         <INTEGER>MaxLevel:0
         <INTEGER>Rarity:0
         <INTEGER>RarityHC:0
      [/UNIT]
Dort fügen wir nun eine Kopie eines dieser Blöcke ein welche wir dann auf unsere benötigten Daten abändern und die generierte GUID eintragen. Zum Beispiel so:

Code: Alles auswählen

[UNIT]
         <INTEGER64>GUID:-5537410121697249989
         <STRING>Name:BERSERKER_01_BOOTS
         <STRING>File:MEDIA/UNITS/ITEMS/BERSERKER_01_BOOTS.DAT
         <STRING>UnitType:UNIQUE BOOTS
         <BINARY>Unknown:01
         <INTEGER>Level:5
         <INTEGER>MinLevel:1
         <INTEGER>MaxLevel:0
         <INTEGER>Rarity:0
         <INTEGER>RarityHC:0
      [/UNIT]
     < ---------------------------------------------------------------->
      [UNIT]<INTEGER64>GUID:[color=#FF8000]3542016945651397631
         <STRING>Name:LUCK POTION 25
         <STRING>File:MEDIA/UNITS/ITEMS/POTIONS/LUCKPOTION25.DAT
         <STRING>UnitType:POTION
         <BINARY>Unknown:01
         <INTEGER>Level:1                            <--- Unser Block mit unserer GUID und unserer UNIT
         <INTEGER>MinLevel:3
         <INTEGER>MaxLevel:99999
         <INTEGER>Rarity:0
         <INTEGER>RarityHC:0
      [/UNIT]
     < ---------------------------------------------------------------->
      [UNIT]
         <INTEGER64>GUID:-160498719336922826
         <STRING>Name:BERSERKER_01_BOOTS_ALT_B
         <STRING>File:MEDIA/UNITS/ITEMS/BERSERKER_01_BOOTS_ALT_B.DAT
         <STRING>UnitType:UNIQUE BOOTS
         <BINARY>Unknown:01
         <INTEGER>Level:9
         <INTEGER>MinLevel:7
         <INTEGER>MaxLevel:0
         <INTEGER>Rarity:0
         <INTEGER>RarityHC:0
      [/UNIT]
Nun erstellen wir unsere \MEDIA\ITEMS\POTIONS\LUCKPOTION25.DAT mit unseren Werten und passen gegebenen Falls die Merchant Datei (s.o.) an um unser Item im Spiel zugänglich zu machen.

4.) Unser Mod abschliessen.
Jetzt erzeugen wir aus unseren ganzen umgewandelten Dateien wieder die original Dateien mit den o.g. Tools (dem jeweiligen Gegenstück zu dem welches die Txt Dateien erstellt).

Wir löschen nach dem erstellen der *.DAT und *.RAW Dateien alle *.txt Dateien in unseren Mod Verzeichnis + Unterverzeichnisse (nicht dringend nötig).

Zum Schluss müssen wir in unserem Mod Ordner wie gewohnt wieder auf die Ebene zurück wo der \MEDIA\ Ordner drin ist, diesen ziehen wir mit der Maus (gedrückter linker Taste) auf das Paktool un erzeugen die beiden benötigten Enddateien für unser Mod

magicfind-potion-mod-v1.0.PAK
magicfind-potion-mod-v1.0.PAK.MAN

welche wir in \Torchlight II\PAKS\ kopieren. Fertig sind wir.

/// Zugegeben ich bin kein Guide - Guru, aber ich hoffe das ganze erklärt wie der Weg zu den eigenen Units im Spiel ist. ///

MfG Van
Bild

Malgardian
Moderator der Zeraphi
Moderator der Zeraphi
Beiträge: 1645
Registriert: Sa 24. Apr 2010, 11:43
Wohnort: Marktplatz von Zeryphesh

Re: [Guide] Neue (eigene) Units ins Spiel bringen.

Beitrag von Malgardian » Mo 19. Nov 2012, 20:23

Sehr schöner Guide 8)

Besonders nützlich für diejenigen, deren Englisch nicht allzu gut ist und daher mit Webbstre's Videos nichts anfangen konnten. :good:

Benutzeravatar
Van
Enchanter
Beiträge: 205
Registriert: Do 1. Nov 2012, 15:45
Wohnort: Lübeck / Schleswig-Holstein

Re: [Guide] Neue (eigene) Units ins Spiel bringen.

Beitrag von Van » Mo 19. Nov 2012, 21:36

Vielen Dank. Eingestanden, gut ist etwas anderes, aber ich hoffe ich konnte damit das Prinzip klar machen und es hilft vielleicht den ein oder anderen.

Werde das Morgen oder Übermorgen noch mal Korrektur lesen, wenn ich etwas mehr zeit habe, da steckt sicher hier und dort noch ein Fehler drin.
Bild

Antworten