001 Tutorial - Neue Gebäude

  • 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.

  • Es funktionieren nur 3-D-Modelle, die mit den RAD-Tools erstellt wurden, also die aus 1701 und 1401. Kannst ja mal probieren, Modelle aus 2070 zu nehmen. Wär eigentlich lustig, wenn das gehen würde.
    Wenn du die Modelle und die Tetxuren vergleichst, wird dir auch auffallen, dass die von Version zu Version größer werden, deswegen sind nun auch die Texturen der Venedig-Adeligen-Häuser höher aufgelöst als die von den Patrizier-Häusern. Man kann die Texturen überhaupt nur ändern, weil die von den Modellen getrennt sind. Das ist bei anderen Spielen anders gelöst, je nach Engine und Modelling-Programm.

  • Die kann man nicht bearbeiten und nein, Freeware ist mir nicht bekannt. Wenn ihr aber noch fleissig spendet, kaufen wir uns drei Lizenzen und bauen euch, was ihr wollt. ^^

  • Das geht alles über Config-Einstellungen und Alphakanal. So auch der Markusturm oder die Basilika. Letztere ist ein gutes Beispiel dafür.


    Alle neuen Prunkgebäude sind aus anderen Einzelteilen zusammen gewürfelt wie in aus einer großen Legokiste.

  • in der guid.txt mus du das natürlich auch eintragen oder der tooltip stimmt nicht ganz.


    Ist alles in der guids.txt (maindata\patch2.rda\data\loca\ger\txt\guids.txt) drin. Die Tooltips habe ich von den normalen Gebäuden übernommen. Und die werden auch angezeigt. - Warum funktioniert die Anzeige des GUID-Namens im Spiel noch immer nicht?


    Eine neue GUID habe ich in die guids.xml (maindata\patch2.rda\data\config\texteditor\guids.xml) eingetragen. Und siehe da, im T1 wird dann der GUID-Name angezeigt.

  • ich gehe in der beschreibung vom orginalen anno aus, da gibts keine guid.txt in der patch2. das da ein schreibfehler von mir. die guid.xml ist total egal fürs spiel selbst. bitte ändere die guids.txt in der patch1.rda