[Tutorial] Grundlagen für Modeinsteiger

Tutorials und mehr...

Moderatoren: Modding - Moddingschule, Moderatoren

Benutzeravatar
Bacchus
Hastatus Posterior
Hastatus Posterior
Beiträge: 961
Registriert: 15. November 2010 12:10
Wohnort: auf dem Gipfel des Olymp
:
Teilnahme an einem Contest Modder Gewinner Userwahl

Neue Gefolgsleute im Spiel hinzufügen

Beitragvon Bacchus » 3. Dezember 2010 19:07

...wir schreiben das Jahr 810 n.Chr., die Veneter sind von ihrem Grund und Boden in Folge der Völkerwanderung vertrieben wurden und besiedeln nun ein neues Fleckchen Erde. Eine menschenfeindliche Region, ein unwirkliches Land - dies war der einzigeste Ort der ihnen als Zuflucht blieb, ein Archipel von ca. 100 Inseln - das rivus altus. Im Herzen fühlten sich die Veneter noch dem Öströmischen Reich zugehörig und schon bald kam der Befehl vom Kaiser die Piraten welche sich an der dalmatinischen Küste eingenistet hatten zu bekämpfen und tatsächlich gelang es den Venetern ein Flotte zustellen und die Piraten in der Adria und im Ionischen Meer zuvertreiben.

Diese kleine Vorgeschichte sollte den Übergang zu unserem neuen Thema schaffen. Auch in der späteren Geschichte Venedigs musste sich die Republik mit Piraten rumschlagen und wir wollen nun einen "Gefolgsmann" erstellen welcher die venetianischen Admiräle beim Kampf auf See unterstüzt. Vom Dogen wird nun den fähigsten Admirälen ein Kaperbrief ausgehändigt welcher mit einer Beförderung +1 Kommando und +25% Bewegungspunkten verbunden ist.
Dafür benötigen wir:
export_descr_ancillaries
export_descr_ancillary_enums und
export_ancillaries.txt.strings -->diese natürlich wieder konvertiert als export_ancillaries.txt

lasst uns nun beginnen, als erstes öffnet ihr die export_descr_ancillaries und kopiert euch den ersten Eintrag dieser Datei und fügt ihn oben gleich wieder ein. Jetzt schreibt ihr diesen "neuen Eintrag" so um:

;Please modify the spreadsheet and re-export the data, rather than editing this file directly

;===============================================================
;== ANCILLARY DATA STARTS HERE ==
;===============================================================

;------------------------------------------
Ancillary Kaperbrief --> dies ist der Name des Gefolgsmannes
Type Naval --> welchem Typ er angehört, ist nicht ganz so wichtig, ihr könntet auch Item nehmen, dann müsst ihr aber bei den triggern noch als Voraussetzung reinschreiben das dies nur für Admiräle gilt, dazu aber später mehr.
Transferable 0 --> der Kaperbrief ist nicht auf einen anderen Charakter übertragbar.
Image Kaperbrief.tga --> welches Bild im Spiel angezeigt werden soll
ExcludeCultures mesoamerican --> welche Kulturen von diesem Gefolge ausgeschlossen werden sollen, hier können auch mehrere stehen.
Description Kaperbrief_desc --> welcher Text im Spiel angezeigt werden soll.
EffectsDescription Kaperbrief_effects_desc --> im Endeffekt die Übersetzung der Bonis welche hier direkt darunter stehen, ergo auch auf welcher Text im Spiel angezeigt werden soll. Bei den Gefolgsleuten ist der beschreibende Text vom Informaierenden unterteilt.
Effect NavalCommand 1 --> +1 Kommando zur See
Effect MovementPoints 5 --> +25% Bewegungspunkte
;------------------------------------------

nachdem nun unser Gefolgsmann einen Namen hat und das Programm weis wie er heisst und was er alles kann, müssen wir noch ein paar Standards festlegen wann , wer, wo ihn bekommt, dafür scrollen wir in der Datei soweit runter bis wir bei den Einträgen für die trigger angekommen sind, hier kopiert ihr euch ebenfalls irgendeinen vorhandenen trigger oder schreibt ihn gleich selber:

;===============================================================
;== ANCILLARY TRIGGERS START HERE ==============================
;===============================================================

;------------------------------------------

Trigger Kaperbrief_trigger --> als erstes für welches Gefolge die folgenden Bedingungen gelten sollen
WhenToTest CharacterTurnEnd --> wann getestet werden soll, ob die Bedingungen erfüllt sind, wenn ja erhalt des Gefolgsmannes, wenn nein wird wieder geteste wenn diese Bedingung vom Zeitrahmen her wieder eintritt, in unserem Falle habe ich den Test der Bedingungen zu Rundenende gesetzt, bedeutet das Spiel prüft sobald ihr den Button "Runde beenden" betätigt ob die Voraussetzungen erfüllt werden.
Condition Attribute NavalCommand >= 3 --> die erste Bedingung damit unserer Admiral seinen Kaperbrief bekommt ist, er muss min. 3 Kommandosterne besitzen, ergo größer gleich, bedeutet ab 3 Sterne oder darüber.
and FactionType venice --> die zweite Bedingung ist das der Admiral der Fraktion Venedig angehören muss.

AcquireAncillary Kaperbrief chance 50 --> und zu guter letzt, wie oft erhalte ich diesen Gefolgsmann, in unserem Beispiel liegt die Chance bei 50%, im Schnitt bekommt jeder zweite Admiral der 3 oder mehr Kommandosterne besitzt diesen Gefolgsmann. Für euren ersten Test würde ich aber diesen Wert auf 100 setzen, das bedeutet den Gefolgsmann gibt es garantiert ab 3 Sterne.
;------------------------------------------

Kleiner Tipp, wenn ihr den Gefolgsmann austesten wollt, stellt immer sicher das einer eurer Charaktere die Bedingungen erfüllt. In diesem Beispiel würde ich einem Admiral in der descr_strat noch die Zeile traits hinzufügen: traits sailor 3 , somit ist sicher gestellt das ein Admiral die 3 Kommandosterne erfüllt. Ihr könnt natürlich noch weitere Nationen hinzufügen: and FactionType england , diese Zeile schreibt ihr dann einfach noch unter die von Venedig, oder lasst diesen Nationeneintrag weg, somit bekommen alle Fraktionen diesen Gefolgsmann, außer, ihr erinnert euch, die Fraktionen welche dem Kulturkreis mesoamerica angehören, also die Azteken sind ausgeschlossen.

Als nächstes müssen wir noch die Texte zuordnen und zwar im export_descr_ancillary_enums, hier ergänzen wir nun diesen Eintrag:

Kaperbrief
Kaperbrief_desc
Kaperbrief_effects_desc


dies könnt ihr gleich ganz oben einfügen, achtet aber bitte auf die Schreibweise, wenn ihr alles Klein schreibt muss es immer alles Klein geschrieben sein, wenn ihr wie in meinem Beispiel den Anfang groß schreibt, dann muss dieser Gefolgsmann immer am Anfang groß geschrieben werden. Diese Datei könnt ihr nun ebenfalls speichern und schließen.

