du hast nicht zufällig die Python-Exceptions an, oder?
Der Code funktioniert natürlich wunderbar, nur haben die 3 Events andere Parameter, die sie erzeugen.
Hab' mal ne angepasste Version angehängt.
du hast nicht zufällig die Python-Exceptions an, oder?
Der Code funktioniert natürlich wunderbar, nur haben die 3 Events andere Parameter, die sie erzeugen.
Hab' mal ne angepasste Version angehängt.
Zum Download bereit: Civ4-Mod "Mars, jetzt!"
"Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )
"Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)
Die Python Exceptions schalte ich nur sehr selten an. Da ich meist nur mit xml arbeite, würde es mich nerven, bei jedem Start 8 Fehlermeldungen für die maps zu bekommen, die mich eigentlich nicht kümmern.
Teste den geänderten Python-Code einmal. Was hast du dabei verändert - nur die Partisanen? Wenn ich den Code einfach so komplett übernehme, funktionieren ja andere Änderungen nicht mehr, z.B. Tech Conquest. Also muss ich das richtige rauskompieren.
Edit: Also, wenn ich es einfach nur so bei onCityAquiredandkept und onCityRazed einfüge, passiert nicht mehr als vorher.
Geändert von Kathy (17. August 2009 um 19:48 Uhr)
Hast du auch den iWeight in den EventTriggerinfos auf -2 gesetzt ?
Zum Download bereit: Civ4-Mod "Mars, jetzt!"
"Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )
"Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)
Äh, nein.
Edit:
Jetzt schon, und es passiert, was passiert, was ich befürchtet habe: Das Event wird jede Runde aufgerufen.
Geändert von Kathy (17. August 2009 um 20:15 Uhr)
bei mir nicht.
Kann eigentlich auch gar nicht, denn dann müsste ja onCityAcquired/onCityRazed jede Runde aufgerufen werden.
Zum Download bereit: Civ4-Mod "Mars, jetzt!"
"Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )
"Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)
Das finde ich alles mysteriös.
Also eigentlich würde ich dir vorschlagen, alles noch mal runterzuschmeißen Aber das ist ja nicht zu denken, wenn man mal betrachtet, was du alles schon eingefügt hast.
Ist das denn bei deinem Standard-BtS auch so? Guck mal, wie das da gelöst ist.
Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!
Bist du sicher? Wenn ich den Code richtig interpretiere (wobei ich keine wirkliche Ahnung habe), dann sagt die Eventmanager.xml dem Programm Folgendes:
100% Games aktive: Erklärt sich von selbst.
iweigth-2: in jeder Runde, wenn die Vorraussetzungen gegeben sind.
Vorraussetzungen:
OrPreReqs/PrereqTech>TECH_CODEX: TECH_CODEX erforscht.
Keine weiteren Einschränkungen, daraus folgt:
Das Ereignis tritt ein, sobald die Technologie erforscht ist.
Da jedoch keine Werte für die Stadt übergeben wurden, kann das Ereignis nur für die zweite Auswahl, die Hauptstadt also, stattfinden.
onCityAcquired/onCityRazed ruft diesen Trigger zwar auf, aber meiner Meinung nach wird er auch sonst jede Runde außerhalb von Python aufgerufen. Oder gibt es irgend etwas in diesem Eventrigger, was das Ereignis nur für Python aufrufbar macht? Ich habe nichts gefunden.
Wenn ich übrigens das Event PARTISANS_2 rauslösche, löst er tatsächlich nicht mehr jede Runde aus - leider aber auch nicht bei Verlust einer Stadt, außer bei der Hauptsstadt, wenn diese als letzte zerstört wird.
Was bedeutet eigentlich "iMaxOurLandmass>-1</iMaxOurLandmass"?
Geändert von Kathy (19. August 2009 um 20:23 Uhr)
Das -2 macht's wohl eigentlich unaufrufbar. Denk' ich.
Sonst müsst's ja bei jedem anderen Spieler, der Emanzipation hat, auch die ganze Zeit getriggert werden.
Zum Download bereit: Civ4-Mod "Mars, jetzt!"
"Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )
"Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)
Dann muss bei mir irgendwo ein Bug sein. Bei mir scheint "0" ein Ereignis unauslösbar zu machen - jedenfalls löst -2 ständig aus.
Ich habe ja von Python keine Ahnung, aber was machen eigentlich folgende Einträge (diesmal EventInfos.xml, bei Ereignis Partisans1)?
Sie sind das einzige, was in diesem Ereignis drinsteht. Kann man diese Dinge nicht auch direkt von den Auslösern "onCityRazed" oder "onCityAcquired" auslösen lassen? Dann würde man den Umweg über den Eventtrigger sparen.PHP-Code:
<PythonCallback>applyPartisans1</PythonCallback>
<PythonExpireCheck/>
<PythonCanDo>canApplyPartisans1</PythonCanDo>
<PythonHelp>getHelpPartisans1</PythonHelp>
mmmhh...ja...ginge wohl theoretisch, müsste aber alles angepasst werden, und es käme kein Text dabei.
Zum Download bereit: Civ4-Mod "Mars, jetzt!"
"Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )
"Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)
Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!
Zum Download bereit: Civ4-Mod "Mars, jetzt!"
"Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )
"Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)
Auch, wenn ich es nicht verstehe: Auf einmal funktionieren die Partisanen. Ich muss jetzt immer ein paar Angriffseinheiten mehr einplanen, wenn ich eine Stadt einnehmen will. In dem Sinne, danke, The_J.
Bin im Laufe des Spiels auf ein Problem gestoßen, das ich anfangs einfach ignoriert habe, welches mir dann jedoch lästig wurde: Manchmal erschienen Partisanen auf dem Feld der eingenommen Stadt, was insofern problematisch war, als dass diese dann sofort wieder befreit wurde - was nicht Sinn und Zweck des ganzen sein sollte, die Partisanen sollen die Besatzer dafür zumindest besiegen müssen. Kann man das irgendwie beheben?
In dem Zusammenhang eine Frage: Was passiert, wenn man eine Stadt auf einer 1-Feld-Insel einnimmt? Entstehen dann alle Partisanen in der Stadt? Kann man dagegen etwas machen, dass sie z.B. auf einer anderen Insel entstehen müssen, oder aber gar nicht?
Wenn ich mir die Standard-Partisanen-Funktion in Python\EntryPoints\CvRandomEventInterface.py so anschaue, sollte das eh' schon nicht passieren, da überprüft wird, ob auf dem Feld feindliche Einheiten stehen.
Kannst ja aber mal überprüfen, ob's bei dir genauso aussieht:
Achtung Spoiler:
Zum Download bereit: Civ4-Mod "Mars, jetzt!"
"Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )
"Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)