Hey,
ich habe ein Problem mit Python. Ich versuche in Col2 mit setXY (CyUnit) eine Einheit zu versetzen. Das klappt an sich auch recht gut, nur leider wird die Einheit auf der Hauptkarte nicht immer sofort angezeigt/aktualisiert, sondern oft erst nach 20-30 sek. Man kann die Einheit nach dem setzen anwählen, die Fahne ist zu sehen, nur die Einheit selber nicht.
VOID setXY (INT iX, INT iY, BOOL bGroup, BOOL bUpdate, BOOL bShow)
Und so sieht meine Zeile aus:
transport.setXY(plot.getX(), plot.getY(), true, true, true)
Es scheint, als ob die Grafik-Engine den neuen Standort der Einheit nicht sofort übermittelt bekommt.
Vielleicht hat ja jemand eine Idee, woran das liegen könnte...
Danke!
keine Ahnung, woran das liegen könnte.
Willst du ne bestimmte Einheit versetzen?
Falls nicht: Frag ab, was für eine Einheit mit welchen Beförderungen das ist, kill sie und erschaffe sie an der Stelle neu.
Was passiert bei dem Befehl centerCamera()?
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)
wie mach ich hieraus eine übersetzbare/lokale nachricht, die den text aus z.b. TXT_KEY_TECH_CONQUER_SUCCESS holt? wichtig ist, dass die stadt aus der variable "%s" in allen übersetzungen erscheint.strMessage = "You find nothing worth learning from the inhabitants of %s" %(pCity.getName())
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [E]: HIER (klick mich!) (Stand: 08.06.2024)
Ich hab das Problem inzwischen gelöst: Das hing damit zusammen, daß die Einheit zum Zeitpunkt des verschiebens unsichtbar ist und erst später aufgedeckt wird. Deswegen muß setXY so aussehen:
transport.setXY(plot.getX(), plot.getY(), true, false, false)
Aber mit initUnit hätte man es auch machen können. Mit centerCamera kannst du die Kamera (im Hauptbildschirm) über einer bestimmten Einheit zentrieren.
localText = CyTranslator()wie mach ich hieraus eine übersetzbare/lokale nachricht, die den text aus z.b. TXT_KEY_TECH_CONQUER_SUCCESS holt? wichtig ist, dass die stadt aus der variable "%s" in allen übersetzungen erscheint.
strMessage = localText.getText("TXT_KEY_TECH_CONQUER_SUCCESS", (pCity.getName(), ()))
HTML-Code:<TEXT> <Tag>TXT_KEY_TECH_CONQUER_SUCCESS</Tag> <English>You find nothing worth learning from the inhabitants of %s1</English>
merci
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [E]: HIER (klick mich!) (Stand: 08.06.2024)
Wie kann ich die Spionage-Punkte in einer Runde ändern? (Kann auch gegen ein Team sein, wobei mir ersteres lieber wäre)
gc.getPlayer(x).changeEspionageweightAgainstTeam(y,100)
habe ich schon probiert, aber irgendwie funktioniert das nicht richtig
Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!
Das dürfte nur die Gewichtung (also die verhältnissmäßige Verteilung) der SP-Punkte auf die KIs sein.
Wie sieht's mit CyTeam().setEspionagePointsEver oder changeEspionagePointsEver aus? Das dürfte die Punkte verändern.
Die Punkte/Runde dürften wohl nicht gehen, denn dass sind ja keine absoluten Werte, die hängen ja von der Steuerrate ab.
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)
Naja, das hat mir weniger geholfen.
Ich habe jetzt setEspionageAgainst Team() genommen.
Aber trotzdem danke. Ich habe ja in der falschen Klasse geguckt
Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!
Wieder eine Frage:
Wie funktioniert der Zufall in python?
Ich nehme an, dass ich CyRandom nehmen muss, aber ich finde kein Beispiel oder weiß nicht, was die parameter bedeuten
Edit: Bedeutet der 1.parameter von "get" wieviel Zahlen ausgewählt werden können?
Und was soll der 2.Parameter sein? Was soll ich denn da für einen Quatsch hineinschreiben ("Get a random number" oder was? oder "Ich will jetzt einfach eine zufällige Zahl haben, sonst schmeiß ich den Computer aus dem Fenster")
Edit2: Jetzt kappier ich gar nichts mehr.
Welche Zahlen können überhaupt zurückgegeben werden? Bei ists immer die 1!!
Edit3: So hat sich jetzt erledigt. Dank littlePritt
Lösung: CyGame().getSorenRandNum()
Geändert von magic66 (12. März 2009 um 18:44 Uhr)
Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!
ich bräuchte mal eine if für:
"if playerY is not Barbar"
wie lautet da der korrekte code?
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [E]: HIER (klick mich!) (Stand: 08.06.2024)
du findest ein entsprechendes Stück in CvInfoScreen.py
Code:for iPlayerLoop in range(gc.getMAX_PLAYERS()): pPlayer = gc.getPlayer(iPlayerLoop) iPlayerTeam = pPlayer.getTeam() # No barbs and only display national wonders for the active player's team if (pPlayer and not pPlayer.isBarbarian() ...
so?PHP-Code:
if ((pWinner.isHasPromotion(gc.getInfoTypeForString('PROMOTION_BLABLA'))) and (not pLoser.isBarbarian())):
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [E]: HIER (klick mich!) (Stand: 08.06.2024)
sieht doch gut aus (sofern pLoser passt).