hier fehlt eindeutig ein "gefällt mir" button
es ist sehr schön wenn man so herzlich begrüßt wird, danke
Beiträge von weissnicht
Bitte prüft eure E-Mail-Adressen im Forum auf Richtigkeit und aktuallisiert diese ggf.
-
-
Und hier bin ich
danke für die Glückwünschekaum zu glauben das sich noch welche an mich erinnern..
-
Zitat
gefällt mir
Mir auch -
Sehr schön
-
:wave:
Und denk immer dran, Windows ist wie ein U-Boot, sobald man ein Fenster aufmacht ist es kaputt
-
Ich auch nicht...
-
Tutorial für ein Garnisonsscript
Dieses Tutorial ist für Fortgeschrittene, die wissen wo alle Dateien liegen.
Öffnet die campaign_script.txt
Dies ist der Code, den wir einfügen:
Code
Alles anzeigen;========================================================================================= ;---------- Counter ---------- declare_counter rom_belagert ;---------- Verstärkungen ---------- monitor_conditions not I_SettlementUnderSiege Rome set_counter rom_belagert 0 end_monitor monitor_conditions I_SettlementUnderSiege Rome and I_CompareCounter rom_belagert = 0 if I_SettlementOwner Rome = papal_states create_unit Rome, peasant, num 2, exp 2, arm 1, wep 0 end_if set_counter rom_belagert 1 end_monitor
Als erstes setzten wir also den counter rom_belagert auf 0.
Wenn nun Rom belagert wird ("I_SettlementUnderSiege Rome" ) und die stadt vom Papst kontrolliert wird ("if I_SettlementOwner Rome = papal_states"), werden 2 Bauern Einheiten ("num 2") mit 2 Erfahrung (maximalwert 9) 1 Waffenupgrade (Maximalwert 9) und keinen Rüstungsupgrade (Maximalwert 9) in Rom gespawnt.
Nun setzten wir den counter das Rom belagert wird auf 1, damit in der nächsten Runde nicht noch einmal gespawnt wird.Hoffe dieses kleine nicht ausführliche tutorial hilft einigen =)
Grüße weissnicht
Diskussionen und Fragen bitte in diesem Thread
-
Jo, setz ich mich näcshte Woche dran und mach das dann fertig
-
Neue Einheit erstellen
Um eine komplett neue Einheit zu ertstellen, sidn nur 3 Dateien nötig.
data/export_descr_units
data/text/export_units
data/unit_models/battle_models.db1. Einbau in die model.db
Als erstes kreieren wir zwei neue Ordner unter unit_models/_units.
und zwar unit_models/_units/totalwar
und unit_models/_units/totalwar/texturesNatürlich kann man den Ordner nennen wie man will, man muss nur in der model.db den Ordnerpfad dann jeweils anpassen!
Kopiert nun ein Speerträgereinheiten Model (z.b. die Speermiliz (spear_militia zu finden unter unit_models/_units/en_peasant_padded ) in den Ordner unit_models/_units/totalwar und nennt es in totalwar_einheit_lod0 um.
nun kopiert ihr die textur ( bei der der Speermiliz en_peasant_padded_hre (oder _france, _england etc. je nachdem wie die Einheit aussehen soll. Wollt ihr die Einheit neu skinnen, ist es egal welche ihr nehmt)) in den Ordner unit_models/_units/totalwar/textures.
Da unsere Einheit ja eine Speerträgereinheit ist, kopieren wir in der model.db eine beliebige Speerträgereinheit, z.B. die levy_spearmen.
Hier sind die originalen EInträge der levy_spearmen
Die Nummern vor jeder Zeile entsprechen der Anzahl der Ziffern und Buchstaben in dieser Reihe.
z.B. "weissnicht" hat 10 Cuhstaben, also würden wir 10 weissnichtCode
Alles anzeigen13 levy_spearmen 1 4 60 unit_models/_Units/EN_Peasant_Padded/levy_spearmen_lod0.mesh 121 60 unit_models/_Units/EN_Peasant_Padded/levy_spearmen_lod1.mesh 900 60 unit_models/_Units/EN_Peasant_Padded/levy_spearmen_lod2.mesh 2500 60 unit_models/_Units/EN_Peasant_Padded/levy_spearmen_lod3.mesh 6400 2 (Diese Nummer sagt aus, wie viele Fraktionen diese Einheit haben, in diesem Falle England und Rebellen, also 2) 7 england 79 unit_models/_Units/EN_Peasant_Padded/textures/EN_Peasant_Padded_england.texture 78 unit_models/_Units/EN_Peasant_Padded/textures/EN_Peasant_Padded_normal.texture 49 unit_sprites/england_Dummy_EN_Spearmen_sprite.spr 5 slave 78 unit_models/_Units/EN_Peasant_Padded/textures/EN_Peasant_Padded_rebels.texture 78 unit_models/_Units/EN_Peasant_Padded/textures/EN_Peasant_Padded_normal.texture 47 unit_sprites/slave_Dummy_EN_Spearmen_sprite.spr 2 7 england (Hier sind die Schildtexturen aufgelistet.) 58 unit_models/AttachmentSets/Final Kite_england_diff.texture 58 unit_models/AttachmentSets/Final Kite_england_norm.texture 0 5 slave 56 unit_models/AttachmentSets/Final Kite_slave_diff.texture 56 unit_models/AttachmentSets/Final Kite_slave_norm.texture 0 1 4 None 10 MTW2_Spear 0 2 18 MTW2_Spear_primary 14 fs_test_shield 0 16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002
Hier ist der neue Eintrag:
Code
Alles anzeigen16 totalwar_einheit 1 1 54 unit_models/_Units/totalwar/totalwar_einheit_lod0.mesh 6400 -> Ich habe, da wir nur die levy_spearmen_lod0 opiert haben, hier auch nur diese angegeben. 2 7 england 70 unit_models/_Units/totalwar/textures/EN_Peasant_Padded_england.texture -> Die textur muss so heißen wie die textur im Ordner. kann also auch 1.texture heißen. 69 unit_models/_Units/totalwar/textures/EN_Peasant_Padded_normal.texture 49 unit_sprites/england_Dummy_EN_Spearmen_sprite.spr 5 slave 69 unit_models/_Units/totalwar/textures/EN_Peasant_Padded_rebels.texture 69 unit_models/_Units/totalwar/textures/EN_Peasant_Padded_normal.texture 47 unit_sprites/slave_Dummy_EN_Spearmen_sprite.spr 2 7 england (Du musst die folgenden Schildtexturen nicht ändern. In diesem Falle hätte unsere Einheit englsiche Schilder. Das ändern funktioniert genau so wie bei der nirmalen textur) 58 unit_models/AttachmentSets/Final Kite_england_diff.texture 58 unit_models/AttachmentSets/Final Kite_england_norm.texture 0 5 slave 56 unit_models/AttachmentSets/Final Kite_slave_diff.texture 56 unit_models/AttachmentSets/Final Kite_slave_norm.texture 0 1 4 None 10 MTW2_Spear 0 2 18 MTW2_Spear_primary 14 fs_test_shield 0 16 -0.090000004 0 0 -0.34999999 0.80000001 0.60000002
Ich gehe mal genauer auf diese Zeile ein. lod0 gibt das level of detail an. Also wie detailliert das Model der Einheit ist.
Die Zahl 6400 gibt an, bis zu welcher Entfernung das Model und ab wann nur noch sprites angezeigt werden.Ihr müsst in der ersten Reihe die Zahl 701 (der vanillawert) immer um eins erhöhen pro neues Model. (also auch bei Upgrades!)
wird zu
jetzt noch speichern und zum nächsten Schritt.
2. Einbau in der EDU - export_descr_units
Öffne die Datei export_descr_units zu finden im data ordner
Auch da kopieren wir den EIntrag der levy_spearmen und ändern die Einträge hinter:
type
dictionary
soldier
armour_ug_modelsCode
Alles anzeigentype totalwar einheit (hier wird kein "_" benötigt. Warum weiß ich nicht, aber so ist es nun mal :D) dictionary totalwar_einheit category infantry class spearmen voice_type Light banner faction main_spear banner holy crusade soldier totalwar_einheit, 60, 0, 1.5 attributes sea_faring, hide_forest, can_withdraw formation 1.2, 1.2, 2.4, 2.4, 4, square, schiltrom stat_health 1, 0 stat_pri 7, 3, no, 0, 0, melee, melee_blade, piercing, spear, 25, 0.6 ;stat_pri_ex 0, 0, 0 stat_pri_attr spear, spear_bonus_8 stat_sec 0, 0, no, 0, 0, no, melee_simple, blunt, none, 25, 1 ;stat_sec_ex 0, 0, 0 stat_sec_attr no stat_pri_armour 0, 3, 8, flesh ;stat_armour_ex 0, 2, 3, 0, 3, 8, 8, flesh stat_sec_armour 0, 0, flesh stat_heat 0 stat_ground 1, 0, 2, -2 stat_mental 3, normal, trained stat_charge_dist 20 stat_fire_delay 0 stat_food 60, 300 stat_cost 1, 290, 155, 55, 135, 290, 4, 80 armour_ug_levels 0 armour_ug_models totalwar_einheit ownership england, slave era 0 england era 1 england era 2 england ;unit_info 7, 0, 11 recruit_priority_offset 0
In Addis Grundlagen für Modeinsteiger wird erklärt, was die ganzen Zeilen bedeuten =)
Speichern und Spiel starten und schon ist die neue Einheit im Spiel!
3. Der Einheit einen Namen geben
Wenn ihr nach Schritt 1 und 2 das Spiel startet, werdet ihr merken, dass die Einheit keinen Namen hat. Damit wird Abhilfe geschaffen, indem wir in der datei export_units (data/text -> muss vorher mit dem string.bin converter konvertiert werden. Nach dem einfach googlen)
folgendes hinzufügen:Code{totalwar_einheit}Totalwar Berserker {totalwar_einheit_descr}Diese Einheit ist die absolute übereinheit und wird alle anderen besiegen. {totalwar_einheit_descr_short}Diese Einheit ist nur durch Moddingtools zu erstellen
4. Zusatzinformationen
Ihr werdet sehen, dass nur ein Bauer als Einheitenkarte und Einheiteninfokarte zu sehen ist. Wie ihr den wegbekommt wird hier beschrieben:
http://www.twcenter.net/forums/showthread.php?t=221097formatierte model.db:
http://www.twcenter.net/forums/showthread.php?t=84043
http://www.twcenter.net/forums/showthread.php?t=196382 -
Man kann bei der einen löschen und bei der anderen lassen.
-
Nur ein paar Einheiten sind von DG. Ein paar sind von King Kong.
Aber wie ich es immer sage, DG ist nunmal einer, wenn nicht der, beste Skinner der Total War Serie nomentan...Aber das es hammer aussieht, ist nicht zu bestreiten.
Also in 1.5 werd ich Eridaor spielen -
Scripting - Arbeiten mit Countern
Benötigte Dateien:
campaign_script -> data/world/maps/campaign/imperial_campaign
historic_events -> data/text
I. TeilIch habe mir überlegt, wozu lasse ich eigentlich eine Rodung bauen, wenn ich das Holz hinterher nicht verkaufen kann. Also schreiben wir heute ein kleines Script, womit wir das Holz auf dem internationalen Holzmarkt verkaufen können...
So sieht es aus, wenns fertig ist:
Code
Alles anzeigen;================================================================ ;==================== Farmeinkünfte/Rodungen ==================== ;================================================================ ;---------- Counter monitor_conditions I_TurnNumber = 0 add_events event counter Rodung end_add_events terminate_monitor end_monitor monitor_event FactionTurnEnd FactionType slave generate_random_counter Rodung 1 4 end_monitor ;---------- OSTRÖMISCHES REICH ---------- monitor_event GovernorBuildingCompleted SettlementBuildingFinished = farms and FactionType byzantium if I_EventCounter Rodung = 1 add_money byzantium 400 historic_event rodung_klein end_if if I_EventCounter Rodung = 2 add_money byzantium 700 historic_event rodung_mittel end_if if I_EventCounter Rodung = 3 add_money byzantium 700 historic_event rodung_mittel end_if if I_EventCounter Rodung = 4 add_money byzantium 1100 historic_event rodung_gross end_if end_monitor
Als erstes setzten wir den Counter und dazu noch einen zufallsgenerator, der zwischen 1, 2, 3 und 4 auswählt.
monitor_conditions I_TurnNumber = 0 -> Der Counter wird direkt zu Spielstart gesetzt.
add_events -> Der EventCounter wird gesetzt. Es gibt auch den normalen Counter "declare_counter blabla" Dazu später mehr.
event counter Rodung
end_add_events
terminate_monitor -> Der Monitor wird nur einmal pro Spiel gelesen
end_monitor -> Jeder Monitor muss so endenmonitor_event FactionTurnEnd FactionType slave -> Der Zufallsgenerator wird zum Ende der Rebellenrunde geprüft
generate_random_counter Rodung 1 4 -> Hier wird eine zufällige Zahl zwischen 1 und 4 gewählt.
end_monitor -> Jeder Monitor muss so enden
Danach kommt das eigentliche Script:monitor_event GovernorBuildingCompleted SettlementBuildingFinished = farms -> Das Event feuert, wenn das gebäude farms errichtet wurde. Im deutschen Spiel also unsere "Rodung"
and FactionType byzantium -> Das Event feuert aber nur, wenn die Fraktion, die das Gebäude errichtet hat Byzanz ist. Dieser Part des Scriptes muss für jede Fraktion wiederholt werden!
if I_EventCounter Rodung = 1 -> Hier kommt unser Zufallsgenerator ins Spiel. Er hat aus dem Rodungs-counter eine 1 gewählt. Das heißt bis zum end_if treffen alle Bedingungen nur zu, wenn eine 1 gewählt wurde.
add_money byzantium 400 -> Der Holzverkauf brachte 400 Goldstücke ein
historic_event rodung_klein -> Und um den Spiele zu informieren gibts ein Event.
end_if
if I_EventCounter Rodung = 2 -> Wenn der Zufallsgenerator eine 2 wählt gibts 700 Goldstücke und ein anderes Event.
add_money byzantium 700
historic_event rodung_mittel
end_if
if I_EventCounter Rodung = 3 -> Da wir nicht zu viel Geld erhalten wollen, gibts 2mal 700 Goldstücke
add_money byzantium 700
historic_event rodung_mittel
end_if
if I_EventCounter Rodung = 4 -> Und wenn man Glück hat gibts 1100
add_money byzantium 1100
historic_event rodung_gross
end_if
end_monitorJetzt fehlt nur noch der EIntrag in der historic_events für unsere Benachrichtigungen:
Code
Alles anzeigen{RODUNG_KLEIN_BODY}Mein Herr,\n\nDurch die Rodung der umliegenden Wälder, wurde nicht nur Ackerland frei, sondern zudem konnten wir das Holz auch noch gewinnbringend verkaufen.\n\n Auswirkungen: Einmalige Einkünfte in höhe von 400 Goldstücken {RODUNG_KLEIN_TITLE}Rodung {RODUNG_MITTEL_BODY}Mein Herr,\n\nDurch die Rodung der umliegenden Wälder, wurde nicht nur Ackerland frei, sondern zudem konnten wir das Holz auch noch gewinnbringend verkaufen.\n\n Auswirkungen: Einmalige Einkünfte in höhe von 700 Goldstücken {RODUNG_MITTEL_TITLE}Rodung {RODUNG_GROSS_BODY}Mein Herr,\n\nDurch die Rodung der umliegenden Wälder, wurde nicht nur Ackerland frei, sondern zudem konnten wir das Holz auch noch gewinnbringend verkaufen.\n\n Auswirkungen: Einmalige Einkünfte in höhe von 1100 Goldstücken {RODUNG_GROSS_TITLE}Rodung
II. TeilHier erkläre ich nun, wie man Counter noch einsetzten kann. Zum Beispiel bei einem garnisonsscript:
Code
Alles anzeigendeclare_counter rom_belagert monitor_conditions not I_SettlementUnderSiege Rome set_counter rom_belagert 0 end_monitor monitor_conditions I_SettlementUnderSiege Rome and I_CompareCounter rom_belagert = 0 if I_SettlementOwner Rome = hre create_unit Rome, Town Militia, num 2, exp 0, arm 1, wep 0 set_counter rom_belagert 1 end_monitor
Hier benötigen wir einen Counter, damit nicht die ganze zeit Truppen gespawnt werden.
Hiermit:
Wird der Counter, immer wenn Rom nicht belagert ist auf 0 gesetzt.
Wird Rom dann belagert und der Counter ist auf 0, d.h. Rom war vorher nicht belagert, spawnen die Truppen:Codemonitor_conditions I_SettlementUnderSiege Rome and I_CompareCounter rom_belagert = 0 if I_SettlementOwner Rome = hre create_unit Rome, Town Militia, num 2, exp 0, arm 1, wep 0 set_counter rom_belagert 1 end_monitor
ich hoffe ihr habt in ungefähr verstanden wofür die Counter alles zu gebrauchen sind. Es gibt mit Sicherheit andere/bessere Wege. ich habe hier die mir bekannten Wege gezeigt.
:wave:
-
Zitat
Das Purpur ist also nur eine Modeerscheinung und hat historisch keinen Hintergrund, bis auf die Senatoren, mit ihren purpurnenen Tunikas. Die Farbe war halt damals die Teuerste.
ja,das haben auch meine Recherchen ergeben.
Rot mit goldenem XP ist das historisch korrekteste.
Ist auch so im Spiel verbaut -
Sehr schön
Ich hab ja sehr viel geredet -
Danke für die Glückwünsche
-
-
Blood&Dirt
Blood&Dirt ist eine kleine Mini Mod, welche realistischere Blut und Schmutz Dateien erstellt.
Um Blood&Dirt zu installieren entpackt ihr Blood&Dirt.rar und kopiert den enthaltenen Ordner overlaytextures in den data Ordner. (Backup des Ordners erstellen!)
weissnicht's Blood&Dirt
Ein paar Impressionen::wave:
-
cr7390 und ImperatorBob alles gute
-
Außerdem bin ich immer noch für meine Theorie: Die besten Modder sind deutsche!
King Kong
repman
Dimitri_Harkov
konny
Rheumafuzzy
Adorno
gigantusum nur einige der ganz Großen zu nennen.
Natürlich gibt es im twc noch viele super andere Modder, doch das kann man denke ich wirklich mit der höheren Mitgliedszahl erklären. -
Zitat
Nur wenn man kein englisch kann wird es etwas schwer, denn deutsche Tutorials gibt es erheblich weniger.
Deswegen versuchen ja ich und andere die deutsche Sammlung aufzustocken