- Forum
- Modding // Modifikation
- Modding Hearts of Iron
- Modding Hearts of Iron 3
- dernachtwolf Ecke
- Tutorial: Technologie-Modding
Tutorial: Technologie-Modding
9 Jahre 6 Monate her #981299
von dernachtwolf
Weil die Frage kam, möchte ich hier kurz zusammenfassen, wie man neue Technologien einarbeiten kann bzw. wie der Aufbau ist.
Zunächst einmal sollte überlegt werden, ob man mit den bestehenden Technologiekategorien arbeiten oder eine neue Kategorie anlegen möchte. Für jede Kategorie gibt es im Verzeichnis "...\technologies\" eine *.txt-Datei, in der die verschiedenen Technologien einzutragen sind. Beispiel:
Die einzelnen Zeilen sind im Grunde selbsterklärend. Der letzte Eintrag "folder = infantry_folder" ordnet diese Technologie der Kategorie Infanterie zu. Zwischen dem ersten "start_year" und dem darauf folgenden "first_year" können wohl beliebig viele Jahre angegeben werden. Die nachfolgenden Technologiestufen folgen allerdings in festen Intervallen (mit "additional_offset = 2" hier also alle zwei Jahre).
Sonstige bedeutsame Befehle:
wenn einige Technologien bereits bekannt sein müssen, um die angestrebte Forschung beginnen zu können:
oder auch wenn es etwa um die Erforschung von Marinetechnologien geht (die sich Länder ohne Hafen sparen können):
oder zur Aktivierung von Einheiten oder Gebäuden:
zur Änderung von Einheitenwerten:
Wahlweise kann auch ein Foto als "...\gfx\pictures\tech\Technologiename.tga" (344 x 266) hinterlegt werden.
Sofern Ihr eine neue Technologekategorie erstellen wollt, wird noch ein Hintergrundbild und ein Kategorieicon benötigt, die im Ordner "...\gfx\interface\" als "bg_tech_Technologiekategoriename.dds" bzw. "tech_button_Technologiekategoriename.dds" zu speichern sind.
Zum Schluss gilt es, die Grafiken und Technologien ins Spiel einzubinden. Dazu werden zunächst mit einem Texteditor die Grafik-Fundorte in die "...\interface\country_technology.gfx" eingetragen:
spriteType = {
name = "GFX_bg_tech_Technologiekategoriename"
texturefile = "gfx\\interface\\bg_tech_Technologiekategoriename.dds"
loadType = "INGAME"
norefcount = yes
}
spriteType = {
name = "GFX_tech_button_Technologiekategoriename"
texturefile = "gfx\\interface\\tech_button_Technologiekategoriename.dds"
noOfFrames = 2
loadType = "INGAME"
norefcount = yes
}
Anschließend erfolgt die Positionierung der Grafiken und ihrer Beschriftungen in der "...\interface\country_technology.gui". Das erfordert bzgl. der Koordinaten etwas Fingerspitzengefühl und vermutlich wiederholtes Experimentieren.
Für jede neue Technologiekategorie (bestehende sind evtl. anzupassen):
iconType = {
name ="bg_tech_Technologiekategoriename_folder"
spriteType = "GFX_bg_tech_Technologiekategoriename"
position = { x= 302 y = 97 }
Orientation = "UPPER_LEFT"
}
guiButtonType = {
name = "techtree_Technologiekategoriename_folder"
position = { x= ... y = ...}
quadTextureSprite ="GFX_tech_button_Technologiekategoriename"
}
textBoxType = {
name = "Technologiekategoriename_text"
position = { x = ... y = ... }
textureFile = ""
font = "Arial12_alpha"
borderSize = {x = 0 y = 4}
text = "TECH_Technologiekategoriename" # Verknüpfung zur "...\localisation\technology.csv"
maxWidth = 64
maxHeight = 64
format = centre
}
Für jede neue Technologie:
positionType = {
name = "Technologiename_position"
position = { x = ... y = ... }
}
Als letztes sind die Technologien und Kategorien in der "...\localisation\technologies.csv" zu beschriften.
die Kategorienamen:
Technologiekategoriename_folder;englisch;französisch;deutsch; | nicht ganz sicher: Tooltip?
TECH_Technologiekategoriename;englisch;französisch;deutsch; | Kategoriename auf den Reitern oben im Technologiefenster
die Technologien:
Technologiename;englisch;französisch;deutsch; | Technologiename
Technologiename_desc;englisch;französisch;deutsch; | kurze Technologiebeschreibung
Ich hoffe, ich habe nichts wichtiges vergessen. Ganz besonders intensiv mit Technologien haben sich CawK und Chromos hier im Forum beschäftigt und können sicher bei Problemen auch weietrhelfen.
Zunächst einmal sollte überlegt werden, ob man mit den bestehenden Technologiekategorien arbeiten oder eine neue Kategorie anlegen möchte. Für jede Kategorie gibt es im Verzeichnis "...\technologies\" eine *.txt-Datei, in der die verschiedenen Technologien einzutragen sind. Beispiel:
cavalry_smallarms = {
# Effekte für einzelne Einheiten
cavalry_brigade = {
soft_attack = 0.5
}
# Voraussetzungen (etwa andere Technologien, bestimmte Gebäude); hier: keine
allow = {
}
# welche Theorien sich positiv auf die Forschungsgeschwindigkeit auswirken
research_bonus_from = {
mobile_theory = 0.3
mobile_practical = 0.6
human_wave_theory = 0.1
}
# Auswirkung auf die Theorie bei Forschungsabschluss
on_completion = mobile_theory
# Schwierigkeit/Anspruch der Technologie; höhere Werte reduzieren die Forschungsgeschwindigkeit
difficulty = 1
# erstes Jahr, indem die Forschung aktuell sein soll
start_year = 1918
# Jahr der zweiten Forschung (optional)
first_offset = 1934
# fortgehendes Forschungsintervall (optional); hier: alle zwei Jahre
additional_offset = 2
# Forschungskategorie; hier: Infanterie
folder = infantry_folder
}
Die einzelnen Zeilen sind im Grunde selbsterklärend. Der letzte Eintrag "folder = infantry_folder" ordnet diese Technologie der Kategorie Infanterie zu. Zwischen dem ersten "start_year" und dem darauf folgenden "first_year" können wohl beliebig viele Jahre angegeben werden. Die nachfolgenden Technologiestufen folgen allerdings in festen Intervallen (mit "additional_offset = 2" hier also alle zwei Jahre).
Sonstige bedeutsame Befehle:
wenn einige Technologien bereits bekannt sein müssen, um die angestrebte Forschung beginnen zu können:
allow = {
Technologievoraussetzung 1
...
Technologievoraussetzung n
}
oder auch wenn es etwa um die Erforschung von Marinetechnologien geht (die sich Länder ohne Hafen sparen können):
allow = {
number_of_ports = ...
}
oder zur Aktivierung von Einheiten oder Gebäuden:
activate_unit = ...
activate_building = ...
zur Änderung von Einheitenwerten:
Einheiten-ID (z.B. "cavalry_brigade") = {
Effekt 1 (z.B.: "soft_attack = 0.5"
...
Effekt n
}
Wahlweise kann auch ein Foto als "...\gfx\pictures\tech\Technologiename.tga" (344 x 266) hinterlegt werden.
Sofern Ihr eine neue Technologekategorie erstellen wollt, wird noch ein Hintergrundbild und ein Kategorieicon benötigt, die im Ordner "...\gfx\interface\" als "bg_tech_Technologiekategoriename.dds" bzw. "tech_button_Technologiekategoriename.dds" zu speichern sind.
Zum Schluss gilt es, die Grafiken und Technologien ins Spiel einzubinden. Dazu werden zunächst mit einem Texteditor die Grafik-Fundorte in die "...\interface\country_technology.gfx" eingetragen:
spriteType = {
name = "GFX_bg_tech_Technologiekategoriename"
texturefile = "gfx\\interface\\bg_tech_Technologiekategoriename.dds"
loadType = "INGAME"
norefcount = yes
}
spriteType = {
name = "GFX_tech_button_Technologiekategoriename"
texturefile = "gfx\\interface\\tech_button_Technologiekategoriename.dds"
noOfFrames = 2
loadType = "INGAME"
norefcount = yes
}
Anschließend erfolgt die Positionierung der Grafiken und ihrer Beschriftungen in der "...\interface\country_technology.gui". Das erfordert bzgl. der Koordinaten etwas Fingerspitzengefühl und vermutlich wiederholtes Experimentieren.
Für jede neue Technologiekategorie (bestehende sind evtl. anzupassen):
iconType = {
name ="bg_tech_Technologiekategoriename_folder"
spriteType = "GFX_bg_tech_Technologiekategoriename"
position = { x= 302 y = 97 }
Orientation = "UPPER_LEFT"
}
guiButtonType = {
name = "techtree_Technologiekategoriename_folder"
position = { x= ... y = ...}
quadTextureSprite ="GFX_tech_button_Technologiekategoriename"
}
textBoxType = {
name = "Technologiekategoriename_text"
position = { x = ... y = ... }
textureFile = ""
font = "Arial12_alpha"
borderSize = {x = 0 y = 4}
text = "TECH_Technologiekategoriename" # Verknüpfung zur "...\localisation\technology.csv"
maxWidth = 64
maxHeight = 64
format = centre
}
Für jede neue Technologie:
positionType = {
name = "Technologiename_position"
position = { x = ... y = ... }
}
Als letztes sind die Technologien und Kategorien in der "...\localisation\technologies.csv" zu beschriften.
die Kategorienamen:
Technologiekategoriename_folder;englisch;französisch;deutsch; | nicht ganz sicher: Tooltip?
TECH_Technologiekategoriename;englisch;französisch;deutsch; | Kategoriename auf den Reitern oben im Technologiefenster
die Technologien:
Technologiename;englisch;französisch;deutsch; | Technologiename
Technologiename_desc;englisch;französisch;deutsch; | kurze Technologiebeschreibung
Ich hoffe, ich habe nichts wichtiges vergessen. Ganz besonders intensiv mit Technologien haben sich CawK und Chromos hier im Forum beschäftigt und können sicher bei Problemen auch weietrhelfen.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
9 Jahre 6 Monate her #981771
von Tobi10161993
Muss man wenn man einen Technologieordner löscht (In meinem Fall den Theory-Ordner) die Technologien alle löschen?
ALso, ich hab einfach alles von Theory gelöscht, auch die normale Textdatei.
Nun stürzt der bei mir beim laden ab, wenn der die Geschichtsdateien (oder so ähnlich) lädt, bedeutet das, dass
ich bei den Nationen die Starttechnologien vom Theory-Abschnitt auch löschen muss???
Das würde nen Haufen Arbeit werden...
ALso, ich hab einfach alles von Theory gelöscht, auch die normale Textdatei.
Nun stürzt der bei mir beim laden ab, wenn der die Geschichtsdateien (oder so ähnlich) lädt, bedeutet das, dass
ich bei den Nationen die Starttechnologien vom Theory-Abschnitt auch löschen muss???
Das würde nen Haufen Arbeit werden...
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Werbung
Moderatoren: Anduril, Magic1111