Auf besonderen Wunsch eines einzelnen Herrn veröffentliche ich heute dieses Tut. Es beschäftigt sich vor allem mit Gebäudebedüfnissen.
Die Icons sind im Anhang.
- Schritt: Assets.xml unter config\game öffnen (Wichtig: wer mit Addon spielt muss die Dateien unter addon\patch0.rda bearbeiten, wer ohne spielt unter maindata\patch2.rda modden)
-
Schritt: In den Assets folgende Dateien unter objects\player buildings\public kopieren und in eine Zwischenablage einfügen (nur die GUIDs sind angegeben):
-34000
-35336 - Schritt: 34000 : Marktplatz 3x & 35336 : Basar 1x kopieren.
-
Schritt: Nun bei den Marktplätzen folgende Änderungen vornehmen:
-Ganz unten, kurz vor Ende des Assets kann man die GUID festlegen. Für jeden der Marktplätze eine unterschiedliche GUID anlegen. (mein pers. System ist es, einfach GUID- Nummern über 200.000.000 zu nehmen, da kommt man auf keinen Fall irgendwo dazwischen, am besten die GUID notieren bzw. in der guids.txt eintragen)
-Dann kann man folgende Änderungen vornehmen:
-Marktplatz:
<Asset>
<Template>PublicBuilding</Template>
<Values>
<Blocking />
<BuildCost>
<MoneyCost>400</MoneyCost>Geldkosten
<ProductCost>Baukosten
<Wood>5000</Wood>
<Tools>3000</Tools>
</ProductCost>
<NeedsIntermediateLevel>Peasantlevel</NeedsIntermediateLevel>Wann ist dieses Gebäude verfügbar
</BuildCost>
<Building>
<BuildingLevel>Peasant</BuildingLevel>Zu welcher Zivilisationsstufe gehört dieses Gebäude
<BuildingType>MarketPlace</BuildingType>
<BuildSound>2847</BuildSound>
<IsWaterSourceForFeedback>1</IsWaterSourceForFeedback>
</Building>
<Danger />
<FeedbackEventEmitter>
<FeedbackList>
<Item>
<Feedback>Marketplace</Feedback>
<EventModule>Event_Marketplace</EventModule>
</Item>
<Item>
<Feedback>Protest</Feedback>
<AutoEmit>1</AutoEmit>
<EmitterModule>Event_Emitter_Protest</EmitterModule>
<EventModule>Resident_Protest</EventModule>
</Item>
<Item>
<Feedback>Talk</Feedback>
<AutoEmit>1</AutoEmit>
<EmitterModule>Event_Talk</EmitterModule>
<EventModule>none</EventModule>
</Item>
<Item>
<Feedback>Romance</Feedback>
<AutoEmit>1</AutoEmit>
<EmitterModule>Event_Romance</EmitterModule>
<EventModule>none</EventModule>
</Item>
<Item>
<Feedback>Fight</Feedback>
<AutoEmit>1</AutoEmit>
<EmitterModule>Event_Fight</EmitterModule>
<EventModule>none</EventModule>
</Item>
</FeedbackList>
</FeedbackEventEmitter>
<Hitpoints />
<Influence>
<InfluenceRadius>20</InfluenceRadius>Einflussradius des Gebäudes
<InfluenceRadiusType>Residence</InfluenceRadiusType>
<InfluenceRadiusTypeNeeded />
</Influence>
<InfoLayer />
<KIModule>
<ModuleCall>Marketplace()</ModuleCall>
</KIModule>
<MaintenanceCost>
<ActiveCost>10</ActiveCost>Unterhaltskosten, beide Werte verändern
<InactiveCost>10</InactiveCost>
</MaintenanceCost>
<Mesh>
<DefaultIdleSequence>stand01</DefaultIdleSequence>
<Ambient>4016</Ambient>
<ShowGlyph>1</ShowGlyph>
</Mesh>
<Object>
<Variations>
<Item>Grafikdatei des Bauernmarktplatzes
<Filename>data\graphics\buildings\public\north\market_place01\n_market_place01.cfg</Filename>
</Item>
<Item>Grafikdatei des Bürgermarktplatzes
<Filename>data\graphics\buildings\public\north\market_place01\n_market_place02.cfg</Filename>
</Item>
<Item>Grafikdatei des Patriziermarktplatzes
<Filename>data\graphics\buildings\public\north\market_place01\n_market_place03.cfg</Filename>
</Item>
<Item>Grafikdatei des Adligenmarktplatzes
<Filename>data\graphics\buildings\public\north\market_place01\n_market_place04.cfg</Filename>
</Item>
</Variations>
<VariationAllowedToBuild>0</VariationAllowedToBuild>
</Object>
<PublicBuilding>
<BuildingDemandEfficiency>
<Beggar_in_hospice>100</Beggar_in_hospice>Zu wie viel Prozent stellt dieses Gebäude Bettler zufrieden
<Ruin_of_peasant>100</Ruin_of_peasant>Zu wie viel Prozent stellt dieses Gebäude Ruinen zufrieden
<Peasant>100</Peasant>Zu wie viel Prozent stellt dieses Gebäude Bauern zufrieden
<Citizen>100</Citizen>Zu wie viel Prozent stellt dieses Gebäude Bürger zufrieden
<Patrician>100</Patrician>Zu wie viel Prozent stellt dieses Gebäude Patrizier zufrieden
<Nobleman>100</Nobleman>Zu wie viel Prozent stellt dieses Gebäude Adlige zufrieden
</BuildingDemandEfficiency>
<BuildingDemandCategories>Company</BuildingDemandCategories>
<BuildingDemandColor>-4009113</BuildingDemandColor>
</PublicBuilding>
<Selection>
<GUIType>MarketPlace</GUIType>
<PortraitForeground>data\config\gui\Backgrounds\Final\character_backgrounds\marketImage.bg2</PortraitForeground>
</Selection>
<Standard>
<Name>Marketplace</Name>Name des Gebäudes
<GUID>34000</GUID>GUID-Nummer des Gebäudes
</Standard>
<TradingPrice />
<Upgradable />
<Warehouse />
</Values>
</Asset>
Zu den Geldkosten muss man wahrscheinlich nichts sagen, zu den Baukosten nur so
viel: Wood = Holz, Tools = Werkzeug, Stone = Steine, Mosaic = Mosaik, Dummy = Stoffe, Silk = Seide. Das ist das was ich gebraucht habe. Bei IntermediateLevel wird es schon interessanter. Dazu muss man wissen wie viele Einwohner welcher Zivilisationsstufe welchem IntermediateLevel zugeordnet sind. Das erfährt man in den Properties.xml (Im selben Ordner wie die Assets.xml). Die Level sind in Zeile 12887-13291, Hier braucht man ein bisschen Englischkenntnisse falls man die Einwohnerzahlen nicht auswendig weiß. (Die meisten IAAM-Level sind bei AmabassadorLevel[XY], fragt mich nicht warum. Wer Mathe kann und noch weiß was ein Kreis ist, der sollte mit der nächsten Größe auch kein Problem haben. Die Zivilisationsstufe gilt (meines Wissens) nur für die Übersicht. Unterhaltskosten, tja, was soll ich sagen, einfach machen ;-). So, nun zu den Grafikdateien: Wer sich SDs Tut mal durchgelesen hat, weiß, dass dort alle Grafikdateien „zusammengepuzzelt“ werden. Alle Grafikdateien bis auf die gewünschte löschen. Die Bedürfniserfüllung macht in so fern Sinn: Wenn ein Bauernmarktplatz Bauern nur zu 50% zufriedenstellt, und man Bauern dann so definiert, dass sie nur bei 100%er Erfüllung aufsteigen können (was dann bei mir der Bürgermarktplatz übernimmt), hat man ein weiteres Aufstiegsbedürfnis. Die Aufsteigebedingungen kann man hier abstimmen: properties.xml\Zeile 13232 CategoryQuotes. Das sieht dann zum Beispiel so aus:
<Peasant>
<Category>
<Food>
<Citysize>
<Small>
<DowngradeQuote>1</DowngradeQuote>
<MinQuote>10</MinQuote>
<UpgradeQuote>55</UpgradeQuote>
</Small>
<ExtraLarge>
<DowngradeQuote>5</DowngradeQuote>
<MinQuote>10</MinQuote>
<UpgradeQuote>95</UpgradeQuote>
</ExtraLarge>
</Citysize>
<Efficiency>25</Efficiency>
</Food>
<Drink>
<Citysize>
<Small>
<DowngradeQuote>1</DowngradeQuote>
<MinQuote>10</MinQuote>
<UpgradeQuote>50</UpgradeQuote>
</Small>
<ExtraLarge>
<DowngradeQuote>5</DowngradeQuote>
<MinQuote>10</MinQuote>
<UpgradeQuote>95</UpgradeQuote>
</ExtraLarge>
</Citysize>
<Efficiency>25</Efficiency>
</Drink>
<Clothes>
<Citysize>
<Small>
<DowngradeQuote>5</DowngradeQuote>
<MinQuote>10</MinQuote>
<UpgradeQuote>50</UpgradeQuote>
</Small>
<ExtraLarge>
<DowngradeQuote>5</DowngradeQuote>
<MinQuote>10</MinQuote>
<UpgradeQuote>95</UpgradeQuote>
</ExtraLarge>
</Citysize>
<Efficiency>25</Efficiency>
</Clothes>
<Property>
<Citysize>
<Small>
<DowngradeQuote>5</DowngradeQuote>
<MinQuote>10</MinQuote>
<UpgradeQuote>50</UpgradeQuote>
</Small>
<ExtraLarge>
<DowngradeQuote>5</DowngradeQuote>
<MinQuote>10</MinQuote>
<UpgradeQuote>95</UpgradeQuote>
</ExtraLarge>
</Citysize>
<Efficiency>25</Efficiency>
</Property>
<Company>
<Citysize>
<Small>
<MinQuote>50</MinQuote>
<UpgradeQuote>100</UpgradeQuote>
</Small>
<ExtraLarge>
<MinQuote>50</MinQuote>
<UpgradeQuote>100</UpgradeQuote>
</ExtraLarge>
</Citysize>
<Efficiency>60</Efficiency>
</Company>
<Faith>
<Citysize>
<Small>
<MinQuote>90</MinQuote>
<UpgradeQuote>95</UpgradeQuote>
</Small>
<ExtraLarge>
<MinQuote>90</MinQuote>
<UpgradeQuote>95</UpgradeQuote>
</ExtraLarge>
</Citysize>
<Efficiency>40</Efficiency>
</Faith>
<Amusement>
<Citysize>
<Small>
<MinQuote>90</MinQuote>
<UpgradeQuote>95</UpgradeQuote>
</Small>
<ExtraLarge>
<MinQuote>90</MinQuote>
<UpgradeQuote>95</UpgradeQuote>
</ExtraLarge>
</Citysize>
<Efficiency>30</Efficiency>
</Amusement>
</Category>
</Peasant>
DowngradeQuote heißt: zu wie viel Prozent ist das Bedürfnis erfüllt, wenn das Gebäude absteigt, Min Quote, wann ist das Bedürfnis ausreichen erfüllt, UpgradeQuote, wann kann das Gebäude absteigen. Wir setzen also bei Company bei MinQuote 50 und bei UpgradeQuote 100. Citysize ist die Größe der Stadt, einigen ist sicherlich schon aufgefallen, dass 10000 Patrizier mehr Bier brauchen um zufrieden zu sein als 100 (und das gilt pro Kopf).
Name und GUID hab´ich schon erklärt. Mit ein bischen Nachdenken lässt sich das dann auch auf einen Basar oder andere öffentliche Gebäude übertragen.
5. Schritt: Vorabhilfe schaffen. Wir suchen in den Properties.xml (ich erklär das der Einfachkeit halber so) nach den GUIDs des Marktplatzes und fügen statt dessen alle von uns erstellten Occidentmarktplätze (Die GUIDs!) ein. Das gleiche mit dem Basar.
6. Schritt: Dafür sorgen dass die Einwohner das Gebäude annehmen. Unter AI\buildings residentbuilding.csl im Abschnitt //Bedürfnis nach Gemeinschaft für jede GUID einmal diese Zeile einfügen:
efficiency += _checkInfluenceBy([Hier Nummer einf.], _CATEGORY_Company)
Zu guter Letzt noch eine Frage von mir: Ich hab´schon versuch bei UpgradeGuid eine ID einzufügen, klappt aber nicht mit dem Ausbau. Was muss ich da machen?