Seite 2 von 271 ErsteErste 1234561252102 ... LetzteLetzte
Ergebnis 16 bis 30 von 4063

Thema: Der Pythonthread

  1. #16
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von The_J Beitrag anzeigen
    Achtung Spoiler:
    PHP-Code:
    for assignLoop in range(1):
                    
    homeid=gc.getInfoTypeForString'CIVILIZATION_OTTOMAN' )
                    
    playerID homeid
                    reg 
    best_regions[assignLoop]
                    [
    westXeastXsouthYnorthY] = region_data[reg][0:4]
                    for 
    iX in range(westXeastX 1):
                            for 
    iY in range(southYnorthY 1):
                                    
    pPlot map.plot(iXiY)
                                    if 
    pPlot.isWater(): continue
                                    
                                    
    plrID gc.getPlayer(playerID)
                                    
                                    
    plrID.setPlayable(1)
                                    
    plrID.setStartingPlot(pPlottrue)
                                    break
                            break
                    break 
    Was soll den die erste "Schleife" bewirken? Wieso muss das unbedingt eine Schleife sein? Sie wird doch nur einmal aufgerufen.

  2. #17
    Magie ist entscheidend Avatar von magic66
    Registriert seit
    15.02.07
    Ort
    Das Dorf
    Beiträge
    1.394
    Zitat Zitat von alpha civ Beitrag anzeigen
    Was soll den die erste "Schleife" bewirken? Wieso muss das unbedingt eine Schleife sein? Sie wird doch nur einmal aufgerufen.
    Frage ich mich auch
    Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
    Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!

  3. #18
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    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)


  4. #19
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    @ The_J: Warum setzt du denn an das Ende jeder Schleife ein break?

  5. #20
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    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)


  6. #21
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    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.

  7. #22
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Zitat Zitat von koma13 Beitrag anzeigen
    Ah, ok

    Warum nimmst du nicht einfach die findStartingPlot-Funktion?
    Das ganze hier hängt in der assignStartingPlot-Funktion drin .
    Hab's halt extra davor geschaltet, damit ich in den ganzen Rest nicht noch ne if-Abfrage nach Ziv reinmachen muss, weil ich ja sonst alles weitere neu einrücken müsste.


    Zitat Zitat von koma13 Beitrag anzeigen
    Oder versuch doch mal, die Ziv an eine schon bestehende Liste hinten anzuhängen, z.B shuffledPlayers.
    Schon versucht, tut sich nix .
    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)


  8. #23
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    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?

  9. #24
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    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)


  10. #25
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    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.

  11. #26
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    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)


  12. #27
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    Ich werd's mal ausprobieren .

    Hab' grad mal geguckt, warum du hier eigentlich nicht moddest, nu ist's klar.
    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.

  13. #28
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Ja, der Aufbau ist ja ziemlich ähnlich.

    Also, hab' das ganze mal umgestellt, aktuell sieht's so aus:
    Achtung Spoiler:
    PHP-Code:
        homeid=gc.getInfoTypeForString'CIVILIZATION_OTTOMAN' )
        
    playerID homeid
        sPlot 
    map.plot(11)
        
    plrID gc.getPlayer(playerID)
        
    plrID.setPlayable(1)
        
    plrID.setStartingPlot(sPlottrue)
        print 
    pPlot
        
    print pPlot.isNone()
        print 
    pPlot.getX()
        print 
    pPlot.getY() 


    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 .
    Angehängte Dateien Angehängte Dateien
    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)


  14. #29
    Registrierter Benutzer
    Registriert seit
    30.11.08
    Beiträge
    1.563
    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
    Ich denke, das sagt nur aus, daß die Spieler aktiviert wurden. Player18 sind sicher die Barbaren.
    Die Ausgabe der print-Befehle erfolgt direkt danach in deiner Logdatei:

    CvPythonExtensions.CyPlot object at 0x18706CE0
    False
    1
    1
    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).
    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:

    Code:
    plrID.setPlayable(1)
    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(....).

  15. #30
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    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)


Seite 2 von 271 ErsteErste 1234561252102 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •