Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!
hat sich auch erledigt. habs hinbekommen.
Geändert von Cybah (19. Juli 2009 um 20:11 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)
............................blabla..................... (edit )
Geändert von Cybah (19. Juli 2009 um 20: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)
wie kann ich hier:
szTitle = localText.getText( "TXT_KEY_BLABLA", ( ) )
CyInterface().addImmediateMessage( szTitle , None)
noch pPlayer einbauen?
Ziel ist es, dass in der Nachricht, die alle Spieler lesen können, auch der Name von pPlayer steht. pPlayer hat blablabla z.b.
Wie geht das?
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)
Du meinst doch, wie das mit Platzhaltern geht, oder?
Also das ist sehr kompliziert. Ich bin da auch auf Kriegsfuß. Das ist zum Teil dermaßen bescheuert, dass ich da auch immer tricksen muss.
Ich versuche mal anzufangen.
Erst einmal musst du deinen Blabla-Text schreiben. Dabei musst du an der Stelle, an der du den Namen einfügen möchtest, %s1Player_Name einfügen. Bei einem zweiten Namen dann %s2Player_Name usw. Die Bezeichnung nach der Nummer ist je nach dem, was du einfügen möchtest, unterschiedlich. Es gibt z.B. auch %s1Unit_Name usw.
(Ich will noch hinzufügen, dass ich mir nicht sicher bin, ob Player_Name richtig ist, aber ich vermute es mal)
Jetzt zu Python:
Das ist jetzt komplizierter:
Als 2.Parameter von getText musst du eine Liste von Argumenten geben, die die Platzhalter sind.
In deinem Fall also:
szTitle = localText.getText("TXT_KEY_BLABLA", (pPlayer.getName(),))
(Vorausgesetzt, dass pPlayer eine CvPlayer-Klasse ist)
Wichtig ist, dass du nach dem ersten übergebenen Argument ein Komma setzt und dann erst die klammer beendest. Warum man das machen muss, kann ich dir nicht sagen. Dieses Komma vor der Klammer musst du aber auch wiederum nur machen, wenn nur ein Platzhalter vorhanden ist.
Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!
merci für die schöne erklärung. funktioniert.
%s1 reicht sogar.
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)
okay noch ne frage dazu: warum werden solche nachrichten nicht geloggt?
(wäre schön wenn die im ereignislog auftauchen würden)
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)
und wieso tuple? was könnte man denn theoretisch nach dem komma noch in die klammer einfügen?
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)
szTitle = localText.getText( "TXT_KEY_TRAIT_PHILOSOPHICAL_BORN_ARTIST", (pPlayer.getName(),pUnit.getName()) ( ) )
ist das so richtig? scheiß viele klammern...
edit: test meint: int object has no attribute getName. blub. mit dem einheitennamen gehts wohl anders. hm.
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)
addImmediateMessage scheint nicht geloggt zu werden. hab noch CombatMessage gefunden. aber wie heißt die message für das event-log? (brief und dann links)
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)
Sorry für Spam, hab noch eine Frage (dumdidum):
Wie sieht die "if" bedingung aus für: "spieler hat eine hauptstadt" ?
alternativ: "spieler hat überhaupt irgendeine stadt" (was ja aber dasselbe ist )
info: ich habe bereits "capital = pPlayer.getCapitalCity()"
kann ich danach irgendwas machen wie "if (capital)" oder so?
ohne stadt... wenn man am anfang nur den siedler bewegt beispielsweise soll nix geschehen.
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)