eines vorweg, der titel neue gebäude ist eigendlich falsch. neue gebäude sind in dem sinne nicht möglich, durch das 3d format.
man kann nur mitgelieferte modelle benutzen.
in diesem und auch folgende tutorials setze ich eine gewisse eigeninitiative vorraus.
das heist, auch mal selbst schauen und denken.
ich geh beim beschreiben mal von eine königs-edition aus.
diese tools werden benötigt:
rda-explorer zum entpacken der dateien
notepad++ zum bearbeiten der dateien
granny_viewer.zip zum ansehen der 3d modelle
und später auch mal ein grafikprogramm....da gibts eine menge, jeder sollte das nutzen mit dem er am besten klar kommt. auf jeden fall sollten alle tools dds-dateien bearbeiten können.
ein kostenloses programm was das kann ist paint.net
es gibt auch was für photoshop
los gehts:
als erstes erstellen wir eine kopie von 1404. somit haben wir eine sicherung falls was scheif geht.
im ordner maindata und addon erstellen wir ordner die wir bezeichen wie die darin enthaltenen rda-dateien.
dann entpacken wir diese in den jeweiligen ordnern.
warum alle? weil nicht in jeder rda das selbe drin ist.
die exe dateien greifen grundsätzlich auf die aktuellste rda zu.
beispiel: startet man das spiel sucht die exe nach der datei-xyz in der patch2.rda ist die nicht darin schaut sie in der patch1.rda usw.
grundsätzlich kann man jede datei in die aktuellste rda packen wobei man mit der patch2.rda aufpassen muss.
aus welchen gründen auhc immer gehts dort nicht mit jeder datei.
das heist alle änderungen müssen dann in den rda's/dateien der rda's vorgenommen werden: maindata/patch1.rda, maindata/patch2.rda und addon/patch0.rda.
das mal so vorweg.
nach dem auspacken, schaut euch ruhig mal jeden ordner und dessen inhalt an, einfach um ein überblich zu bekommen.
als bespiel für ein neues gebäude nehmen wir das lagerhaus von lord northburg.
wir werden es uns als landlagerhaus zu nutze machen.
nun brauchen wir die richtigen dateien bzw pfadangeben. da gibt es zwei wege die zu finden. wildes suchen oder systematisch.
wir nehmen lezteres.
wir öffenen die datei maindata/patch1/data/loca/ger/txt/guids.txt. wie ich finde die wichtigste datei. darin stehen nicht nur die namen der gebäude sondern auch dessen id's.
mit id's wird eigendlich so gut wie alles angesteuert.
wie finden wir jetzt das was wir suchen. entweder blättern wir die ganze datei durch oder suchen nach stichworte.
z.b. harbour, hafen oder okzident.
ich nehm das wort harbour zum suchen, was mich dann zur id 5804.
nun öffnen wird die datei addon/patch0/addondata/config/game/assets.xml.
in dieser datei suchen wir nach der id aus der guids.txt
knapp darüber sehen wir zwei pfadangeben. diese suchen wir uns nun raus.
im ordner gr befinden sich die 3d modelle.
die können wir mit dem granny viewer öffen und sehen die modelle ohne textur spiegelverkehrt.
jetzt wissen wir das das occident_harbour_building02 das ist was wir suchen.
das andere können wir ja schon als hafengebäude bauen.
jetzt zurück zur guids.txt, wir brauchen die id des orginalen lagerhauses.
mit der id des großen lagerhauses suchen wir uns die richtigen daten in der assets.xml.
jetzt wird dieser gesammte breich kopiert:
<Asset>
<Template>Warehouse</Template>
<Values>
<Blocking>
<BlockingRules>OverHabourBuilding</BlockingRules>
<CreateWalkingUnitHeights>1</CreateWalkingUnitHeights>
<PathblockingPrio>1</PathblockingPrio>
<WalkingUnitHeightOffset>204</WalkingUnitHeightOffset>
</Blocking>
<BoidSpawner>
<BoidCount>0</BoidCount>
<BoidAreaSize>0</BoidAreaSize>
</BoidSpawner>
<BuildCost>
<MoneyCost>2000</MoneyCost>
<ProductCost>
<Tools>4000</Tools>
<Stone>4000</Stone>
<Glass>4000</Glass>
</ProductCost>
<NeedsIntermediatelevel>IntermediateHarbourNomblemen</NeedsIntermediatelevel>
<ToolTipAddGUID>39501</ToolTipAddGUID>
<ToolTipAddCount>6</ToolTipAddCount>
</BuildCost>
<Building>
<BuildingLevel>Nobleman</BuildingLevel>
<BuildingType>StoreHouse</BuildingType>
<BuildSound>2212</BuildSound>
</Building>
<ContextMenu />
<Danger />
<FeedbackEventEmitter />
<Hitpoints>
<MaxHitpoints>2000</MaxHitpoints>
</Hitpoints>
<Influence>
<InfluenceRadius>0</InfluenceRadius>
<InfluenceRadiusType />
<InfluenceRadiusTypeNeeded>Harbour</InfluenceRadiusTypeNeeded>
</Influence>
<InfoLayer />
<ItemContainer />
<KIModule>
<ModuleCall />
</KIModule>
<MaintenanceCost>
<ActiveCost>30</ActiveCost>
<InactiveCost>30</InactiveCost>
</MaintenanceCost>
<Mesh>
<Ambient>4032</Ambient>
<AudioFeedback>5000628</AudioFeedback>
</Mesh>
<Object>
<ObjectPosition>Harbour</ObjectPosition>
<Variations>
<Item>
<Filename>data\graphics\buildings\public\north\footbridge_system\n_storehouse02.cfg</Filename>
</Item>
</Variations>
<BaseHarbourSize>2</BaseHarbourSize>
<BuildWithStoneBase>1</BuildWithStoneBase>
</Object>
<Selection>
<GUIType>Storehouse</GUIType>
</Selection>
<Standard>
<Name>StoreHouseLarge</Name>
<GUID>39020</GUID>
<Versions>Anno1404;Beta01;Beta02;Demo01;Demo02;Addon01;Addon02;BETA_TEXTURE_NONE</Versions>
</Standard>
<TradingPrice />
<Upgradable />
<Warehouse>
<Capacity>30</Capacity>
</Warehouse>
</Values>
</Asset>
von asset zu asset, das ist immer ein gebäude. und fügen es zwischen zwei assets ein.
nun ändern wir einige werte. die pfadangebe zum gebäude, freischaltung, baumaterial, lagerkapazität, unterhaltskosten einflussbereich und hitpoints.
das schaut dann so aus:
<Asset>
<Template>Warehouse</Template>
<Values>
<Blocking />
<BoidSpawner />
<BuildCost>
<MoneyCost>1000</MoneyCost>
<ProductCost>
<Tools>6000</Tools>
<Wood>4000</Wood>
</ProductCost>
<NeedsIntermediatelevel>IntermediatePeasant</NeedsIntermediatelevel>
</BuildCost>
<Building>
<BuildingLevel>Peasant</BuildingLevel>
<BuildingType>StoreHouse</BuildingType>
<BuildSound>2212</BuildSound>
</Building>
<ContextMenu />
<Danger />
<FeedbackEventEmitter />
<Hitpoints>
<MaxHitpoints>1500</MaxHitpoints>
</Hitpoints>
<Influence>
<InfluenceRadius>0</InfluenceRadius>
<InfluenceRadiusType />
<InfluenceRadiusTypeNeeded>Production</InfluenceRadiusTypeNeeded>
</Influence>
<InfoLayer />
<ItemContainer />
<KIModule>
<ModuleCall />
</KIModule>
<MaintenanceCost>
<ActiveCost>25</ActiveCost>
<InactiveCost>25</InactiveCost>
</MaintenanceCost>
<Mesh>
<Ambient>4032</Ambient>
<AudioFeedback>5000628</AudioFeedback>
</Mesh>
<Object>
<Variations>
<Item>
<Filename>data\graphics\buildings\native\north\occident_harbour_building02\n_occident_harbour_building02.cfg</Filename>
</Item>
</Variations>
</Object>
<Selection>
<GUIType>Storehouse</GUIType>
</Selection>
<Standard>
<Name>StoreHouseLarge</Name>
<GUID>39020</GUID>
<Versions>Anno1404;Beta01;Beta02;Demo01;Demo02;Addon01;Addon02;BETA_TEXTURE_NONE</Versions>
</Standard>
<TradingPrice />
<Upgradable />
<Warehouse>
<Capacity>50</Capacity>
</Warehouse>
</Values>
</Asset>
alles was ich gelsöcht habe war notwendig damit das ding im hafen gebaut werden kann.
da wir hier aber ein landgebäude wollen....
so nun muss das noch ins baumenü. somit sind wir wieder bei den id's.
wir brauchen unsere eigene, zwei identische können nicht angesteuert werden.
zurück in der guids.txt vergeben wir nun eine die esdort nicht gibt.
ich nehm die 80000, die gibts auf jeden fall nicht.
also steht bei mir in der guids.txt nun: 80000=Lagerhaus
in der assets.xml muss ich das nun auch ändern an unserem gebäude.
nun öffen wir die addon/patch0/addondata/config/game/properties.xml. darin befindet sich das baumenü.
und wie finden wir das in diesem gewirr...na wieder über die id's.
suchen wir nach einer die darin unbedingt vorkommen muss.
nehmen wir das forsthaus.
suchen wir in der guids.txt nach forsthaus, da nehmen wir die id und suchen in der properties.xml danach.
scrollen wir in der datei nur ein wenig hoch, sehen wir den text <BuildingConstructionSettings>.
von da an abwärst ist das okzident baumenü, direkt darunter das für den orient startend mit <FactionBuildingConstructionSettings>
zurück zum forsthaus. wie man sieht stehen da diverse id's. schaut ruhig in der guids nach was das für gebäude sind.
wir kopieren uns nun den abschnitt:
<Item>
<BuildingGUID>35100</BuildingGUID>
<BuildButtonTooltip>125018</BuildButtonTooltip>
</Item>
und fügen ihn direkt darunter wieder ein, änder die guid zu unserer:
<Item>
<BuildingGUID>80000</BuildingGUID>
<BuildButtonTooltip>125018</BuildButtonTooltip>
</Item>
theoretisch könnte man das gebäude jetzt schon bauen aber es gibt kein icon und wir haben auch kein richtigen tooltip.
kümmern wir uns zuerst ums icon...das geht schnell.
öffnen wir die datei addon/patch0/addondata/config/game/icon.xml.
suchen darin nach der id vom großen lagerhaus.
wir kopieren den text:
<i>
<GUID>39020</GUID>
<Icons>
<i>
<IconFileID>116</IconFileID>
<IconIndex>120</IconIndex>
</i>
</Icons>
</i>
und fügen genau darunter wieder ein und änderrn gleich die id:
<i>
<GUID>80000</GUID>
<Icons>
<i>
<IconFileID>116</IconFileID>
<IconIndex>120</IconIndex>
</i>
</Icons>
</i>
jetzt haben wir im baumenü auch ein bildchen für den button des gebäudes.
bleibt der tooltip...
auch der wird über eine id angesteuert. da es kein ähnliches gebäude gibt müssen wir einen eigenen tooltip erstellen.
zuerst öffnen wir drei dateien:
maindata/patch2/data/loca/ger/txt/tt_normal.txt tooltip datei wenns gebäude freigeschalten ist
maindata/patch2/data/loca/ger/txt/tt_pressed.txt tooltip datei wenn der gebäudebutton gedrückt ist
maindata/patch2/data/loca/ger/txt/tt_disabled.txt tooltip datei wenns gebäude noch nicht freigeschalten ist
im baumenü in der properties.xml steht unter der gebäude-id die id für den tooltip. suchen wir in der tt_normal.txt mal danach.
wir finden auch was, nur ist die id da größer. da stehen noch zwei zahlen davor.
das
ist auch gut so. die zahl davor brauch das spiel. sonst weiß es nciht
welcher tooltip in welcher situation angezeigt werden muss.
kopieren wir nun die zeile und fügen sie ganz unten wieder ein und ändern sie nun unseren wünschen entsprechend.
die id nicht vergessen auch hier brauchen wir eine die es nicht schon gibt.
10125018=[TTTTOOLTIP_TITLED][TTT TOOLTIP_TITLED_HEADER][AUTOSIZE_ICONGUID] [GUIDNAME][TTT TOOLTIP_TITLED_BODY]
[BUILDING_COSTS][CR] [CR]Erweitert den Baubereich für Produktionsstätten.[CR]Entsendet einen Marktkarren zur Warenabholung.
10400000=[TTT TOOLTIP_TITLED][TTT TOOLTIP_TITLED_HEADER][AUTOSIZE_ICONGUID] [GUIDNAME][TTT TOOLTIP_TITLED_BODY][BUILDING_COSTS][CR] [CR]Erweitert die Lagerkapazität auf der Insel um 50 Tonnen.
das selbe machen wir nun auch passend in der tt_disabled.txt und der tt_pressed.txt
nun ändern wir nurnoch die id im baumenü in der properties.xml
<Item>
<BuildingGUID>80000</BuildingGUID>
<BuildButtonTooltip>125018</BuildButtonTooltip>
</Item>
<Item>
<BuildingGUID>80000</BuildingGUID>
<BuildButtonTooltip>400000</BuildButtonTooltip>
</Item>
wenn
wir jetzt wieder alles in die richtigen rda-dateien packen und ein
neues spiel starten, sollten wir im baumenü ein neuen butten haben der
noch deaktiviert ist.
er sollte ein icon haben und auch anzeigen was benötigt wird um ihnfrei zu schalten.
das sollte in dem falle ein bauer sein.
wenn
dann nun ein haus gesetzt ist sollte der button frei sein, der tooltip
mit den nötigen baumaterialen angezeigt werden und es sollte euch
möglcih sein das gebäude zu setzen.
wenn das nicht der fall ist habt ihr was falsch gemacht :grins
einfach üben, ich hoffe es ist verständlich erklärt. viel spass beim basteln.