d.h. du kannst einzelne Files ersetzen? das ist natürlich nice. aber der eventmanager und die gameutils müssen wohl Python bleiben - außer ich komme mi cython klar.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Bei der PLE ist es aber auch am nötigstens. Ich habe dazu aber auch nur direkt das Pythonfile PLE.py mit Cython compiliert.
Der einzige hacken ist das lächerliche Importverhalten, was Firaxis verschuldet hat.
Statt nur einmal den Arbeitsordner festzulegen, muss in jeden Pythonfile, was die Cythonfiles importiert, der Arbeitspfad erstmal angepasst werden.
Wahrscheinlich muss in jedes Pythonfile oben
hin.Code:import os, sys sys.path.append(os.getcwd() + "/Mods/" + CyGlobalContext().getBASE_FOLDER() + "/Assets/Python")
Man muss also den Base-Ordner direkt mit angeben. Das habe ich aber schon im SDK zentralisiert und kann auch bei den Code für das Ldaen der Startpunkt angewendet werden. Damit musst du nur bei den globalen Variabeln zur Zeit den Base-Ordnernamen angeben. Genaueres probiere ich noch aus.
Das ist ja der Vorteil an Cython. Es ist fast vollständig Python. Einzig wenn man Optimierungen machen will/muss, dann muss man etwas mehr wissen, aber nur über Cython.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Da müsste jetzt auch noch der neue Exp Code rein usw. Ich würde eher sagen: Pech gehabt. Das bei jedem Patch zu machen, ist ja erstens nicht möglich und zweitens zu umständlich.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Dann mach ichs jetzt nur für Deutschland.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
so vermutlich?
PHP-Code:
def onLoadGame(self, argsList):
if gc.getGame().getBaseVersion() <= 3:
# ZE: Deutschland für alte Savegames Start -----------------------------------------------------------------------------------------------
for iPlayer in range(gc.getMAX_PLAYERS()):
pPlayer = gc.getPlayer(iPlayer)
if pPlayer.isAlive() and pPlayer.getCivilizationType() == gc.getInfoTypeForString("CIVILIZATION_GERMANY"):
pPlayer.changeImprovementYieldChange(gc.getInfoTypeForString("IMPROVEMENT_TOWN"), YieldTypes.YIELD_PRODUCTION, 1)
# ZE: Deutschland für alte Savegames End -----------------------------------------------------------------------------------------------
CvAdvisorUtils.resetNoLiberateCities()
return 0
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Die forschleife muss ncoh eingerückt werden!
stimmt
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Der Fehler kommt mir bekannt vor. Kann sein, dass ich dir dazu mal eine Lösung geshcikt habe.
Im August habe ich an der Datei was verändert, falls du den Bugfix meinst.
edit, das ging um was anderes:
Zitat von rucivfan
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)