Als nächstes brauchen wir noch den Text der im Spiel angezeigt wird, hier ist wieder eure Phantasie gefragt, wie gesagt ein bissl Text muss sein, ihr sollt auch keinen Roman verfassen... also lasst euch was einfallen, vielleicht als Beispiel:

{Kaperbrief} Kaperbrief
{Kaperbrief_desc} Dieser Admiral wurde auf Grund seiner Leistungen vom Dogen der Republik mit Vollmachten zur Bekämpfung der Piraten versehen.
{Kaperbrief_effects_desc} +1 Kommando auf See, +25% Bewegubgspunkte (ermöglicht das schnelle Verfolgen feindlicher Flotten)

dies fügt ihr nun oben oder unten in der export_ancillaries.txt ein, könnt ihr speichern und schließen, nicht vergessen die dazugehörige string.bin-Datei zulöschen, weil sonst wird euer neuer Text nicht übernommen.

Als letztes brauchen wir noch ein Bild für den Kaperbrief. Ich habe hier einfach die falschen Papiere vom Spion genommen und diese von item_documents.tga in Kaperbrief.tga umbenannt. Die Bilder zu den Gefolgsleuten findet ihr im Ordner ui und dort im Ordner ancillaries .

Benutzeravatar
Bacchus
Hastatus Posterior
Hastatus Posterior
Beiträge: 961
Registriert: 15. November 2010 12:10
Wohnort: auf dem Gipfel des Olymp
:
Teilnahme an einem Contest Modder Gewinner Userwahl

battle_model.db

Beitragvon Bacchus » 3. Dezember 2010 19:35

Bevor ich das Thema wechsle und auf das Einbauen von neuen Einheiten eingehe, möchte ich noch kurz zu einem Script ein paar Worte verlieren... die battle_model.db.
Diese Datei findet ihr im data-Ordner und dann in den unit_models-Ordner gehen, ist die einzigste Datei in dem Ordner welche keinen eigenen weiteren Ordner hat. Um die Datei zu bearbeiten müsst ihr sie formatieren oder machst wie ich und arbeitet mit Zeilenumbruch, das ist aber für die meisten nicht sehr übersichtlich, deshalb habe ich euch mal diese Datei etwas auseinander gebastelt.

27 dismounted_imperial_knights
1 3
72 unit_models/_Units/EN_Pplate_Plate/dismounted_imperial_knights_lod0.mesh 121
72 unit_models/_Units/EN_Pplate_Plate/dismounted_imperial_knights_lod1.mesh 1225
72 unit_models/_Units/EN_Pplate_Plate/dismounted_imperial_knights_lod2.mesh 6400
1
3 hre
70 unit_models/_Units/EN_Pplate_Plate/textures/mtw2_EN_Pplate_hre.texture
73 unit_models/_Units/EN_Pplate_Plate/textures/mtw2_EN_Pplate_normal.texture
55 unit_sprites/hre_Dismounted_Imperial_Knights_sprite.spr
1
3 hre
63 unit_models/AttachmentSets/Final Special Heads_hre_diff.texture
63 unit_models/AttachmentSets/Final Special Heads_hre_norm.texture 0
1
4 None
14 MTW2_Slow_Mace 0 2
17 MTW2_Mace_Primary
14 fs_test_shield 0
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002

So, bei der Datei fange ich einfach mal ganz gegen meine Gewohnheiten hinten an, die ersten Einträge sind sehr schnell erklärt und für die allerletzte gibt´s keine Erklärung
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002
hier muss ich sagen, keine Ahnung was das ist... vielleicht hat Jan eine Erkärung, so jetzt zu den Dingen die euch bestimmt interessieren.

1 3
Um diese Datei zu verstehen, also was die ganzen Zahlen bedeuten, ist diese Zeile am besten geeignet.
Rot: -> die erste Zahl gibt immer an wieviele Zeichen in dieser Reihe stehen. Ergo 6 venice, um mal auf die Fraktionen einzugehen. Oder eben 8 scotland.
Blau: -> ist dann immer die eigentliche Information, sei es der Zielpfad auf eine texture, oder eine reine Scriptinformation, oder, oder, oder...
Merke: Egal was ihr in dieser Datei ändert, die Anzahl der Zeichen einer Information muss immer genau dem entsprechen was am Zeilenanfang angegeben ist... sonst CTD!!!

14 MTW2_Slow_Mace 0 2
17 MTW2_Mace_Primary
diese 2 Einträge sind für die Waffe der Einheit im Spiel zuständig, einmal für den Bewegungsablauf wenn diese Waffe eingesetzt wird, bedeutet: wir haben hier die Reichsritter der Deutschen, diese Einheit besitzt eine Keule, Streitkeule oder wie man das nennen soll, das ist der Eintrag MTW2_Mace_Primary und der darüber ist die Art der Keule, also MTW2_Slow_Mace 0 2 hier ist der Zugriff auf den Einsatz der Waffe, ersetzt ihr nun diese Zeile durch 14 MTW2_Fast_Mace wird sich der Bwegungsablauf den die Einheit auf dem Schlachtfeld ausführt ändern, wie der Name schon sagt, die Jungs werden schneller zuschlagen, bestimmt habt ihr schon die Schwere Venetianische Infantrie im Spiel gesehen, die haben einen absolut genialen Bewegungsrythmus, zuschlagen und der Gegner wirbelt durch die Luft, um das nun bei den Reichsrittern so hinzubekommen müsst ihr diesen Eintrag drüberkopieren 9 MTW2_Mace , habe ich ausprobiert, funktioniert perfekt, dasselbe geht auch bei den Reitern (berittene Pistolenschützen der Deutschen) hier könnt ihr z.B. den Bewegungsablauf der Musketen reinsetzen, bedeutet die Reiter werden nicht mehr so auf halber Höhe abfeuern, sondern ihre Waffe wie ein Gewehr anlegen, zielen und feuern... das sieht zwar erstmal absolut Sch**** aus, aber wer sich mit skinnen beschäfftigen möchte, kann mal anfangen die Pistolen gegen Musketen auszutauschen, dafür brauchen wir dann die oberen Einträge, aber dazu später... was ihr jetzt tun müsst, bei den Reitern diesen Eintrag in der Zeile drüberkopieren 16 MTW2_Fast_Musket , so und jetzt komm ich wieder zu meinen Gefühlen, hatte ich ja schon in diesem Tutorial erwähnt... "jedenfalls bilde ich mir das ein", das trifft auch hier zu, wenn ihr bei den Hackenbücksenschützen den Eintrag 18 MTW2_Fast_Arquebus durch 16 MTW2_Fast_Musket ersetzt, werden sich eure Hackenbücksenschützen wie Musketiere verhalten und etwas schneller schießen... allerdings habe ich mich noch nicht mit der Stopuhr davor gesetzt, aber das könnt ihr selber rausfinden. So, versuche mal auf den Punkt zu kommen, falls ihr die Waffe der Einheit abändern wollt, geht das hier rüber, solange ihr an den Units_Modellen keine graphische Änderung vornehmt wird diese Einheit ihre "alte" Waffe behalten, aber die Neue simulieren. Wenn ihr euch jetzt fragt was die Zahlen am Anfang der Zeilen zu bedeuten haben, das ist die Anzahl der Letters ( sorry, Buchstaben) wieviele in dieser Zeile stehen (ohne Leerzeichen), das muss immer stimmen sonst stürzt euch das Spiel ab und das blöde an der Geschichte... es gibt noch nicht mal eine Fehlermeldung im system log

