Zitat von
zeki
Ich glaube b ist eigentlich das größte Problem
denn könnten das soviele würde es das ja auch in anderen mods geben als nur in RFC
Das Umsetzen in ein Skript ist ziemlich sicher das deutlich kleinere Problem als sich die Daten für jede Koordinate rauszusuchen. In dem Rhyes and Fall Script ist der relevante Codeblock wohl
Code:
def assignName(self, city):
"""Names a city depending on its plot"""
iOwner = city.getOwner()
if (iOwner < iNumMajorPlayers):
cityName = tCityMap[iOwner][67-city.getY()][city.getX()]
if (cityName != "-1"):
city.setName(cityName, False)
Dort wird aus dem entsprechenden Array der Stadtname der an die Koordinate gehört geholt und wenn es keinen gibt wird wohl einfach ein normaler gesetzt (= es wird nichts getan). Man bräuchte auch nur ein Array falls man die Städtenamen nicht abhängig von der Civ macht, könnte sich also den iOwner sparen. Das Problem ist dass jemand das Array mit sinnvollen Daten befüllen müßte. Vor allem wenn man die Karten auch noch skalieren wollte, also zB nur Europakarten damit befüllen, bräuchte man eine hohe Koordinaten-Auflösung. Ansonsten hat man immer das Problem fehlender Städtenamen für bestimmte Koordinaten. Umgekehrt ergibt sich das Problem welche Stadt man nimmt wenn bei einer Skalierung zwei oder mehr zur Auswahl stehen. Das könnte man aber über eine Priorisierung (was für den der a) macht etwas mehr Arbeit bedeuten würde) lösen.
Aufgerufen wird der Spaß in der Datei CvRFCEventHandler.py und zwar in def onCityBuilt(self, argsList). Ich vermute mal (ich hab nie Python programmiert) dass das so ne Art Event ist der aufgerufen wird wenn eine Stadt gebaut wird. Für jemand der die Sprache und die Art wie man Civ moddet kennt sollte es also kein Problem sein das entsprechend anzupassen.