Seite 15 von 271 ErsteErste ... 51112131415161718192565115 ... LetzteLetzte
Ergebnis 211 bis 225 von 4063

Thema: Der Pythonthread

  1. #211
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    Code:
    			cityList = pPlayer.getCityList()
    
    			if cityList:
    so dann vermutlich. mal testen.


    edit: test sagt: CyPlayer object has no attribute getCityList

    gnaaaa
    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)

  2. #212
    o0
    Registriert seit
    22.06.08
    Ort
    Rheinhessen
    Beiträge
    525
    Such dir eins aus...

    if not pPlayer.getNumCities() == 0:

    if not pPlayer.getNumCities() < 1:

    if pPlayer.getNumCities() > 0:

    if pPlayer.getCapitalCity() != -1:

    if pPlayer.firstCity() != -1:

    if pPlayer.nextCity() != -1:

    if pPlayer.getStartingPlot() == CyMap().plot(pPlayer.getUnit(0).getX(),pPlayer.getUnit(0).getY()):

  3. #213
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    juhu danke. auf euch ist verlass.

    (hab das dritte von oben genommen )

    jetzt muss ich nur noch rausfinden warum die eigenen nachrichten nicht geloggt werden.
    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)

  4. #214
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Dann reicht aber das hier

    Code:
    if pPlayer.getNumCities():
    aus. Wenn man etwas mit der Null vergleicht, dann braucht man keine Relationen.

  5. #215
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    aso auch gut.
    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)

  6. #216
    o0
    Registriert seit
    22.06.08
    Ort
    Rheinhessen
    Beiträge
    525
    Dann gibts aber die Meldung afaik auch, wenn der Spieler schon Tod ist.

  7. #217
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von Little Pritt Beitrag anzeigen
    Dann gibts aber die Meldung afaik auch, wenn der Spieler schon Tod ist.
    Wieso? Die obige Bedingung ist genau dann falsch, wenn pPlayer.getNumCities() = 0 ist, andernfalls ist der Ausdruck wahr.

  8. #218
    o0
    Registriert seit
    22.06.08
    Ort
    Rheinhessen
    Beiträge
    525
    Ubs, kleiner Denkfehler, dachte Civ würde dann ein -1 zurückgeben, das wäre dann ja wieder wahr.

  9. #219
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Was heißt, die werden nicht mitgeloggt?
    Kopier den Befehl einfach nochmal drunter, und klatsch ein print davor, dann sollte das auch geloggt 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)


  10. #220
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    das wird gleich ausprobiert

    funktioniert nicht... jetzt kommt die message 2x aber geloggt wird nix.

    so hab ichs: print CyInterface().addImmediateMessage( szTitle , None)


    meine vermutung ist, dass man das irgendwie als ereignis-message klassifizieren muss.
    Geändert von Cybah (21. Juli 2009 um 22:25 Uhr)
    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)

  11. #221
    Magie ist entscheidend Avatar von magic66
    Registriert seit
    15.02.07
    Ort
    Das Dorf
    Beiträge
    1.394
    Zitat Zitat von Cybah Beitrag anzeigen
    so hab ichs: print CyInterface().addImmediateMessage( szTitle , None)
    Das ist auf jeden Fall falsch.
    The_J meint, dass du das Ereignis per Print ausgeben sollst. Da gibts zwar 2 Möglichkeiten, aber ich meine, man müsste diese Variante verwenden:
    CvUtil.pyPrint("%s hat ein ereignis ausgeloest" % (pPlayer.getName(),))

    Aber das ist trotzdem nicht das gesuchte wahrscheinlich. Alternativ zu addImmediateMessage gibt es noch einfach addMessage, aber auch diese Variante verschwindet noch ein paar Runden aus dem Logbuch.
    Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
    Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!

  12. #222
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    Code:
    CyInterface().addMessage(pWinner.getOwner(),False,15,CyTranslator().getText("TXT_KEY_TEST",()),'',0,'Art/Interface/Buttons/whiteflag.dds',ColorTypes(44), pWinner.getX(), pWinner.getY(), True,True)
    was legt da die farbe fest? stehen die zahlen für die farben irgendwo? was ist z.b. das knallgrün das kommt, wenn man eine feindliche einheit vernichtet? und was ist das rot, wenn eine eigene einheit vernichtet wird?



    und ne ahnung was das fürn fehler ist? kann mich nicht dran erinnern so einen fehler mit "addImmediateMessage" anstelle von "addMessage" gesehen zu haben. verhalten die sich unterschiedlich?


    Angehängte Grafiken Angehängte Grafiken
    Geändert von Cybah (25. Juli 2009 um 04:04 Uhr)
    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)

  13. #223
    Magie ist entscheidend Avatar von magic66
    Registriert seit
    15.02.07
    Ort
    Das Dorf
    Beiträge
    1.394
    Ja, die Farben haben Nummern, aber die Nummern musst du der ColorInfos.xml-Datei entnehmen, aber am einfachsten geht das mit
    gc.getInfoTypeForString("COLOR_GREEN")
    Anstatt green kannst du dann deine eigene Farbe eintragen, die Civ kennt.

    2. addMessage hat ganz andere Parameter als addImmediateMessage.
    Mehr kannst du aber der Fehlermeldung eigentlich entnehmen (vorausgestzt man kann englisch )
    Den ersten c++-Parameter braucht man nicht, meine ich zumindest, aber wenn du dir mit dem Ganzen nicht sicher bist, schau einfach in der Python API nach.
    Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
    Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!

  14. #224
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.454
    python api? stehen da auch beispiele?

    edit: es gibt keine colorinfos.xml. nur playercolorinfos.xml und da stehen keine nummern drin.
    Geändert von Cybah (25. Juli 2009 um 13:09 Uhr)
    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)

  15. #225
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von Cybah Beitrag anzeigen
    und ne ahnung was das fürn fehler ist? kann mich nicht dran erinnern so einen fehler mit "addImmediateMessage" anstelle von "addMessage" gesehen zu haben. verhalten die sich unterschiedlich?
    Die Typen deiner Funktionsargumente sind falsch. Die Funktion "addMessage" erhält als erstes Argument eine "CyInterface"-Instanz, als zweites ein unicode-object und als letztes "NoneType". Ich denke letzteres sorgt für den Fehler, denn in der C++-Signatur der Funktion taucht "None" nirgendwo auf.

Seite 15 von 271 ErsteErste ... 51112131415161718192565115 ... LetzteLetzte

Berechtigungen

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