Kommen wir nun zu den oberen Einträgen, wie gesagt ist relativ schnell erklärt. 27 dismounted_imperial_knights als erstes wieder die Anzahl der Buchstaben in dieser Zeile, gefolgt vom Namen der Einheit.
3 diese darauf folgende Zahl ist die Anzahl der .mesh-Datein
72 unit_models/_Units/EN_Pplate_Plate/dismounted_imperial_knights_lod0.mesh 121
hier möchte ich mal nur die eine Zeile kurz erklären, weil es trifft auf alle folgenden Zeilen gleichermaßen zu. Diese Einträge sind nichts weiter als der Zielpfad der Datein im Programm, auf welche die Einheit zu greift, in dem Fall ist es eine .mesh-Datei und diese ist im Spiel für das Heran- oder Herauszoomen der Einheit zuständig, sozusagen die Darstellung der Soldaten in unterschiedlicher Entfernung... aber das gehört nicht mehr zu den Grundlagen.
Alle diese Einträge die nun folgen haben was mit der graphischen Darstellung der Truppen (units) auf der Schlachtkarte zu tun, wobei diese Einträge nach Nationen geordnet sind.
Wenn ihr euch nun an Wolkensteins Tutorial ranmachen möchtet, jedenfalls mach ich es immer so, lasse ich diese Datein als verkleinertes Fenster offen, und arbeite von oben angefangen mich nach unten durch, so vergesse ich keine Datei die ich kopieren muss, wenn ich eine Einheit aus Kingdoms ins Hauptspiel rüber hole. Wenn ihr nun alle diese Datein kopiert habt, in den richtigen Ordner, sollte die Einheit im Hauptspiel vertreten sein, aöllerdings noch ohne Namen, Text und Bild... das aber könnt ihr im Tutorial (siehe oben) nachlesen.

55 unit_sprites/hre_Dismounted_Imperial_Knights_sprite.spr 1
bei den letzten Einträgen der jeweiligen Datein steht noch eine Zahl, auch diese ist noch einmal die Anzahl der Nationen auf diese Datei zugreifen.

22 serialization::archive 3 0 0 0 0 701 0 0
Die Zeile welche ganz oben steht, ist nur der Eintrag 701 für uns relevant. Diese Zahl gibt an wieviele verschiedene Auflistungen in diesem Script folgen. Ergo haben wir im Original 701 "verschiedene" Einheiten. Wenn ihr jetzt eine Einheit hinzufügt, muss diese Zahl angepasst werden. Darunter zählen auch Offiziere, also jede Einheit welche einen seperaten Eintrag hat muss mit +1 gewertet werden, ergo plus eine neue Einheit = 702.
Wobei jedes Upgrade einer Einheit ebenfalls als Eigenständig angesehen wird. Bedeutet, eine Einheit plus ein ug_level (Rüstungsupgrade) wird in der battle_model.db als 2 Einheiten gewertet.
Was keinen Einfluß auf diesen Wert hat, ist wieviele Nationen diese Einheit rekrutieren können, da die verschiedenen texturen alle unter einem Eintrag stehen.

Hinweis: falls es mal vorkommt, das ein Ordner im Hauptspiel nicht vorhanden ist, der aber in Kingdoms existiert, erstellt ihr einfach einen neuen Ordner im Hauptspiel mit dem selben Namen.

Wer die Datei unübersichtlich findet sollte sich diese hier runterladen:
Datei einfach entpacken und in den Ordner unit_models kopieren.
Dateianhänge
battle_models.zip
(58.7 KiB) 302-mal heruntergeladen
Zuletzt geändert von Bacchus am 10. April 2011 10:29, insgesamt 1-mal geändert.

Benutzeravatar
Bacchus
Hastatus Posterior
Hastatus Posterior
Beiträge: 961
Registriert: 15. November 2010 12:10
Wohnort: auf dem Gipfel des Olymp
:
Teilnahme an einem Contest Modder Gewinner Userwahl

Fußvolk auf die Pferde

Beitragvon Bacchus » 3. Dezember 2010 19:57

So damit wir auch gleich mal mit dieser Datei ein bissl üben können, wollen wir eine Fußtruppe auf die Pferde setzen und zwar so das sie nicht darauf stehen und auch nicht die Gewehre wie Gehstöcke vor dem Halfter der Pferde schweben.
Für unser Beispiel brauchen wir noch die:
- battle_models.model.db
- export_descr_unit

Wir wollen nun die Reiter vom HRE durch Arquebusiers ersetzen. Dazu gehen wir als erstes in die model.db-Datei und suchen uns den Eintrag für diese Einheit:

7 reiters
1 4
53 unit_models/_Units/RN_Half_3Q_Plate/reiters_lod0.mesh 121
53 unit_models/_Units/RN_Half_3Q_Plate/reiters_lod1.mesh 900
53 unit_models/_Units/RN_Half_3Q_Plate/reiters_lod2.mesh 2500
53 unit_models/_Units/RN_Half_3Q_Plate/reiters_lod3.mesh 6400
1
3 hre
73 unit_models/_Units/RN_Half_3Q_Plate/textures/rn_half_3q_plate_hre.texture
76 unit_models/_Units/RN_Half_3Q_Plate/textures/rn_half_3q_plate_normal.texture
35 unit_sprites/hre_Reiters_sprite.spr
1
3 hre
65 unit_models/AttachmentSets/Final European CB Gun_hre_diff.texture
65 unit_models/AttachmentSets/Final European CB Gun_hre_norm.texture 0
1
5 Horse
14 MTW2_HR_Pistol
13 MTW2_HR_Spear 1
22 MTW2_HR_Pistol_Primary 1
21 MTW2_HR_spear_Primary
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002


sollte dann so aussehen, das ug_level erspare ich mir, weil ist der selbe Weg nur eben mit dem darauffolgenden upgrade der Einheit. Als nächstes passen wir die Einträge für die Einheit in dieser Datei an, bedeutet wir benötigen als erstes die .mesh-Dateien der Arquebusiers, diesen Eintrag könnt ihr direkt von der anderen Einheit kopieren, bedeutet ihr müsst diesen Eintrag:

1 4
53 unit_models/_Units/RN_Half_3Q_Plate/reiters_lod0.mesh 121
53 unit_models/_Units/RN_Half_3Q_Plate/reiters_lod1.mesh 900
53 unit_models/_Units/RN_Half_3Q_Plate/reiters_lod2.mesh 2500
53 unit_models/_Units/RN_Half_3Q_Plate/reiters_lod3.mesh 6400

