Ich mach's mal am Beispiel meiner Mod Revolution Enhanced vor:
Man kopiere einfach eine modulare Einheit einer anderen Mod. Dabei muss unterschieden werden zwischen:
Unique Unit (UU) und allgemeiner Einheit (jeder darf sie bauen).
Für allgemeine Einheiten machst du folgendes:
...\Mods\*Mod-Name*\Assets\Modules\Custom Units\LCR
wobei LCR der Ordner deiner neuen Einheit darstellt (in meinem Fall die LCR-Infanterie).
Dort müssen folgende Dateien vorhanden sein:
* Einheitengrafiken (Skin, Model & Animation) - immer enthalten wenn man sich neue Einheiten herunterläd
* XML-Dateien:
LCR_Civ4ArtDefines_Unit.xml
LCR_CIV4ArtDefinesSchema.xml
LCR_CIV4GameText.xml
LCR_CIV4UnitInfos.xml
LCR_CIV4UnitSchema.xml
In der ArtDefines_Unit werden sämtliche Grafiken definiert. Ist eine bestimmte Dateiendung nicht in deinem Download enthalten, wird die Originaldatei von Civ IV verwendet. Allerdings musst du das entsprechend definieren, das ist für Civ IV nicht selbstverständlich. Wenn beispielsweise keine .nif Datei enthalten ist, musst du mal in die große Original- Civ4ArtDefines_Unit.xml Datei schauen, nach einer vergleichbaren Einheit suchen und die dortigen Einträge für deine neue Einheit übernehmen. So wird auch mit dem Rest verfahren. Wer dem Englischen mächtig ist, wird schon verstehen, was sonst so mit den Sachen in der ArtDefines_Unit gemeint ist.
In der ArtDefinesSchema muss gar nichts geändert werden. Genau wie in der CIV4UnitSchema.
Die GameText Datei erklärt sich von selbst, wenn man sie öffnet.
In der UnitInfo Datei muss auch jeweils der Name ersetzt werden - und zwar wie bei allen Dateien überall - weiter unten in der Datei werden die Grafiken definiert. Das wird oft übersehen. Am besten immer die Suche-Funktion benutzen vom Texteditor oder Word oder vergleichbares.
WICHTIG: Ist die neue Einheit eine neue Einheitenklasse (also keine Spezialeinheit für eine Nation), muss man sie in der CIV4UnitClassInfos.xml eintragen - so auch bei dieser LCR-Infanterie.
Das gute ist: Wenn Civ IV mit einer Fehlermeldung startet, weißt du sofort, wo der Fehler ist. Dann am besten Affengriff anwenden und Civ IV beenden, sonst läd Civ IV trotz Fehler weiter.
Konkretes Vorgehen für meine LCR-Infanterie:
1. Ich habe die neue Einheitenklasse in CIV4UnitClassInfos.xml eingetragen:
2. Ich habe einen neuen Ordner in Modules erstellt (im Unterordner Custom Units für mehr Übersicht)PHP-Code:
<UnitClassInfo>
<Type>UNITCLASS_LCR_INFANTRY</Type>
<Description>TXT_KEY_UNIT_LCR_INFANTRY</Description>
<iMaxGlobalInstances>-1</iMaxGlobalInstances>
<iMaxTeamInstances>-1</iMaxTeamInstances>
<iMaxPlayerInstances>-1</iMaxPlayerInstances>
<iInstanceCostModifier>0</iInstanceCostModifier>
<DefaultUnit>UNIT_LCR_INFANTRY</DefaultUnit>
</UnitClassInfo>
3. Ich habe alle Grafiken meines Downloads dort reinkopiert
4. Ich habe aus m(einer) Mod die XML Dateien einer anderen - vergleichbaren - Einheit dort reinkopiert
5. Ich habe sämtliche Namensanfänge dieser XML Dateien umbenannt (zu LCR)
6. Ich habe die Grafiken definiert
7. Ich habe in jeder Datei die Namen (und Texte) entsprechend geändert
8. Ich habe die UnitInfos zu meinen Wünschen geändert
9. Ich habe bei anderen Einheiten die Upgrades geändert (in meinem Fall: SAM und Panzerabwehr sollten zu LCR upgegraded werden können)
10. Fertig. Ich habe CIV IV gestartet.
11. Bei Startfehlern oder unsichtbaren Einheiten in der Zivilopädie bist in 100% der Fälle du selbst schuld.
12. Bei Abstürzen innerhalb des Spielens mit deiner neuen Einheit ist zu 99% das Model schuld. Stürzt dein Spiel ab wenn du z.B. auf deine neue Einheit klickst, kannste das Model löschen und solltest dir ein neues suchen. Ich konnte beispielsweise nicht den Desert Crawler (eine UU für Mech Infanterie) einbauen. Abgestürzt ist das Spiel sobald ich den Desert Crawler selected hab.
Kleiner Tipp: Angenommen du willst Einheit "blablub" kopieren und aus den Dateien die Einheit "hahafufu" machen. Dann solltest du, wenn du fertig bist, mit der Windows Suche ("im Text enthalten") nach "blablub" in deinen geänderten Dateien suchen und falls nötig durch den neuen Namen ersetzen.