Anfänger Tutorial
Hier beschreibe ich, wie ihr einzelne Modelle aus einer .brf Datei in eure eigene importiert. Außerdem wie man mit dem Module System umgeht, und wie man den Python-Pfad in die Umgebungsvariable unter XP und Vista eintragen kann.
Für den Anfang ein Paar Tipps:
Es gibt viele Modelle (bzw. .brf Dateien mit dazugehörenden .dds Texturen) die frei verwendbar sind, benutzt bitte diese. Hier findet ihr ganze menge freier Modelle:
http://www.mbrepository.com/modules/PDdownloads/viewcat.php?cid=4
Es existiert auch ein OSP (Open Source Project), dort findet ihr viele coole Sachen von Machern wie: luigi, raptor, Dain Ironfoot und Co. Hier ist der Link:
http://forums.taleworlds.com/index.php/topic,50086.0.html
Reinschauen lohnt immer. Noch eine Sache: gibt bitte feedback an die Macher.
Es kann passieren, dass man ein Mod spielt, dort entdeckt man ein super Modell, und denkt sich: „Cool, das hätte ich gerne in meinem Mod“. Das Problem: die Daten sind nicht freigegeben. In diesem Fall, fragt einfach nach, ob ihr dieses Modell verwenden dürft. Ich habe sehr gute Erfahrung damit gemacht; Bei 26 Anfragen hatte ich keine Absage.
Was brauche ich?
1. Das aktuelle Module System findet ihr hier:
http://forums.taleworlds.com/index.php/topic,49267.0.html
2. Den Python Compiler findet man hier:
http://www.python.org/download/
Hinweis: Bitte installiert die 2.6-er Version.
3. Einen guten Editor für das Module System gibt es hier:
http://notepad-plus.sourceforge.net/de/site.htm
4. Und Thorgrims BRF-Editor könnt ihr hier finden:
http://forums.taleworlds.com/index.php/topic,8771.0.html
Hinweis: Damit der Editor auch richtig funktioniert, muss das .NET-Framework auch installiert sein. Ausserdem die neuesten Versionen von DirectX und Grafikkartentreibern sind Pflicht.
Wie fange ich an?
Zuerst werden Python, BRF-Editor und Notepad++ installiert. Wie das geht sollte jeder wissen. Merkt euch aber die Pfadangabe bei Python, die braucht ihr für die Umgebungsvariablen.
Hinweis: Um das auszuführen braucht ihr Administratorrechte. Denkt daran das die einzelnen Einträge durch ein ";" getrennt werden (der Eintrag seht dann z.B. so aus: ;C:\Python26). Hier sind die einzelnen Schritte:
Python eintragen unter Windows XP
1. "Systemsteuerung" starten
2. Dort gehst du auf "System"
3. In dem neuen Fenster wählst du die Registerkarte "Erweitert"
4. Hier klickst du auf "Umgebungsvariablen"
5. In diesem Fenster bei den Einträgen "Systemvariablen" wählst du den Eintrag "Path" und gehst auf "Bearbeiten"
6. Und noch ein Fenster: hier kannst du am Ende den Pfad zu deinem Python einfügen.
Python eintragen unter Windows Vista
1. "Systemsteuerung" starten
2. Dort gehst du auf "System"
3. In dem neuen Fenster wählst du "Erweiterte Systemeinstellungen" (oben links)
4. Wieder neues Fenster. Hier klickst du auf "Umgebungsvariablen"
5. In diesem Fenster bei den Einträgen "Systemvariablen" wählst du den Eintrag "Path" und gehst auf "Bearbeiten"
6. Und noch ein Fenster: hier kannst du am Ende den Pfad zu deinem Python einfügen.
das war doch einfach, oder?
Die Vorlage für euren Mod
Nun jetzt erstellt ihr einen neuen Ordner in dem Modules-Ordner von Mount & Blade, mit dem Namen eures Mods (z.B. C:\Programme\Mount&Blade\Modules\MyNewMod).
Jetzt kopiert ihr den Inhalt aus dem Ordner „Native“ in euren neuen Mod Ordner.
Das Module System
Als nächstes wird das Module System entpackt. Mein Tipp: erstellt euch ein Arbeitsverzeichnis (z.B. Modding) und dort einen Ordner mit dem Namen eures Mods. In den Ordner entpackt ihr das Module System.
Jetzt editiert ihr die Datei module_info.py aus eurem Module System, und trägt dort den korrekten Pfad zu eurem Mod ein (z.B. C:/Programme/Mount&Blade/Modules/MyNewMod/).
Hinweis: Die Datei build_module.bat braucht ihr, wenn ihr Änderungen an den .py Dateien vorgenommen habt (z.B. ihr habt ein neues Item eingefügt). build_module.bat kompiliert die .py Dateien und erstellt die erforderlichen .txt Dateien in eurem Mod Ordner.
Arbeiten mit dem BRF-Editor
Da wir die Vorbereitungen hinter uns haben, widmen wir unsere Aufmerksamkeit dem BRF-Editor zu.
In den meisten fällen braucht man nicht alle Modelle aus einer .brf Datei. Daher verfügt der Editor über eine Import-Funktion (Thorgrim sei Dank).
Sollte der Eine oder der Andere von euch sich jetzt fragen: Wieso sollte ich einzelne Modelle importieren, wenn ich die .brf Datei auch so anbinden kann?
Die Antwort ist recht simpel. Es geht um die Grösse eures Mods und die Ladezeiten. Mount & Blade liest bei der Initialisierung die gesamte .brf Datei aus, und lädt sämtliche dort definierten Texturen.
Gut, genug davon. Wir wollten Modelle importieren und eigene .brf Dateien erstellen. Doch bevor wir damit anfangen habe ich noch eine Empfehlung für euch:
Erstellt euch einen Testordner. Es funktioniert genau so wie das Erstellen der Vorlage für euren Mod. Ihr könnt den Ordner z.B. TestBRF nennen. Dort könnt ihr die .brf Dateien in den Resource-Ordner und die .dds Dateien in den Textures-Ordner kopieren. Der Vorteil diese Methode liegt darin, dass man die Modelle mit Texturen angezeigt bekommt, wenn man sie in dem BRF-Editor betrachtet.
Als Beispiel benutze ich hier Luigi’s Weaponpack. Den könnt ihr hier saugen:
https://www.mbrepository.com/file.php?cid=4&id=735
Wieso ich mich dafür entschieden habe? Nun, dieses Pack hat etwas Besonderes. Wenn ihr die .zip Datei entpackt habt, findet ihr drei .brf Dateien in dem Resource-Ordner. Hier hat luigi das Material und die Texturen in eigenen Dateien definiert.
Habt ihr meine Empfehlung befolgt, kopiert ihr sämtliche Dateien in euren Testordner. Natürlich kommen die drei .brf Dateien in den Resource-Ordner, und die .dds Dateien in den Textures-Ordner.
Jetzt startet ihr den BRF-Editor. Der Editor ist wie folgt aufgeteilt:
1. Menüleiste mit folgenden Einträgen: File, Edit, View, Mesh und Help.
2. Symbolleiste: Open, Save, Import, Export und Undo.
3. Linker Bereich mit Registerkarten: Mesh, Mat, Tex, Col, Skel, Shader (hier Rot dargestellt).
4. Rechter Bereich ist Grau. Dort könnt ihr das ausgewählte Modell sehen.
Hinweis: In dem Bereich 4, könnt ihr euch die Modelle aus allen Perspektiven ansehen. Die Navigation ist einfach: mit links-klick wird das Fenster aktiviert. Haltet die linke Maustaste gedrückt, um das Objekt zu bewegen. Mit dem Scroll-Rad wird das Modell vergrössert und verkleinert. Und mit der gedrückten rechten Maustaste kann das Objekt gedreht und gekippt werden.
Jetzt öffnet ihr die Datei: „newweapons.brf“. Im linken Bereich seht ihr eine Liste mit allen Modellen die in der .brf Datei definiert sind. Wir werden uns jetzt ein Paar Modelle aussuchen und in unsere Datei importieren.
Es ist empfehlenswert sich die Namen auf einem Zettel untereinander zu notieren. Wir brauchen für unsere Arbeit nicht nur die Namen der Modelle, sondern auch die Namen des Materials, bzw. der .dds Datei.
Für unser Beispiel habe ich 6 Modelle ausgesucht:
Jetzt startet ihr wieder den Editor. Der Editor kann mehrere Instanzen haben, d.h. ihr könnt ihn mehrmals starten. Es ist vor allem dann praktisch, wenn ihr Modelle aus mehreren .brf Dateien gleichzeitig importieren wollt.
Klickt jetzt bitte auf die Registerkarte „Tex“ und dann auf „Import“. In dem neuen Fenster sucht und öffnet ihr die Datei „newtextures.brf“. Es öffnet sich ein Import-Fenster mit einer Liste der Texturdateien. In meinem Beispiel habe ich zwar 6 Modelle ausgewählt, es sind aber nur 4 Texturen notwendig.
Mit gedrückter Strg-Taste wählt ihr die 4 Texturdateien aus (epee2.dds, epee.dds, shieldnew.dds und griffinarmor.dds) und klickt dann auf „Import“.
Da es so einfach war, wiederholt ihr das ganze Prozedere noch ein Mal. Diesmal importiert ihr das Material. Also in dem Editor die Registerkarte „Mat“ auswählen und die Datei „newmaterials.brf“ öffnen. Wieder die 4 Namen auswählen und auf den Button „Import“ klicken.
Es bleibt jetzt nur noch die Modelle selbst zu importieren. Weil es so schön war, noch einmal der Weg.
Im Editor auf die Registerkarte „Mesh“ und dann auf „Import“ klicken. Die Datei „newweapons.brf“ wird ausgewählt und geöffnet. Nun, braucht ihr nur noch die 6 Modelle auszuwählen und zu importieren.
Eure .brf Datei ist beinah fertig. Ihr müsst sie nur noch speichern. Dazu klickt ihr auf „Save“ in der Symbolleiste. In dem neuen Fenster wählt ihr den Resource-Ordner eures Mods und gebt einen Namen für eure Datei ein (z.B. myNewStuff).
Nun fragt der BRF-Editor, ob er einen Eintrag in der module.ini machen soll, da es keinen mit dem Namen „myNewStuff“ gibt. Ihr klickt natürlich auf „Ja“.
Hinweis: Der Editor packt die neuen Einträge immer ganz ans ende der Datei.
Jetzt müsst ihr die 4 .dds Dateien in den Textures-Ordner eures Mods kopieren.
Fertig? Gut, denn wir haben noch einiges zu tun.
Bis jetzt habt ihr eine eigene Ressourcendatei erstellt und die Texturen in den passenden Ordner kopiert. Ihr habt auch ein Eintrag in der module.ini, der bewirkt, dass die Modelle und Texturen beim start von Mount & Blade geladen werden.
Item Deklaration
Damit ihr auch Freude an den Modellen im Spiel habt, müssen sie in der Datei „module_items.py“ deklariert werden. Dazu startet ihr den Notepad++ und öffnet die Datei.
Wir haben eine Rüstung, zwei Schwerter mit Scheiden und ein Schild zu deklarieren. Um euch die Arbeit zu erleichtern, könnt ihr bereits vorhandene Einträge mit ähnlichen Eigenschaften verwenden.
Zuerst wird die Rüstung deklariert. Ihr sucht nach dem Eintrag:
Diesen Eintrag findet ihr in der Zeile 362. Dieser Eintrag wird markiert und kopiert (Strg+C). Jetzt scrollt ihr bis ans ende der Einträge für Rüstungen (ca. Zeile 37 und fügt dort das kopierte ein (Strg+V). Jetzt wird die Deklaration an euer Modell angepasst.
Zuerst aber der Aufbau der Deklaration:
1. "surcoat_over_mail" ist die Item ID
2. "Surcoat over Mail" ist der Name, den ihr im Spiel seht
3. [("surcoat_over_mail",0)] das ist der Name des Modells (aus euren .brf Datei)
4a. itp_merchandise besagt, dass die Sache verkäuflich ist
4b. itp_type_body_armor|itp_covers_legs hier ist der Typ des Items
5. 0 ist reserviert für Animationen (hier wird es nicht benutzt)
6. 1720 ist der Basispreis
7. weight(22)|head_armor(0)|body_armor(43)|leg_armor(14) ist glaube ich selbsterklärend
7a. abundance(100)| ist die Verfügbarkeit bei den Händlern
7b. |difficulty(7) sagt, wie viel Stärke ihr braucht um das Item zu benutzen
8. imodbits_armor sind die Modifikationen (negative und positive)
Hinweis: Der Aufbau der Deklaration (bzw. die Erklärungen) wurden vereinfacht.
Als erstes ändert ihr die Item ID. Die ID muss natürlich eindeutig sein und nur einmal vorkommen. Also die Bezeichnung „my_new_armor“ dürfte eindeutig sein. Jetzt ist der Name dran (sucht euch etwas Passendes aus). Nun, jetzt müsst ihr den Modellnamen ändern. In diesem Fall ist der Name „mailb“.
Den Rest könnt ihr vorerst so lassen, und es später an eure Bedürfnisse anpassen.
Der fertige Eintrag sollte jetzt etwa so aussehen:
Tipp: Fügt Kommentare zu euren Einträgen! Es erleichtert nachher die Arbeit ungemein. Euer Kommentar sollte mindestens den Namen eures Mods und das Datum des Eintrags beinhalten. Auf diese Weise könnt ihr eure Änderungen nachvollziehen. Das Zeichen für ein Kommentar bei Python ist die Raute (#). Ich setze für meine Kommentare 2 Rauten hintereinander, die werden in Notepad++ in anderer Farbe dargestellt.
Ein Kommentar könnte so aussehen: ## MyNewMod (20090203).
Jetzt müsst ihr nur noch die 2 Schwerter und den Schild deklarieren. In diesem Beispiel habt ihr ein Bastardschwert und ein Langschwert. Sucht euch den passenden Eintrag bei den Waffen aus (z.B. „bastard_sword_a“).
Ersetzt die ID und den Namen. Im Abschnitt 3 (sehe Aufbau) wird nicht nur der Name des Schwertmodells ersetzt, sondern auch der Name der Schwertscheide. Den Rest könnt ihr so lassen wie es ist.
Der neue Eintrag sollte so ähnlich sein:
Hinweis: Es gibt sehr viele Schwertmodelle, wo es keine Schwertscheiden gibt. In diesem Fall sucht euch Einträge ohne Schwertscheide, oder löscht die Definitionen für die Scheide. In diesem Beispiel werden die markierten Bereiche gelöscht.
["my_bastard_sword","My Bastard Sword",[("realbastardd",0),("realbastarddscaba",ixmesh_carry)],
itp_type_two_handed_wpn|itp_merchandise|itp_primary,itc_bastardsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,294,
weight(2.25)|difficulty(9)|spd_rtng(9|weapon_length(101)|swing_damage(37,cut)|thrust_damage(26,pierce),imodbits_sword_high],
Jetzt müsst ihr noch ein Schwert und ein Schild eintragen. Ich bin sicher, dass schafft ihr auch ohne mein Geschwafel.
Feuerwaffen beim Händler von Bismarck
Damit eure Schusswaffen auch im Spiel auftauchen müsst ihr folgendes tun:
Öffne module_triggers.py
Suche nach diesem Eintrag:
# Refresh Weapon sellers
(0.0, 0, 24.0, [], [
(reset_item_probabilities,100),
(set_merchandise_modifier_quality,160), <- Je höher dieser Wert, desto höher die %, dass bessere Modifikatoren erscheinen (Lordly, Heavy, etc.)
(try_for_range,reg(2),weapon_merchants_begin,weapon_merchants_end),
(troop_add_merchandise,reg(2),itp_type_one_handed_wpn,,
(troop_add_merchandise,reg(2),itp_type_two_handed_wpn,7),
(troop_add_merchandise,reg(2),itp_type_polearm,,
(troop_add_merchandise,reg(2),itp_type_shield,9),
(troop_add_merchandise,reg(2),itp_type_bow,5),
(troop_add_merchandise,reg(2),itp_type_crossbow,4),
(troop_add_merchandise,reg(2),itp_type_thrown,3),
(troop_add_merchandise,reg(2),itp_type_arrows,3),
(troop_add_merchandise,reg(2),itp_type_bolts,3),
Du solltest nun dies direkt hinter dem vorigen Eintrag einfügen:
(troop_add_merchandise,reg(2),itp_type_pistol,1), <- Wie viele Waffen des Typs Pistole sollen im Handelsfenster verfügbar sein?
(troop_add_merchandise,reg(2),itp_type_musket,1), <- Wie viele Waffen des Typs Muskete soll der Händler besitzen?
(troop_add_merchandise,reg(2),itp_type_bullets,1), <- Wie viele Munitionspackungen soll der Händler bereithalten?
Was noch?
Wenn ihr mit den letzten Einträgen fertig seid, könnt ihr die Datei speichern. Jetzt wird das Module System eures Mods kompiliert. Dazu geht ihr zu eurem Module System und sucht die Datei „build_module.bat“. Ein Doppelklick auf die Datei und alles läuft automatisch ab (dank der Vorbereitung die ihr am Anfang gemacht habt).
Nach der Kompilierung sollte das Command-Fenster so aussehen:
Das einzige was ihr noch tun solltet, ist euren Mod zu spielen. Die Modelle, die ihr deklariert habt, findet ihr nach und nach bei den Händlern.
Ich hoffe, ich konnte einigen von euch helfen oder einige für das Modding interessieren.
Solltet ihr Verbesserungsvorschläge, Anmerkungen etc. haben, dann meldet euch per PM oder im Forum.
Ansonsten viel Spass beim Modden.
svadil
Hier beschreibe ich, wie ihr einzelne Modelle aus einer .brf Datei in eure eigene importiert. Außerdem wie man mit dem Module System umgeht, und wie man den Python-Pfad in die Umgebungsvariable unter XP und Vista eintragen kann.
Für den Anfang ein Paar Tipps:
Es gibt viele Modelle (bzw. .brf Dateien mit dazugehörenden .dds Texturen) die frei verwendbar sind, benutzt bitte diese. Hier findet ihr ganze menge freier Modelle:
http://www.mbrepository.com/modules/PDdownloads/viewcat.php?cid=4
Es existiert auch ein OSP (Open Source Project), dort findet ihr viele coole Sachen von Machern wie: luigi, raptor, Dain Ironfoot und Co. Hier ist der Link:
http://forums.taleworlds.com/index.php/topic,50086.0.html
Reinschauen lohnt immer. Noch eine Sache: gibt bitte feedback an die Macher.
Es kann passieren, dass man ein Mod spielt, dort entdeckt man ein super Modell, und denkt sich: „Cool, das hätte ich gerne in meinem Mod“. Das Problem: die Daten sind nicht freigegeben. In diesem Fall, fragt einfach nach, ob ihr dieses Modell verwenden dürft. Ich habe sehr gute Erfahrung damit gemacht; Bei 26 Anfragen hatte ich keine Absage.
Was brauche ich?
1. Das aktuelle Module System findet ihr hier:
http://forums.taleworlds.com/index.php/topic,49267.0.html
2. Den Python Compiler findet man hier:
http://www.python.org/download/
Hinweis: Bitte installiert die 2.6-er Version.
3. Einen guten Editor für das Module System gibt es hier:
http://notepad-plus.sourceforge.net/de/site.htm
4. Und Thorgrims BRF-Editor könnt ihr hier finden:
http://forums.taleworlds.com/index.php/topic,8771.0.html
Hinweis: Damit der Editor auch richtig funktioniert, muss das .NET-Framework auch installiert sein. Ausserdem die neuesten Versionen von DirectX und Grafikkartentreibern sind Pflicht.
Wie fange ich an?
Zuerst werden Python, BRF-Editor und Notepad++ installiert. Wie das geht sollte jeder wissen. Merkt euch aber die Pfadangabe bei Python, die braucht ihr für die Umgebungsvariablen.
Hinweis: Um das auszuführen braucht ihr Administratorrechte. Denkt daran das die einzelnen Einträge durch ein ";" getrennt werden (der Eintrag seht dann z.B. so aus: ;C:\Python26). Hier sind die einzelnen Schritte:
Python eintragen unter Windows XP
1. "Systemsteuerung" starten
2. Dort gehst du auf "System"
3. In dem neuen Fenster wählst du die Registerkarte "Erweitert"
4. Hier klickst du auf "Umgebungsvariablen"
5. In diesem Fenster bei den Einträgen "Systemvariablen" wählst du den Eintrag "Path" und gehst auf "Bearbeiten"
6. Und noch ein Fenster: hier kannst du am Ende den Pfad zu deinem Python einfügen.
Python eintragen unter Windows Vista
1. "Systemsteuerung" starten
2. Dort gehst du auf "System"
3. In dem neuen Fenster wählst du "Erweiterte Systemeinstellungen" (oben links)
4. Wieder neues Fenster. Hier klickst du auf "Umgebungsvariablen"
5. In diesem Fenster bei den Einträgen "Systemvariablen" wählst du den Eintrag "Path" und gehst auf "Bearbeiten"
6. Und noch ein Fenster: hier kannst du am Ende den Pfad zu deinem Python einfügen.
das war doch einfach, oder?
Die Vorlage für euren Mod
Nun jetzt erstellt ihr einen neuen Ordner in dem Modules-Ordner von Mount & Blade, mit dem Namen eures Mods (z.B. C:\Programme\Mount&Blade\Modules\MyNewMod).
Jetzt kopiert ihr den Inhalt aus dem Ordner „Native“ in euren neuen Mod Ordner.
Das Module System
Als nächstes wird das Module System entpackt. Mein Tipp: erstellt euch ein Arbeitsverzeichnis (z.B. Modding) und dort einen Ordner mit dem Namen eures Mods. In den Ordner entpackt ihr das Module System.
Jetzt editiert ihr die Datei module_info.py aus eurem Module System, und trägt dort den korrekten Pfad zu eurem Mod ein (z.B. C:/Programme/Mount&Blade/Modules/MyNewMod/).
Hinweis: Die Datei build_module.bat braucht ihr, wenn ihr Änderungen an den .py Dateien vorgenommen habt (z.B. ihr habt ein neues Item eingefügt). build_module.bat kompiliert die .py Dateien und erstellt die erforderlichen .txt Dateien in eurem Mod Ordner.
Arbeiten mit dem BRF-Editor
Da wir die Vorbereitungen hinter uns haben, widmen wir unsere Aufmerksamkeit dem BRF-Editor zu.
In den meisten fällen braucht man nicht alle Modelle aus einer .brf Datei. Daher verfügt der Editor über eine Import-Funktion (Thorgrim sei Dank).
Sollte der Eine oder der Andere von euch sich jetzt fragen: Wieso sollte ich einzelne Modelle importieren, wenn ich die .brf Datei auch so anbinden kann?
Die Antwort ist recht simpel. Es geht um die Grösse eures Mods und die Ladezeiten. Mount & Blade liest bei der Initialisierung die gesamte .brf Datei aus, und lädt sämtliche dort definierten Texturen.
Gut, genug davon. Wir wollten Modelle importieren und eigene .brf Dateien erstellen. Doch bevor wir damit anfangen habe ich noch eine Empfehlung für euch:
Erstellt euch einen Testordner. Es funktioniert genau so wie das Erstellen der Vorlage für euren Mod. Ihr könnt den Ordner z.B. TestBRF nennen. Dort könnt ihr die .brf Dateien in den Resource-Ordner und die .dds Dateien in den Textures-Ordner kopieren. Der Vorteil diese Methode liegt darin, dass man die Modelle mit Texturen angezeigt bekommt, wenn man sie in dem BRF-Editor betrachtet.
Als Beispiel benutze ich hier Luigi’s Weaponpack. Den könnt ihr hier saugen:
https://www.mbrepository.com/file.php?cid=4&id=735
Wieso ich mich dafür entschieden habe? Nun, dieses Pack hat etwas Besonderes. Wenn ihr die .zip Datei entpackt habt, findet ihr drei .brf Dateien in dem Resource-Ordner. Hier hat luigi das Material und die Texturen in eigenen Dateien definiert.
Habt ihr meine Empfehlung befolgt, kopiert ihr sämtliche Dateien in euren Testordner. Natürlich kommen die drei .brf Dateien in den Resource-Ordner, und die .dds Dateien in den Textures-Ordner.
Jetzt startet ihr den BRF-Editor. Der Editor ist wie folgt aufgeteilt:
1. Menüleiste mit folgenden Einträgen: File, Edit, View, Mesh und Help.
2. Symbolleiste: Open, Save, Import, Export und Undo.
3. Linker Bereich mit Registerkarten: Mesh, Mat, Tex, Col, Skel, Shader (hier Rot dargestellt).
4. Rechter Bereich ist Grau. Dort könnt ihr das ausgewählte Modell sehen.
Hinweis: In dem Bereich 4, könnt ihr euch die Modelle aus allen Perspektiven ansehen. Die Navigation ist einfach: mit links-klick wird das Fenster aktiviert. Haltet die linke Maustaste gedrückt, um das Objekt zu bewegen. Mit dem Scroll-Rad wird das Modell vergrössert und verkleinert. Und mit der gedrückten rechten Maustaste kann das Objekt gedreht und gekippt werden.
Jetzt öffnet ihr die Datei: „newweapons.brf“. Im linken Bereich seht ihr eine Liste mit allen Modellen die in der .brf Datei definiert sind. Wir werden uns jetzt ein Paar Modelle aussuchen und in unsere Datei importieren.
Es ist empfehlenswert sich die Namen auf einem Zettel untereinander zu notieren. Wir brauchen für unsere Arbeit nicht nur die Namen der Modelle, sondern auch die Namen des Materials, bzw. der .dds Datei.
Für unser Beispiel habe ich 6 Modelle ausgesucht:
Name des Modells | Name des Materials | |
realbastardd | epee2 | |
reallongswordb | epee | |
realbastarddscaba | epee2 | |
reallongswordbscaba | epee | |
realshieldb | shieldnew | |
mailb | griffinarmor |
Jetzt startet ihr wieder den Editor. Der Editor kann mehrere Instanzen haben, d.h. ihr könnt ihn mehrmals starten. Es ist vor allem dann praktisch, wenn ihr Modelle aus mehreren .brf Dateien gleichzeitig importieren wollt.
Klickt jetzt bitte auf die Registerkarte „Tex“ und dann auf „Import“. In dem neuen Fenster sucht und öffnet ihr die Datei „newtextures.brf“. Es öffnet sich ein Import-Fenster mit einer Liste der Texturdateien. In meinem Beispiel habe ich zwar 6 Modelle ausgewählt, es sind aber nur 4 Texturen notwendig.
Mit gedrückter Strg-Taste wählt ihr die 4 Texturdateien aus (epee2.dds, epee.dds, shieldnew.dds und griffinarmor.dds) und klickt dann auf „Import“.
Da es so einfach war, wiederholt ihr das ganze Prozedere noch ein Mal. Diesmal importiert ihr das Material. Also in dem Editor die Registerkarte „Mat“ auswählen und die Datei „newmaterials.brf“ öffnen. Wieder die 4 Namen auswählen und auf den Button „Import“ klicken.
Es bleibt jetzt nur noch die Modelle selbst zu importieren. Weil es so schön war, noch einmal der Weg.
Im Editor auf die Registerkarte „Mesh“ und dann auf „Import“ klicken. Die Datei „newweapons.brf“ wird ausgewählt und geöffnet. Nun, braucht ihr nur noch die 6 Modelle auszuwählen und zu importieren.
Eure .brf Datei ist beinah fertig. Ihr müsst sie nur noch speichern. Dazu klickt ihr auf „Save“ in der Symbolleiste. In dem neuen Fenster wählt ihr den Resource-Ordner eures Mods und gebt einen Namen für eure Datei ein (z.B. myNewStuff).
Nun fragt der BRF-Editor, ob er einen Eintrag in der module.ini machen soll, da es keinen mit dem Namen „myNewStuff“ gibt. Ihr klickt natürlich auf „Ja“.
Hinweis: Der Editor packt die neuen Einträge immer ganz ans ende der Datei.
Jetzt müsst ihr die 4 .dds Dateien in den Textures-Ordner eures Mods kopieren.
Fertig? Gut, denn wir haben noch einiges zu tun.
Bis jetzt habt ihr eine eigene Ressourcendatei erstellt und die Texturen in den passenden Ordner kopiert. Ihr habt auch ein Eintrag in der module.ini, der bewirkt, dass die Modelle und Texturen beim start von Mount & Blade geladen werden.
Item Deklaration
Damit ihr auch Freude an den Modellen im Spiel habt, müssen sie in der Datei „module_items.py“ deklariert werden. Dazu startet ihr den Notepad++ und öffnet die Datei.
Wir haben eine Rüstung, zwei Schwerter mit Scheiden und ein Schild zu deklarieren. Um euch die Arbeit zu erleichtern, könnt ihr bereits vorhandene Einträge mit ähnlichen Eigenschaften verwenden.
Zuerst wird die Rüstung deklariert. Ihr sucht nach dem Eintrag:
Code:
["surcoat_over_mail","Surcoat over Mail",[("surcoat_over_mail",0)],itp_merchandise|itp_type_body_armor|itp_covers_legs,0,1720,
weight(22)|abundance(100)|head_armor(0)|body_armor(43)|leg_armor(14)|difficulty(7),imodbits_armor],
Diesen Eintrag findet ihr in der Zeile 362. Dieser Eintrag wird markiert und kopiert (Strg+C). Jetzt scrollt ihr bis ans ende der Einträge für Rüstungen (ca. Zeile 37 und fügt dort das kopierte ein (Strg+V). Jetzt wird die Deklaration an euer Modell angepasst.
Zuerst aber der Aufbau der Deklaration:
1. "surcoat_over_mail" ist die Item ID
2. "Surcoat over Mail" ist der Name, den ihr im Spiel seht
3. [("surcoat_over_mail",0)] das ist der Name des Modells (aus euren .brf Datei)
4a. itp_merchandise besagt, dass die Sache verkäuflich ist
4b. itp_type_body_armor|itp_covers_legs hier ist der Typ des Items
5. 0 ist reserviert für Animationen (hier wird es nicht benutzt)
6. 1720 ist der Basispreis
7. weight(22)|head_armor(0)|body_armor(43)|leg_armor(14) ist glaube ich selbsterklärend
7a. abundance(100)| ist die Verfügbarkeit bei den Händlern
7b. |difficulty(7) sagt, wie viel Stärke ihr braucht um das Item zu benutzen
8. imodbits_armor sind die Modifikationen (negative und positive)
Hinweis: Der Aufbau der Deklaration (bzw. die Erklärungen) wurden vereinfacht.
Als erstes ändert ihr die Item ID. Die ID muss natürlich eindeutig sein und nur einmal vorkommen. Also die Bezeichnung „my_new_armor“ dürfte eindeutig sein. Jetzt ist der Name dran (sucht euch etwas Passendes aus). Nun, jetzt müsst ihr den Modellnamen ändern. In diesem Fall ist der Name „mailb“.
Den Rest könnt ihr vorerst so lassen, und es später an eure Bedürfnisse anpassen.
Der fertige Eintrag sollte jetzt etwa so aussehen:
Code:
["my_new_armor","My Armor",[("mailb",0)],itp_merchandise|itp_type_body_armor|itp_covers_legs,0,1720,
weight(22)|abundance(100)|head_armor(0)|body_armor(43)|leg_armor(14)|difficulty(7),imodbits_armor],
Tipp: Fügt Kommentare zu euren Einträgen! Es erleichtert nachher die Arbeit ungemein. Euer Kommentar sollte mindestens den Namen eures Mods und das Datum des Eintrags beinhalten. Auf diese Weise könnt ihr eure Änderungen nachvollziehen. Das Zeichen für ein Kommentar bei Python ist die Raute (#). Ich setze für meine Kommentare 2 Rauten hintereinander, die werden in Notepad++ in anderer Farbe dargestellt.
Ein Kommentar könnte so aussehen: ## MyNewMod (20090203).
Jetzt müsst ihr nur noch die 2 Schwerter und den Schild deklarieren. In diesem Beispiel habt ihr ein Bastardschwert und ein Langschwert. Sucht euch den passenden Eintrag bei den Waffen aus (z.B. „bastard_sword_a“).
Code:
["bastard_sword_a","Bastard Sword",[("bastard_sword_a",0),("bastard_sword_a_scabbard",ixmesh_carry)],itp_type_two_handed_wpn|itp_merchandise|itp_primary,
itc_bastardsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,294,
weight(2.25)|difficulty(9)|spd_rtng(98)|weapon_length(101)|swing_damage(37,cut)|thrust_damage(26,pierce),imodbits_sword_high],
Ersetzt die ID und den Namen. Im Abschnitt 3 (sehe Aufbau) wird nicht nur der Name des Schwertmodells ersetzt, sondern auch der Name der Schwertscheide. Den Rest könnt ihr so lassen wie es ist.
Der neue Eintrag sollte so ähnlich sein:
Code:
["my_bastard_sword","My Bastard Sword",[("realbastardd",0),("realbastarddscaba",ixmesh_carry)],itp_type_two_handed_wpn|itp_merchandise|itp_primary,
itc_bastardsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,294,
weight(2.25)|difficulty(9)|spd_rtng(98)|weapon_length(101)|swing_damage(37,cut)|thrust_damage(26,pierce),imodbits_sword_high],
Hinweis: Es gibt sehr viele Schwertmodelle, wo es keine Schwertscheiden gibt. In diesem Fall sucht euch Einträge ohne Schwertscheide, oder löscht die Definitionen für die Scheide. In diesem Beispiel werden die markierten Bereiche gelöscht.
["my_bastard_sword","My Bastard Sword",[("realbastardd",0),("realbastarddscaba",ixmesh_carry)],
itp_type_two_handed_wpn|itp_merchandise|itp_primary,itc_bastardsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn,294,
weight(2.25)|difficulty(9)|spd_rtng(9|weapon_length(101)|swing_damage(37,cut)|thrust_damage(26,pierce),imodbits_sword_high],
Jetzt müsst ihr noch ein Schwert und ein Schild eintragen. Ich bin sicher, dass schafft ihr auch ohne mein Geschwafel.
Feuerwaffen beim Händler von Bismarck
Damit eure Schusswaffen auch im Spiel auftauchen müsst ihr folgendes tun:
Öffne module_triggers.py
Suche nach diesem Eintrag:
# Refresh Weapon sellers
(0.0, 0, 24.0, [], [
(reset_item_probabilities,100),
(set_merchandise_modifier_quality,160), <- Je höher dieser Wert, desto höher die %, dass bessere Modifikatoren erscheinen (Lordly, Heavy, etc.)
(try_for_range,reg(2),weapon_merchants_begin,weapon_merchants_end),
(troop_add_merchandise,reg(2),itp_type_one_handed_wpn,,
(troop_add_merchandise,reg(2),itp_type_two_handed_wpn,7),
(troop_add_merchandise,reg(2),itp_type_polearm,,
(troop_add_merchandise,reg(2),itp_type_shield,9),
(troop_add_merchandise,reg(2),itp_type_bow,5),
(troop_add_merchandise,reg(2),itp_type_crossbow,4),
(troop_add_merchandise,reg(2),itp_type_thrown,3),
(troop_add_merchandise,reg(2),itp_type_arrows,3),
(troop_add_merchandise,reg(2),itp_type_bolts,3),
Du solltest nun dies direkt hinter dem vorigen Eintrag einfügen:
(troop_add_merchandise,reg(2),itp_type_pistol,1), <- Wie viele Waffen des Typs Pistole sollen im Handelsfenster verfügbar sein?
(troop_add_merchandise,reg(2),itp_type_musket,1), <- Wie viele Waffen des Typs Muskete soll der Händler besitzen?
(troop_add_merchandise,reg(2),itp_type_bullets,1), <- Wie viele Munitionspackungen soll der Händler bereithalten?
Was noch?
Wenn ihr mit den letzten Einträgen fertig seid, könnt ihr die Datei speichern. Jetzt wird das Module System eures Mods kompiliert. Dazu geht ihr zu eurem Module System und sucht die Datei „build_module.bat“. Ein Doppelklick auf die Datei und alles läuft automatisch ab (dank der Vorbereitung die ihr am Anfang gemacht habt).
Nach der Kompilierung sollte das Command-Fenster so aussehen:
Das einzige was ihr noch tun solltet, ist euren Mod zu spielen. Die Modelle, die ihr deklariert habt, findet ihr nach und nach bei den Händlern.
Ich hoffe, ich konnte einigen von euch helfen oder einige für das Modding interessieren.
Solltet ihr Verbesserungsvorschläge, Anmerkungen etc. haben, dann meldet euch per PM oder im Forum.
Ansonsten viel Spass beim Modden.
svadil