durch diesen ersetzen:

1 4 --> hier müsst ihr aufpassen, falls die Anzahl der mesh-Dateien abweicht, es gibt auch Einheiten welche nur mit 3 Dateien arbeiten, dann diesen Eintrag abändern in: 1 3
56 unit_models/_Units/RN_Light_Lmail/arquebusiers_lod0.mesh 121
56 unit_models/_Units/RN_Light_Lmail/arquebusiers_lod1.mesh 900
56 unit_models/_Units/RN_Light_Lmail/arquebusiers_lod2.mesh 2500
56 unit_models/_Units/RN_Light_Lmail/arquebusiers_lod3.mesh 6400


so jetzt hätten wir die Models der neuen Reitereinheit im Spiel, als nächstes brauchen wir noch die attechments und die texturen der Einheit welche wir auf´s Pferd haben wollen:

3 hre
73 unit_models/_Units/RN_Half_3Q_Plate/textures/rn_half_3q_plate_hre.texture
76 unit_models/_Units/RN_Half_3Q_Plate/textures/rn_half_3q_plate_normal.texture
35 unit_sprites/hre_Reiters_sprite.spr

diesen Originaleintrag abändern in den Eintrag der Arquebusiers:

3 hre
69 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_hre.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture


Als nächstes müssen wir noch die .sprites zuweisen. Die .sprites sind zuständig für die Darstellung der Einheit aus großer Entfernung auf dem Schlachtfeld. Demgegenüber sind die .mesh-Dateien für die Darstellung beim heranzoomen verantwortlich. Bedeutet, große Entfernung... man sieht nicht viel, ergo ist es Wurschtegal von welcher Einheit wir die.sprites für unsere berittenen Arquebusiers benutzen. Hauptsache der Zielpfad verweist auf eine sprite von einer Kavalerieeinheit. Um das zu verdeutlichen habe ich einfach mal die von den berittenen Conquistadoren verwendet.

47 unit_sprites/portugal_Conquistadores_sprite.spr

...jetzt sind die texturen im Spiel, die Arquebusiers sitzen auf dem Pferd, haben aber ihre Waffen nicht in der Hand, sieht aus wie schwebende Gehstöcke, um dies nun zuändern kommen die Animationen ins Spiel. Wie schon oben erwähnt sind diese Dateien für die Handlungen der Soldaten verantwortlich, also wie halten die ihre Waffen, sitzen oder stehen die Kerle, etc. , wenn wir nun die Animationen von einer Kavalerieeinheit für diese Fußtruppe verwenden, wird diese auch die Eigenschaften der Kavalerieeinheit im Spiel übernehmen.
Um die Waffen also richtig zu platzieren wenn man Fußvolk auf die Pferde setzt müssen die richtigen Animationen in der model.db der Einheit zugewiesen werden, in dem Falle betrifft das diese Zeilen:
16 MTW2_CR_Arquebus -> für die erste Waffe, ergo Gewehr
13 MTW2_CR_Sword 1 -> für die 2. Waffe, ergo Schwert
damit werden die Animationen in der Schlacht geladen welche dafür verantwortlich sind wie die Soldaten auf den Pferden sitzen und ihre Waffen halten.

1
5 Horse
16 MTW2_CR_Arquebus
13 MTW2_CR_Sword 1
24 MTW2_HR_Arquebus_Primary 1
18 MTW2_Sword_Primary
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002

die Zeile ist nun eingefügt, bedeutet eure Schützen sitzen auf dem Pferd und die Jungs haben auch ihre Waffen in der Hand als ob sie schon immer auf einem Pferd gesessen hätten...

...das selbe müsst ihr nun auch mit den folgenden ug_level machen, ergo benutzt ihr einfach die Einträge der arquebusiers_ug1. Der besseren Übersicht wegen hier noch einmal der komplette Eintrag in der model.db für diese Einheit mit Rüstungsupgrade:

7 reiters
1 4
56 unit_models/_Units/RN_Light_Lmail/arquebusiers_lod0.mesh 121
56 unit_models/_Units/RN_Light_Lmail/arquebusiers_lod1.mesh 900
56 unit_models/_Units/RN_Light_Lmail/arquebusiers_lod2.mesh 2500
56 unit_models/_Units/RN_Light_Lmail/arquebusiers_lod3.mesh 6400
1
3 hre
69 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_hre.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
47 unit_sprites/portugal_Conquistadores_sprite.spr
1
3 hre
65 unit_models/AttachmentSets/Final European CB Gun_hre_diff.texture
65 unit_models/AttachmentSets/Final European CB Gun_hre_norm.texture 0
1
5 Horse
16 MTW2_CR_Arquebus
13 MTW2_CR_Sword 1
24 MTW2_HR_Arquebus_Primary 1
18 MTW2_Sword_Primary
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002
11 reiters_ug1
1 4
60 unit_models/_Units/RN_Light_Lmail/arquebusiers_ug1_lod0.mesh 121
60 unit_models/_Units/RN_Light_Lmail/arquebusiers_ug1_lod1.mesh 900
60 unit_models/_Units/RN_Light_Lmail/arquebusiers_ug1_lod2.mesh 2500
60 unit_models/_Units/RN_Light_Lmail/arquebusiers_ug1_lod3.mesh 6400
1
3 hre
69 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_hre.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
51 unit_sprites/portugal_Conquistadores_ug1_sprite.spr
1
3 hre
65 unit_models/AttachmentSets/Final European CB Gun_hre_diff.texture
65 unit_models/AttachmentSets/Final European CB Gun_hre_norm.texture 0
1
5 Horse
16 MTW2_CR_Arquebus
13 MTW2_CR_Sword 1
24 MTW2_HR_Arquebus_Primary 1
18 MTW2_Sword_Primary
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002

wenn ihr das alles fertig habt, könnt ihr diese Datei speichern und schließen. Als nächstes brauchen wir noch die EDU und zwar müssen wir hier noch die erste und zweite Waffe der Einheit ändern:

stat_pri 25, 3, musket_bullet, 180, 30, missile, missile_gunpowder, piercing, none, musket_shot_set, 25, 1
;stat_pri_ex 0, 0, 20
stat_pri_attr ap
stat_sec 13, 3, no, 0, 0, melee, melee_blade, piercing, sword, 25, 1
;stat_sec_ex 0, 0, 0
stat_sec_attr no

das Fettgedruckte sind die Änderungen, was ihr jetzt mit den Werten der Einheit macht ist euch überlassen. Auch hier wieder speichern und schließen.

Jetzt könnt ihr euer Spiel starten und die Einheit testen... auf dem Pferd sollten nun statt der Reiter die Arquebusiers sitzen und das ohne Probleme. Irgendwelche Dateien müsst ihr nicht mehr kopieren da wir nur texturen und Dateien verwendet haben welche schon von Hause aus im Spiel sind.
Ihr könnt natürlich auch auf diese Art und Weise eine komplett neue Kavalerieeinheit erstellen und das nur mit den vorhandenen Texturen, das lästige skinnen und ändern der texturen entfällt.

