Irgendwie stehe ich gerade auf dem Schlauch. Ich habe eine Sondergebäude erstellt, das zus. Unzufriedenheit und Verwaltungskosten verursachen soll, wenn ein Reich besonders groß wird (ab Stadtanzahl > Grenzwert).
Den Code hier unten habe ich bei onCityBuilt und OnCityAcquiredAndKept eingebaut:
PHP-Code:
###ineffizient beginn###
iGrenzwert = 16
if pPlayer.hasTrait(gc.getInfoTypeForString("TRAIT_ORGANIZED")):
iGrenzwert = 24
if pPlayer.getNumCities > iGrenzwert :
(loopCity, iter) = pPlayer.firstCity(True)
while(loopCity):
loopCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_INEFFIZIENZ"),1)
(loopCity, iter) = pPlayer.nextCity(iter, false)
iPlayer = pPlayer.getID()
iX = city.getX()
iY = city.getY()
CyInterface().addMessage(iPlayer,false,15,CyTranslator().getText("TXT_KEY_MESSAGE_INEFFIZIENZ",()),'',0,'Art/Interface/Buttons/General/happy_person.dds',ColorTypes(44), iX, iY, True,True)
###ineffizient ende###
Jetzt sehe ich nicht, was ich falsch gemacht habe, aber obwohl die If-Bedingung nicht erfüllt ist (nämlich pPlayer.getNumCities =1) wird bereits bei der Gründung der ersten Stadt im Test das Dummy-Gebäude überall gesetzt. Kann mir jemand erklären, warum?
Edit: Hat sich erledigt. Es muss pPlayer.getNumCities() sein.