Vielleicht kann ja hier einer weiter helfen.
Geht darum, dass Siedler die eigene Kultur nicht verlassen können.
Änderungen in der GameUtils.py
Inizialisation:
PHP-Code:
self.lUnitsOwnCultureOnly = []
self.lUnitsOwnCultureOnly.append(gc.getInfoTypeForString("UNIT_SETTLER"))
Hauptteil:
PHP-Code:
def unitCannotMoveInto(self,argsList):
ePlayer = argsList[0]
iUnitId = argsList[1]
iPlotX = argsList[2]
iPlotY = argsList[3]
###########################################
# Max Units on a Plot
# Only available when changed in Assets/PythonCallbackDefines.xml
pPlot = CyMap().plot(iPlotX, iPlotY)
iNum = pPlot.getNumUnits()
# CyInterface().addMessage(CyGame().getActivePlayer(), True, 10, CyTranslator().getText("TXT_KEY_MESSAGE_CITY_GROWTH",("X",iNum)), None, 2, None, ColorTypes(12), 0, 0, False, False)
if (not pPlot.isWater() and not pPlot.isCity() and iNum >= 14):
return True
# --------- end ---------------------------
# Siedler nur in eigener Kultur.
pUnit = gc.getPlayer(ePlayer).getUnit(iUnitId)
if( pUnit.getUnitType() in self.lUnitsOwnCultureOnly
and pPlot.getOwner() is not ePlayer
and gc.getPlayer(ePlayer).getNumCities() > 0):
return True
# END Siedler nur in eigener Kultur
return False
Sowie in der PythonCallbackDefines.xml
PHP-Code:
<Define>
<DefineName>USE_UNIT_CANNOT_MOVE_INTO_CALLBACK</DefineName>
<iDefineIntVal>1</iDefineIntVal>
</Define>
Ramkhamhaeng hat das für mich gebastelt, scheinbar scheint es bei ihm zu funzen, aber bei mir scheinbar nicht, die Siedler können immer noch aus der eigenen Kultur raus laufen.