Benutzeravatar
Bacchus
Hastatus Posterior
Hastatus Posterior
Beiträge: 961
Registriert: 15. November 2010 12:10
Wohnort: auf dem Gipfel des Olymp
:
Teilnahme an einem Contest Modder Gewinner Userwahl

Nationen bei vorhandenen Einheiten ergänzen

Beitragvon Bacchus » 3. Dezember 2010 20:05

Wie ich schon so oft erwähnt habe, lohnt es sich die Kingdoms-Kampagnen nach brauchbaren Dingen zu durchsuchen, in unserem Fall werden wir auch bei der Britannia-Kampagne fündig, wir wollen die Texturen der Arquebusiers von der Baron-Allianz den Engländern als Musketiere verkaufen. Ihr könnt natürlich auch eure eigenen Textueren für eine Einheit erstellen.
Nachdem ihr eure Texturen bearbeitet habt könnt ihr genauso wie folgt weiter machen.

Aber fangen wir an, als erstes öffnen wir die model.db in der Britannia-Kampagne und suchen uns die Arquebusiers, jetzt müsst ihr die Einträge von der Baron-Allianz bei den Musketieren im Hauptspiel mit einfügen, wir benötigen genau 4 Einträge, 2 für jedes ug_level:
15 barons_alliance
81 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_barons_alliance.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
52 unit_sprites/barons_alliance_Arquebusiers_sprite.spr

15 barons_alliance
77 unit_models/AttachmentSets/Final European CB Gun_barons_alliance_diff.texture
77 unit_models/AttachmentSets/Final European CB
Gun_barons_alliance_norm.texture 0


die Einträge von arquebusiers_ug1 müsst ihr nun auch noch nach musketeers_ug1 kopieren. Als nächstes ändert ihr den Namen der Fraktion und zwar von:
15 barons_alliance in 7 england

der komplette Eintrag in der model.db sollte nun wie folgt ausehen:

10 musketeers
1 4
54 unit_models/_Units/RN_Light_Lmail/musketeers_lod0.mesh 121
54 unit_models/_Units/RN_Light_Lmail/musketeers_lod1.mesh 900
54 unit_models/_Units/RN_Light_Lmail/musketeers_lod2.mesh 2500
54 unit_models/_Units/RN_Light_Lmail/musketeers_lod3.mesh 6400
4 -> dies ist die Anzahl der Nationen, da wir nun England ergänzt haben müssen wir auch diese Zahl noch abändern und zwar in eine 5 , die restlichen Einträge habe ich schon angepasst.
7 england
81 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_barons_alliance.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
52 unit_sprites/barons_alliance_Arquebusiers_sprite.spr

5 spain
71 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_spain.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
40 unit_sprites/spain_Musketeers_sprite.spr
8 portugal
74 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_portugal.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
43 unit_sprites/portugal_Musketeers_sprite.spr
5 milan
71 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_milan.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
40 unit_sprites/milan_Musketeers_sprite.spr
6 venice
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_venice.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
41 unit_sprites/venice_Musketeers_sprite.spr
5
7 england
77 unit_models/AttachmentSets/Final European CB Gun_barons_alliance_diff.texture
77 unit_models/AttachmentSets/Final European CB Gun_barons_alliance_norm.texture 0

5 spain
67 unit_models/AttachmentSets/Final European CB Gun_spain_diff.texture
67 unit_models/AttachmentSets/Final European CB Gun_spain_norm.texture 0
8 portugal
70 unit_models/AttachmentSets/Final European CB Gun_portugal_diff.texture
70 unit_models/AttachmentSets/Final European CB Gun_portugal_norm.texture 0
5 milan
67 unit_models/AttachmentSets/Final European CB Gun_milan_diff.texture
67 unit_models/AttachmentSets/Final European CB Gun_milan_norm.texture 0
6 venice
68 unit_models/AttachmentSets/Final European CB Gun_venice_diff.texture
68 unit_models/AttachmentSets/Final European CB Gun_venice_norm.texture 0
1
4 None
16 MTW2_Fast_Musket
20 MTW2_Non_Shield_Fast 1
19 MTW2_Musket_Primary 1
18 MTW2_Sword_Primary
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002
14 musketeers_ug1
1 4
58 unit_models/_Units/RN_Light_Lmail/musketeers_ug1_lod0.mesh 121
58 unit_models/_Units/RN_Light_Lmail/musketeers_ug1_lod1.mesh 900
58 unit_models/_Units/RN_Light_Lmail/musketeers_ug1_lod2.mesh 2500
58 unit_models/_Units/RN_Light_Lmail/musketeers_ug1_lod3.mesh 6400
5
7 england
81 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_barons_alliance.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
56 unit_sprites/barons_alliance_Arquebusiers_ug1_sprite.spr

5 spain
71 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_spain.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
44 unit_sprites/spain_Musketeers_ug1_sprite.spr
8 portugal
74 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_portugal.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
47 unit_sprites/portugal_Musketeers_ug1_sprite.spr
5 milan
71 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_milan.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
44 unit_sprites/milan_Musketeers_ug1_sprite.spr
6 venice
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_venice.texture
72 unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_normal.texture
45 unit_sprites/venice_Musketeers_ug1_sprite.spr
5
7 england
77 unit_models/AttachmentSets/Final European CB Gun_barons_alliance_diff.texture
77 unit_models/AttachmentSets/Final European CB Gun_barons_alliance_norm.texture 0

5 spain
67 unit_models/AttachmentSets/Final European CB Gun_spain_diff.texture
67 unit_models/AttachmentSets/Final European CB Gun_spain_norm.texture 0
8 portugal
70 unit_models/AttachmentSets/Final European CB Gun_portugal_diff.texture
70 unit_models/AttachmentSets/Final European CB Gun_portugal_norm.texture 0
5 milan
67 unit_models/AttachmentSets/Final European CB Gun_milan_diff.texture
67 unit_models/AttachmentSets/Final European CB Gun_milan_norm.texture 0
6 venice
68 unit_models/AttachmentSets/Final European CB Gun_venice_diff.texture
68 unit_models/AttachmentSets/Final European CB Gun_venice_norm.texture 0
1
4 None
16 MTW2_Fast_Musket
20 MTW2_Non_Shield_Fast 1
19 MTW2_Musket_Primary 1
18 MTW2_Sword_Primary
16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002

Alle Änderungen sind Rotmarkiert!

Wie schon erwähnt fügen wir nur Nationen bei schon vorhandenen Einheiten mit ein, das bedeutet, das sämtliche benötigte Dateien schon vorhanden sind. Wir müssen nur noch diese ergänzen welche für unsere "neue" Einheit zuständig sind.
Dafür geht ihr in den Ordner unit_sprites und sucht euch die Dateien für die Arquebusiers der Baron-Allianz, diese kopiert ihr nun ebenfalls in den Ordner unit_sprites vom Hauptspiel, müssen insgesamt 6 sein.
Als nächstes brauchen wir noch die Texturen dieser Einheit, die model.db erleichtert einem ja das suchen, ergo müssen wir nach diesem Zielpfad ausschau halten:
unit_models/_Units/RN_Light_Lmail/textures/RN_Light_Lmail_barons_alliance.texture

