so dann vermutlich. mal testen.Code:cityList = pPlayer.getCityList() if cityList:
edit: test sagt: CyPlayer object has no attribute getCityList
gnaaaa
so dann vermutlich. mal testen.Code:cityList = pPlayer.getCityList() if cityList:
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)
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()):
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)
Dann reicht aber das hier
aus. Wenn man etwas mit der Null vergleicht, dann braucht man keine Relationen.Code:if pPlayer.getNumCities():
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)
Dann gibts aber die Meldung afaik auch, wenn der Spieler schon Tod ist.
Ubs, kleiner Denkfehler, dachte Civ würde dann ein -1 zurückgeben, das wäre dann ja wieder wahr.
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)
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)
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!
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?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)
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?
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)
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!
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)
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.