Naja, davon muss man natürlich ausgehen. Es muss natürlich eine CyPlayer()-Klasse und keine PyPlayer()-Klasse sein.
Naja, davon muss man natürlich ausgehen. Es muss natürlich eine CyPlayer()-Klasse und keine PyPlayer()-Klasse sein.
Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!
Wie mach ich das, dass eine Stadt +1 Unzufriedenheit erhält solange sie Prozess X "errichtet" (z.B. bei Wohlstand) ?
edit: kann man happy überhaupt ohne SDK erhöhen?
Geändert von Cybah (21. März 2009 um 15:45 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 + kann man schon erhöhen, mit pCity.changeExtraHappiness(X), allerdings kann man wohl nicht wirklich bei nem Prozess einhaken, da die Prozesse nicht als Gebäude gelten.
Du kannst höchstens bei jedem Rundenwechsel durch alle Städte gehen, und checken, was die bauen, und dann die Werte ändern, aber das heißt dann auch, dass sie nicht geändert werden, falls du den Bauauftrag änderst.
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)
Sowas hab ich befürchtet. Man bräuchte sowas wie "ist gerade dabei Prozess X zu bauen".
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)
Was ist denn mit:
pCity.getProductionProcess()
Ja, abchecken sollte nicht das problem, allerdings die Zeitnähe.
Man kann ja nirgendswo zeitnah einhaken, sondern nur beim Rundenwechsel .
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)
Zeitnah kann man über handleInput machen. Da brauchst du nur mit der Maus in die Nähe des Produktions-Buttons gehen, und kannst das abfragen. Also wie ein tool tip, nur daß dann anstelle des tool tips eine Funktion ausgeführt wird. Wäre vielleicht eine Möglichkeit.
ich wollte ja erst +25% gold, -25% forschung machen. aber wie wird das dargestellt? folgendermaßen:
+X gold (i.O.)
+0,-X kolben prozesse sind nicht eingeplant was negatives zu bewirken
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)
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)
Der Code sollte pCity.changeExtraHappiness(X) ausführen, wenn man mit der Maus auf den Produktions-Button geht:
getNotifyCode() fängt die Bewegung der Maus auf.Code:# Will handle the input for this screen... def handleInput (self, inputClass): if (inputClass.getNotifyCode() == NotifyCode.NOTIFY_CLICKED): if (inputClass.getButtonType() == WidgetTypes.WIDGET_WidgetTypes.WIDGET_CONSTRUCT): pCity.changeExtraHappiness(X) return 0
getButtonType() liest aus, um welchen widget Typ es sich bei dem Objekt, wo der Mauszeiger sich zur Zeit befindet, handelt. WIDGET_CONSTRUCT ist der Produktions-Button.
An inputClass kann man in Civ4 folgende Sachen ranhängen:
Achtung Spoiler:
NotifyCode.NOTIFY_LISTBOX_ITEM_SELECTED könnte vielleicht auch funktionieren, also:
Auf civfanatics gibts dazu auch ein Tutorial: http://forums.civfanatics.com/showthread.php?t=272827.Code:# Will handle the input for this screen... def handleInput (self, inputClass): if (inputClass.getNotifyCode() == NotifyCode.NOTIFY_LISTBOX_ITEM_SELECTED): if (inputClass.getButtonType() == WidgetTypes.WIDGET_WidgetTypes.WIDGET_CONSTRUCT): pCity.changeExtraHappiness(X) return 0
Geändert von koma13 (23. März 2009 um 00:28 Uhr)
weiß jetzt nicht, was mir das bringen soll. die KI kann ja nicht mal eben mit der maus über eine stadt fahren, wo ein prozess läuft. wäre auch zu sehr erzwungen. ich will eigentlich nur einen kleinen negativen effekt während man prozess X benutzt.
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)
Der Beitrag war auch eher an The_J gerichtet.
Aber du hast schon recht, für die AI ist das nichts.
wie, ich kann diese Klassendefinition einfach in irgendeine .py reinpacken?
Das System dürfte dohc eigentlich gar nicht drauf zugreifen, oder?
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)
Du musst die ScreenInput.py importieren. Ist aber bei den meisten Python screens schon gemacht.
Ah, interessant . Muss ich mal ausprobieren, wenn ich mal wieder Zeit hab (also nächst Jahr, 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)