ihr werdet hier 2 Dateien finden, eine für Norwegen und die andere für unsere Baron-Allianz, die texture-Datei müsst ihr nun in den Ordner kopieren wo auch die Musketiere im Hauptspiel drin, in unserem Fall ist dies sehr einfach, weil die Arqubusiers und die Musketiere den selben Ordner benutzen, wenn ihr andere Einheiten ergänzt, müsst ihr aufpassen das auch der richtige Ordner erwischt wird sonst schmiert euch das Spiel ab. Hierfür immer die model.db benutzen um den richtigen Zielpfad zu finden, einmal von der Einheit welche ihr rüber kopieren wollt und zum anderen von der Einheit welche dann ergänzt werden soll.
Soweit wäre schon alles im Spiel, die Einheit sollte nun schon funzen, Text müssen wir keinen ergänzen, die Einheit ist ja schon im Spiel drin. Was noch fehlt ist der Eintrag in der EDU, ergo müsst ihr die musketeers in dieser Textdatei suchen und bei ownership england mit einsetzen, das ganze speichern und Datei schließen. Jetzt kann England diese Einheit rekrutieren.
Als Bildchen für diese Einheit haben wir allerdings immer noch einen römischen Bauern, ergo müssen wir noch die Bilder aus dem ui-Ordner von der barons_alliance in der Ordner für England im Hauptspiel kopieren und das ganze umbennen von:
#arquebusiers -> #musketeers
arquebusiers_info -> musketeers_info
Jetzt sollte alles so aussehen wie wir es haben wollten, ein kleiner Test in der "Eigenen Schlacht" kann nicht schaden.
Was zu guter Letzt noch fehlt ist ein Gebäude zum rekrutieren der Einheit, weil die Musketiere haben wir zwar für England eingefügt nur im Spiel sind sie halt nicht verfügbar. Wir müssen uns nun ein Gebäude aussuchen wo die Engländer ihre Einheit ausbilden können und dort unter capability diese Zeile einfügen:
recruit_pool "Musketeers" 1 0.4 3 0 requires factions { england, }
Welches Gebäude ihr letztendlich wählt ist absolut egal, ihr könnt sogar den Hafen oder die Farmen dafür benutzen, nur müsst ihr sicher stellen das alles am richtigen Platz steht und in den Klammer eingeschlossen ist.

Die Musketiere der Engländer sind jetzt im Spiel, in der Schlacht wie in der Kampagne rekrutierbar.

Benutzeravatar
Bacchus
Hastatus Posterior
Hastatus Posterior
Beiträge: 961
Registriert: 15. November 2010 12:10
Wohnort: auf dem Gipfel des Olymp
:
Teilnahme an einem Contest Modder Gewinner Userwahl

Schlußplädoyer

Beitragvon Bacchus » 3. Dezember 2010 20:11

Bevor man sich auf die Scripte stürzt ist es ganz wichtig von den Dateien welche man bearbeiten möchte, erstmal eine Sicherungskopie anzulegen. So könnt ihr im Fall der Fälle immer auf ein "sauberes" Script zurückgreifen, und müsst nicht euer ganzes Spiel neu installieren, oder notfalls den Unpacker nochmal drüber laufen lassen. Beides ist sehr zeitaufwendig und macht keinen Spaß. Ergo, bevor ihr was ändert, die Datei rechtsklicken und auf kopieren gehen. Jetzt könnt ihr euch meinetwegen einen separaten Ordner für Medieval unter Eigene Dateien erstellen und dieses Script dahinkopieren. Stellt nur sicher das ihr es auch wiederfindet.
Ihr könnt natürlich auch direkt im Ordner von Medieval 2 euch einen neuen Ordner erstellen, den ihr dann meinetwegen Sicherungskopie nennt... so kommt nichts weg.
Auch empfiehlt es sich bei größeren Projekten eine Kopie vom Modfolder anzulegen. So könnt ihr im Zweifelsfall auf eine Version zurückgreifen welche lief, ergo müsst euer gesamtes Projekt nicht komplett von vorne beginnen, sondern könnt wieder bei der Einheit, oder Provinz, oder was weiss ich, ansetzen, wo euer Spiel gestreikt hat.
Ergo immer in kleinen Tippelschritten sich nach vorne tasten, dann geht nicht ganz so viel schief und wenn´s trotzdem mal in der Hose landet ist der Schaden begrenzt.

Nachdem wir das nun mit den Sicherungskopien durch hätten, möchte ich auch noch auf ein paar Kleinigkeiten eingehen. Der Spruch: "Viele Wege führen nach Rom", trifft auch auf das modden zu. Bei Anno 1404 hatte ich schon bissl dazu geschrieben, deshalb auch hier nochmal. Es ist ganz wichtig zu verstehen was man gerade in den Scripten schreibt oder auch nicht schreibt. Ergo ein gewisses Verständnis für die Dateien entwickeln und nicht in den Scripten rumschreiben, nur weil so ein Depp von Addi das hier schreibt. Alles was ihr bis jetzt gelesen habt, ist garantiert nicht der Stein der Weisheit, sondern nur ein Lösungsweg oder halt ein Beispiel um euch das modden etwas zu erleichtern.
Die Scripte muss man sich als Netzwerk eines großen Ganzen vorstellen. Kaum ein Script steht alleine im Programm, ergo muss es Zusammenhänge geben zwischen den einzelnen Dateien. Hier komme ich immer wieder gerne auf die battle_model.db zu sprechen. Dieses Script ist eines der besten Beispiele um zu verdeutlichen wie alles aufgebaut ist. Ihr müsst euch eine gigantische Kreuzung vorstellen, auf der mehrere 100 Straßen zusammen laufen. Die battle_model.db übernimmt in dem Fall die Aufgabe des Verkehrspolizisten und regelt den Verkehr. Ich meine woher soll das Programm wissen was es jetzt zu machen hat, wenn der Spieler seine Ritter in der Schlacht anklickt, oder im Spiel den Button "Schlacht manuell" austragen betätigt???
Na gut es gibt hier zum einen die Programmbibliothek, da wird schon einiges geregelt... aber eben auch nicht alles. Das was letztendlich im Spiel durch den Spieler passiert, beruht auf den Dateien welche vor euch entpackt im data-Ordner liegen. Die Programmbibliothek passt nur auf die Scripte auf, das da keines auf Abwege kommt, in dem Fall schmiert euer Programm mit einem astreinen CTD ab und ihr befindet euch wieder auf dem Desktop. Weil wie der Name schon sagt, es ist eine Bibliothek und in dieser gibt es normalerweise auch einen Duden, ergo wenn ihr euch verschreibt, gibt´s kein Schmunzeln von den anderen Usern über den kleinen Ausrutscher, sondern diese Bibliothek ist da sehr hart mit den Entscheidungen. Ihr werdet sofort gebannt vom Programm und der Zutritt wird euch verwehrt. Das liegt daran das in dieser Programmbibliothek alle verwendbaren Befehle genau definiert sind und jeder kleine Fehler bestraft wird.
Aber wieder zurück zu unserer battle_model.db. Wenn ihr diese Datei vor euch geöffnet auf dem Desktop habt, werdet ihr sehr schnell mitbekommen, das in dieser Datei das wenigste irgendetwas mit Kommandos gemeinsam hat. Diese Datei ist ein einziger rießiger Wegweiser aus Zielpfaden. Egal welche Einheit ihr auf dem Schlachtfeld gerade in der Mache habt, dieses Script setzt aus allen Einzelteilen eure Einheit zusammen, so das ihr in eurer Schlacht auch was zusehen habt. Aber woher weiss den die Datei welche Einheiten ich meinem General mitgegeben habe??? Hier sind wir dann bei der EDU angelangt. Die EDU legt fest was eine Einheit hat, kann oder eben auch nicht... einmal verweist sie auf die gesamten Texte, nein damit hat unsere battle_model.db nichts zutun, und zum anderen sagts sie unserer Datei... Heee, meine kleiner Zocker braucht auf dem Schlachtfeld ganz schnell die Reichsritter. Weil ich bin die EDU und weiss daher das es die Reichsritter sind, du aber meine battle_model.db bist der Wächter über die texturen. Ergo Befehl erhalten und nun setzt unsere Datei diese Einheit, aus den ganzen Hinweisen wo denn die texturen liegen, zusammen. Nicht das mal ein Reichsritter mit französischer Uniform angetroffen wird.

