Ach, kein Plan, hab' das halt so zusammen koppiert.
Daran wird's wohl aber nicht hängen .
@Little Prit: Kann's echt daran liegen ?
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)
@ The_J: Warum setzt du denn an das Ende jeder Schleife ein break?
damit die aufhört.
Ich brauch' im Endeffekt ja nur einen Plot, das kann eigentlich egal welcher sein, hauptsache kein Wasser. Wenn ich einen hab', brauch ich ja nicht noch die restliche Karte durchlaufen zu lassen.
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)
Ah, ok
Warum nimmst du nicht einfach die findStartingPlot-Funktion?
Oder versuch doch mal, die Ziv an eine schon bestehende Liste hinten anzuhängen, z.B shuffledPlayers.
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 ganze hier hängt in der assignStartingPlot-Funktion drin .
Hast du denn schonmal geschaut, wie weit das ganze überhaupt funktioniert? Wird gar kein Startfeld (plot) ermittelt oder klappt die Zuweisung der Ziv nicht?
Da ich mir nicht klar war, ob als Player die Ziv oder der Leader genommen wird', hab' ich's auch mal mit dem Leader ausprobiert, aber da gibt's ne Fehlermeldung, denn die isAlive-Methode, die es beim Spieler gibt, funktioniert bei Anführern nicht. Schlussfolgerung: Die Ziv ist dann wohl richtig. Es kommt ja auch keine Fehlermeldung.
Da das ganze korrekt durchläuft (die restlichen StartingPlots sind nachgeschaltet, und die anderen Zivs werden platziert), muss wohl auch die Plot-Zuweisung funktionieren.
Ich glaub', da fehlt noch irgendwas anderes, was gar nicht in dem Skript mit drin ist, oder so .
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)
Diese setStartingPlot-Funktion benötigt den Player, das ist richtig so. Die leaderheads müssen irgendwo anders zugewiesen werden.
Mit "print pPlot" kannst du das Start Plot in der PythonErr2.log ausgeben.
print pPlot
print pPlot.isNone()
print pPlot.getX()
print pPlot.getY()
Damit wüsstest du schonmal ob ein Start Plot existiert und wo es sich befinden sollte.
Ich werd's mal ausprobieren .
Hab' grad mal geguckt, warum du hier eigentlich nicht moddest, nu ist's klar .
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)
Ja, ich war die ganze Zeit in der Col2-Ecke. Ist aber im Prinzip auch nur ein Addon für Civ4 und deswegen ganz ähnlich zu modden. Es kann nur sein, daß die print-Befehle in einer anderen Datei als PythonErr2.log landen, da weiß ich nicht wie das bei Civ4 geregelt ist.Ich werd's mal ausprobieren .
Hab' grad mal geguckt, warum du hier eigentlich nicht moddest, nu ist's klar.
Ja, der Aufbau ist ja ziemlich ähnlich.
Also, hab' das ganze mal umgestellt, aktuell sieht's so aus:
Achtung Spoiler:
denn eigentlich ist's in dem Fall egal, wo die Ziv startet.
Wie du vermutet hast, fliegt die Fehlermeldung hier woanders hin, nämlich in die PythonDbG.log
Ich denk' mal, dass das hier das interessante ist:
PY: Player 0's alive status set to: 1
PY: Player 1's alive status set to: 1
PY: Player 2's alive status set to: 1
PY: Player 3's alive status set to: 1
PY: Player 4's alive status set to: 1
PY: Player 18's alive status set to: 1
<CvPythonExtensions.CyPlot object at 0x18706CE0>
wobei ich keine Ahnung hab', was mir das sagen soll.
Nen Player 18 darf's ja eigentlich nicht geben, wenn die Zählung bei 0 anfängt (Barbs?).
Die Koordinaten wurden aber nirgend's ausgegeben .
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)
Ich denke, das sagt nur aus, daß die Spieler aktiviert wurden. Player18 sind sicher die Barbaren.PY: Player 0's alive status set to: 1
PY: Player 1's alive status set to: 1
PY: Player 2's alive status set to: 1
PY: Player 3's alive status set to: 1
PY: Player 4's alive status set to: 1
PY: Player 18's alive status set to: 1
Die Ausgabe der print-Befehle erfolgt direkt danach in deiner Logdatei:
Die 1.Zeile zeigt das Objekt, die 2.Zeile zeigt an, daß das Plot auf der Karte existiert (isNone() -> false) und 3. u. 4. Zeile sind die Koordinaten (1,1).CvPythonExtensions.CyPlot object at 0x18706CE0
False
1
1
Das bringt dich jetzt natürlich erstmal nicht weiter, da daß Plot ja statisch ist, das wäre eher interessant am Ende deiner Schleifen.
Falls die StartPlot-Zuweisung funktioniert, die Ziv aber trotzdem nicht im Spiel auftaucht, wird das vielleicht hieran liegen:
Ich vermute, das setzt die Ziv nur auf spielbar (für Menschen), hat aber nichts mit der Aktivierung zu tun. Wenn du da nicht weiter kommst, würde ich es an deiner Stelle mal im Eventmanager probieren (onGameStart) und da dann mit CyGame().addPlayer(....).Code:plrID.setPlayable(1)
funktioniert.
-> nächste Person für meine Credits-Liste .
Nächste Frage:
Kann ich die Werte canTradeWith und canTradeNetworkWith (beide CyPlayer) auch setzen, oder kann man die nur auslesen ?
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)