Langweilt ihr euch schon, oder amüsiert ihr euch über den Blödsinn welchen ich schreiben???
Nach ein paar Versuchen in den Scripten verstehen mich vielleicht schon die ersten. Also stellen wir fest, kein Script steht alleine.
Nun vergleiche ich immer die verschiedenen Wege mit Berufsgruppen. Auf der einen Seite der fleißige Handwerker, der keine Mühe scheut. Und auf der anderen Seite der filigrane, aber etwas faulere Optiker. Der wiederum versucht sich so wenig wie möglich Arbeit zu machen und liest sich erstmal in die Scripte ein. Hat den Vorteil, wenn ich z.B. ein komplett neues Gebäude erstelle, kann ich im ui-Ordner alle Icons für die Gebäude selber benennen, ergo für alle Kulturen, wäre jetzt was für den fleißigen Handwerker. Oder ich benenne nur die Icons für eine Kultur, meinetwegen northern_european. Dann habe ich die Schnauze voll von der ganzen Schreiberei und gehe wieder in meinen data-Ordner zurück und öffne dort die: descr_ui_buildings

lookup_variants
{

Weil nehmen wir gleich mal das Arsenal, das hatte ich ja nun ganz speziell für Venedig erstellt. Man kann aber dieses Gebäude auch anderen Nationen zugänglich machen. Nun hatte ich aber nur die Icons für die Nordeuropäer erstellt, ergo würden wir bei Venedig nur dieses häßliche Kaserne angezeigt bekommen. Somit brauchen wir auch noch die Icons und Infobilder für die anderen Nationen.
Wie der erste Eintrag in der descr_ui_buildings schon sagt, schaue mal nach möglchen Varianten damit diese Kaserne dem Spiel fern bleibt. Ergo sagen wir diesem Programm, mein Freundchen, wenn es keine Bilder für den Süden gibt... dann nehm doch einfach die vom Norden.
southern_european northern_european
Jetzt wird euch die descr_ui_buildings sagen, alles klar habe ich verstanden, und leite es an meinen Chef weiter, das ist nämlich die EDB. Falls jetzt noch bei den Byzantinern die Bildchen fehlen, dann nochmal in das Script zurück und dem das auch noch begreiflich machen:
greek northern_european
Somit verweisen wir das Programm darauf, das die Bilder von Nordeuropa für die gesamten Fraktionen des Kulturkreises der Griechen im Spiel benutzt werden sollen.
Ich denke das ich mit dieser etwas lockeren Erzählung den Aufbau der Scripte soweit verständlich gemacht habe... hoffe ich jedenfalls. Und das sich jeder dies auch bildlich vorstellen kann.
Wenn dann trotzdem mal was schief geht, bloss nicht die Nerven verlieren... in der Ruhe liegt die Kraft. Das ist aber ein anderes Thema: Fehleranalyse und system log

So das wars erstmal von meiner Seite. Ich weiß das das erstmal ein Mammuttext ist den ihr nicht an einem Tag abarbeitet, aber es ist auch nur die Spitze des Eisberges an dem wir gerade etwas gekratzt haben und deshalb schreibe ich es auch zu guter letzt noch einmal:

Modden ist sehr zeitaufwändig und erfordert sehr viel Geduld, wer erwartet das alles auf Anhieb funktioniert, ist einfach falsch am Platz. Ihr werdet viele Rückschläge hinnehmen müssen bis ihr mit dem Ergebnis einiger Maßen zufrieden seid. Ein kleiner Tipp vielleicht noch mit auf den Weg, wer das modden lernen möchte sollte sich mit Gleichgesinnten zusammen tun, gemeinsam lernt sich schneller!!!

Hoffe ich konnte euch etwas weiterhelfen, bleibt nur noch eins: Viel Spaß beim modden und ich freue mich schon auf "neue" Spiele die von euch kommen.
Das Tutorial kann bis auf die Einheiten auch für Rome Total War angewandt werden.
Grüße Bacchus :strategie_zone_20:

Achso, Fragen können natürlich ab sofort in diesem Thread gestellt werden.
Zuletzt geändert von Bacchus am 4. Januar 2011 22:34, insgesamt 1-mal geändert.

StreiterdesReiches
Tiro
Tiro
Beiträge: 8
Registriert: 6. Dezember 2010 16:38

Re: [Tutorial] Grundlagen für Modeinsteiger

Beitragvon StreiterdesReiches » 6. Dezember 2010 16:58

Hallo,


Ich will mal ne Frage stellen.... Die Anleitung ist doch die, von "Addi" aus der TW-Zone nech?

Wenn ja und du nicht die zufällig "Addi" bist, müsstest du nich dann die Quelle angeben?


gruß, :strategie_zone_21:

Benutzeravatar
Amon Amarth 930
Hastatus Prior
Hastatus Prior
Beiträge: 1694
Registriert: 19. November 2010 16:58
Wohnort: Xanten
:
Modder

Re: [Tutorial] Grundlagen für Modeinsteiger

Beitragvon Amon Amarth 930 » 6. Dezember 2010 17:32

Bacchus = Addi
:)

Benutzeravatar
Deatheye
Optio ad spem
Optio ad spem
Beiträge: 692
Registriert: 6. Dezember 2010 19:07
Wohnort: Überall und Nirgendwo
:
Teilnahme an einem Contest Modder

Re: [Tutorial] Grundlagen für Modeinsteiger

Beitragvon Deatheye » 6. Dezember 2010 19:53

Bacchus/Addis Tutorial sind wirklich der Beste Einstieg ins Modden.

Wenn ich noch etwas zum Thema "Neue Gebäude hinzufügen" anmerken dürfte.
Beim Einbau ein neuen Gebäudes ist es nicht notwendig zu bestimmen ob es in einer Stadt oder einer Burg gebaut werden soll.
Läßt man es einfach weg, dann kann dasselbe Gebäude sowohl in der Stadt als auch in der Burg errichtet werden.

Benutzeravatar
Bacchus
Hastatus Posterior
Hastatus Posterior
Beiträge: 961
Registriert: 15. November 2010 12:10
Wohnort: auf dem Gipfel des Olymp
:
Teilnahme an einem Contest Modder Gewinner Userwahl

Beitragvon Bacchus » 6. Dezember 2010 21:07

@ Amon
...Veräter! :strategie_zone_272:
@ Deatheye
...hab´s mit reingeschrieben und bei der descr_strat auch gleich noch ergänzt die Trennung zwischen Burg und Stadt.
Grüße Bacchus :strategie_zone_20:

Benutzeravatar
Amulius der Tapfere
Signifer
Signifer
Beiträge: 410
Registriert: 24. November 2010 22:47
Wohnort: Köln

Re: [Tutorial] Grundlagen für Modeinsteiger

Beitragvon Amulius der Tapfere » 6. Dezember 2010 22:13

Darf der Thread hier dann auch zum Fragenstellen benutzt werden, wenn man unter den etlichen klasse Tutorials hier nicht das richtige findet?
"The man who doesn't respond to music, the man without music in his soul is not to be trusted. A man like that is cold and empty, empty to the core." - Henry Miller

Benutzeravatar
Bacchus
Hastatus Posterior
Hastatus Posterior
Beiträge: 961
Registriert: 15. November 2010 12:10
Wohnort: auf dem Gipfel des Olymp
:
Teilnahme an einem Contest Modder Gewinner Userwahl

Beitragvon Bacchus » 7. Dezember 2010 09:04

...du fragst doch bereits. :strategie_zone_96:
Grüße Bacchus :strategie_zone_20:

Benutzeravatar
Masterlord
Aquilifer
Aquilifer
Beiträge: 2915
Registriert: 15. November 2010 22:15
Wohnort: Berlin
:
Teilnahme an einem Contest Kleinspender

Re: [Tutorial] Grundlagen für Modeinsteiger

Beitragvon Masterlord » 30. Dezember 2010 19:03

Also echt Klasse Du Weinliebhaber... :strategie_zone_4: Vor allem dass mit den Mongolen und Timuriden fand ich gut da ich bereits danach gesucht habe und es nun hier im Forum finde... lol
Bild
„Wer kämpft, kann verlieren. Wer nicht kämpft, hat schon verloren.“ (Bertolt Brecht) Requiescat in pace Mutsch
Der Vorteil der Klugheit besteht darin, daß man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.

Benutzeravatar
Bacchus
Hastatus Posterior
Hastatus Posterior
Beiträge: 961
Registriert: 15. November 2010 12:10
Wohnort: auf dem Gipfel des Olymp
:
Teilnahme an einem Contest Modder Gewinner Userwahl

Re: [Tutorial] Grundlagen für Modeinsteiger

Beitragvon Bacchus » 4. Januar 2011 22:25

...stand doch auch schon lange in der TWZ drin. Hab´s nur gut getarnt. lol
Grüße Bacchus :strategie_zone_20:

Benutzeravatar
Fred Putz
Centurio
Centurio
Beiträge: 824
Registriert: 8. Dezember 2010 09:31

Re: export_descr_buildings ( EDB )

Beitragvon Fred Putz » 15. Januar 2011 14:39

Hallo,

ich habe eine Frage zur EDB:
Bacchus hat geschrieben:capability
{
recruit_pool "Demi Lancers" 1 0.5 4 0 requires factions { england, }
recruit_pool "French Mounted Archers" 1 0.5 4 0 requires factions { france, }
recruit_pool "Tercio Pikemen" 1 0.5 4 0 requires factions { spain, }
}

Ist es auch möglich Leerzeilen zwischen den Einträgen zu haben, oder wird es dann nicht funktionieren? Beispiel:

Code: Alles auswählen

capability
{
recruit_pool "Demi Lancers" 1 0.5 4 0 requires factions { england, }
recruit_pool "French Mounted Archers" 1 0.5 4 0 requires factions { france, }

recruit_pool "Tercio Pikemen" 1 0.5 4 0 requires factions { spain, }
}

Das wars schon - besten Dank vorab. :)

Edit: funktioniert :strategie_zone_103: - nur steht es so nirgends, daher lasse ich das mal drinne.

Smitty: "Just want to say that in all the years of playing M2TW and RR/RC the Carl economy is the most balanced and normal of any I've yet seen in terms of progression."
Ichon: "Curious what changes it entails as right now I'm still leaning towards Carl being the best economy I've experienced as well."

Rock´n´Roll!

Benutzeravatar
Fred Putz
Centurio
Centurio
Beiträge: 824
Registriert: 8. Dezember 2010 09:31

Re: [Tutorial] Grundlagen für Modeinsteiger

Beitragvon Fred Putz » 9. Februar 2011 13:55

Hmm Doppelpost. :strategie_zone_70:

Mal wieder eine kleine Frage:

Angenommen ich habe in der EBD den gleichen Eintrag zweimal drin - wird nur einer gezählt oder hat der dann doppelt Wirkung? Ist jetzt eher eine Frage, die meiner Faulheit entgegen kommt - will nur etwas testen und würde das später aufräumen, wenn´s gut funktioniert.

Beispiel:
capability
{
recruit_pool "Demi Lancers" 1 0.5 4 0 requires factions { england, }
recruit_pool "Demi Lancers" 1 0.5 4 0 requires factions { england, }
recruit_pool "French Mounted Archers" 1 0.5 4 0 requires factions { france, }
recruit_pool "Tercio Pikemen" 1 0.5 4 0 requires factions { spain, }
}

Also würde man dann doppelt so viele "Demi Lancers" rekrutieren können oder eher nicht? Geht das überhaupt? :strategie_zone_41:
Mein Problem ist, das ich gerade Einträge für 500 Einheiten in unzähligen Gebäuden überarbeite und sich etliche überschneiden - ich sehe das selbst nicht direkt, weil es nur für die KI gelten würde. Würde erheblich Zeit sparen, wenn es jemand aus dem Stehgreif wüßte - besten Dank.

:strategie_zone_20:

Smitty: "Just want to say that in all the years of playing M2TW and RR/RC the Carl economy is the most balanced and normal of any I've yet seen in terms of progression."
Ichon: "Curious what changes it entails as right now I'm still leaning towards Carl being the best economy I've experienced as well."

Rock´n´Roll!