Simple Python Things

:dunno: can't see a problem at that point.
In the file the part looks okay, but the part for "capital captured" seems to be wrong intended (i can only look at it with Notepad++, not with python itself, so that might appear wrong to me now).

Are python exceptions turned on?
Do the other promotions work?
 
The other promotions seem to work fine - except for the Marauder Espionage one, which I think I removed or didn't use. The same thing happens to that as the Marauder Research, except with espionage points of course.

Also, forgive me, but what is a python exception?
 
exceptions = error messages.
You can turn them on in the .ini file of civ (just search for python and use common sense). Would be helpful to see, if you get an error message.
It seems, that either the check if a unit has a promotion fails, or the messages are not intended right.
-> Do you really get the research points, or does only the message show up? Please test it.
 
I am turning your Circus Hagenbeck into the Olympic Games for my mod and I had a few questions if you don't mind.

First, I'd like for it to show up in the civilopedia as a wonder rather than as a building. I know that isn't the most ideal location (there really isn't one for this come to think of it), but I think it is more appropriate to be there rather than in the buildings section. How can I achieve this?

Secondly, I am looking at the python, and it seems relatively straightforward to me but I just wanted to clarify a couple of things. Here is the python as it is right now...

Code:
		### circus hagenbeck start part 2
	        if (gc.getGame().getGameTurnYear() <> gc.getDefineINT("START_YEAR")):
                        for i in range (gc.getMAX_PLAYERS()):
                                player = gc.getPlayer(iPlayer)
				if player.isAlive():
                                        numbuildings = player.countNumBuildings(gc.getInfoTypeForString("BUILDING_CIRCUS_HAGENBECK"))
                                        if numbuildings>0:
                                                for iCity in range(player.getNumCities()):
                                                        pCity = player.getCity(iCity)
                                                        if pCity.getNumBuilding(gc.getInfoTypeForString("BUILDING_CIRCUS_HAGENBECK"))>0:
                                                                self.oldcity = [iPlayer,iCity]
                                                                return
                ###circus hagenbeck end part 2       

###circus hagenbeck start part 3		
		if (CyGame().getTurnYear(iGameTurn)>=1890) and ( iGameTurn % 3 ==0 ):
                        counter = 0
                        while True:
                                counter = counter+1
                                if counter>=100:break
                                dice = gc.getGame().getMapRand()
                                iPlayer = dice.get(gc.getMAX_PLAYERS (), "Players")
                                pPlayer = gc.getPlayer(iPlayer)
                                if pPlayer.isNone():continue
                                if pPlayer.isAlive():
                                        iCity = dice.get(pPlayer.getNumCities () , "Cities" )
                                        pCity = pPlayer.getCity(iCity)
                                        if pCity.isNone():continue
                                        pCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"),1)
                                        CyInterface().addMessage(iPlayer,false,20,CyTranslator().getText("TXT_KEY_CIRCUS_MOVED",(pCity.getName (),pCity.getName ())),'',0,'Art/Interface/Buttons/General/happy_person.dds',ColorTypes(gc.getInfoTypeForString("COLOR_GREEN")), pCity.getX(), pCity.getY(), True,True) 
                                        if self.oldcity <>[-1,-1]:
                                                otherplayer = gc.getPlayer(self.oldcity[0])
                                                othercity = otherplayer.getCity(self.oldcity[1])
                                                if not othercity.isNone():
                                                        othercity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"),0)
                                                        CyInterface().addMessage(self.oldcity[0],false,20,CyTranslator().getText("TXT_KEY_CIRCUS_LOST",(othercity.getName (),othercity.getName ())),'',0,'Art/Interface/Buttons/General/warning_popup.dds',ColorTypes(gc.getInfoTypeForString("COLOR_RED")), othercity.getX(), othercity.getY(), True,True)
                                        self.oldcity = [iPlayer,iCity]                                 
                                        
                                        break
###circus hagenbeck end part 3

Now, I am thinking these are the changes I have to make to have it start in 1896 (I'm not sure if this game year occurs, if I set it to that and it doesn't occur will that be a problem or will it start after that year?) and change every four turns...

Code:
		### circus hagenbeck start part 2
	        if (gc.getGame().getGameTurnYear() <> gc.getDefineINT("START_YEAR")):
                        for i in range (gc.getMAX_PLAYERS()):
                                player = gc.getPlayer(iPlayer)
				if player.isAlive():
                                        numbuildings = player.countNumBuildings(gc.getInfoTypeForString("BUILDING_OLYMPIC_GAMES"))
                                        if numbuildings>0:
                                                for iCity in range(player.getNumCities()):
                                                        pCity = player.getCity(iCity)
                                                        if pCity.getNumBuilding(gc.getInfoTypeForString("BUILDING_OLYMPIC_GAMES"))>0:
                                                                self.oldcity = [iPlayer,iCity]
                                                                return
                ###circus hagenbeck end part 2       

###circus hagenbeck start part 3		
		if (CyGame().getTurnYear(iGameTurn)>=1896) and ( iGameTurn % 4 ==0 ):
                        counter = 0
                        while True:
                                counter = counter+1
                                if counter>=100:break
                                dice = gc.getGame().getMapRand()
                                iPlayer = dice.get(gc.getMAX_PLAYERS (), "Players")
                                pPlayer = gc.getPlayer(iPlayer)
                                if pPlayer.isNone():continue
                                if pPlayer.isAlive():
                                        iCity = dice.get(pPlayer.getNumCities () , "Cities" )
                                        pCity = pPlayer.getCity(iCity)
                                        if pCity.isNone():continue
                                        pCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_OLYMPICGAMES"),1)
                                        CyInterface().addMessage(iPlayer,false,20,CyTranslator().getText("TXT_KEY_OLYMPICS_MOVED",(pCity.getName (),pCity.getName ())),'',0,'Art/Interface/Buttons/General/happy_person.dds',ColorTypes(gc.getInfoTypeForString("COLOR_GREEN")), pCity.getX(), pCity.getY(), True,True) 
                                        if self.oldcity <>[-1,-1]:
                                                otherplayer = gc.getPlayer(self.oldcity[0])
                                                othercity = otherplayer.getCity(self.oldcity[1])
                                                if not othercity.isNone():
                                                        othercity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"),0)
                                                        CyInterface().addMessage(self.oldcity[0],false,20,CyTranslator().getText("TXT_KEY_OLYMPICS_LOST",(othercity.getName (),othercity.getName ())),'',0,'Art/Interface/Buttons/General/warning_popup.dds',ColorTypes(gc.getInfoTypeForString("COLOR_RED")), othercity.getX(), othercity.getY(), True,True)
                                        self.oldcity = [iPlayer,iCity]                                 
                                        
                                        break
###circus hagenbeck end part 3

Those are the only two questions I really have, thanks in advance for help with this.
 
I am turning your Circus Hagenbeck into the Olympic Games for my mod and I had a few questions if you don't mind.

Sure i don't :).

First, I'd like for it to show up in the civilopedia as a wonder rather than as a building. I know that isn't the most ideal location (there really isn't one for this come to think of it), but I think it is more appropriate to be there rather than in the buildings section. How can I achieve this?

If you don't want to hack around in the python:
Make it a national or world wonder.
I suggest to not make it a world wonder, because i had this at the beginning, and the message "XY has been built in ABC" every third/fourth round is very annoying.
Making it a national wonder will maybe confuse the players, but it is a solution.

Could also be done by hardcoding the change in the civilopedia python files, but i can't say it straight out of my mind how to do it at the moment. I could dig in that in one or two weeks, if you really need it.

Now, I am thinking these are the changes I have to make to have it start in 1896 (I'm not sure if this game year occurs, if I set it to that and it doesn't occur will that be a problem or will it start after that year?) and change every four turns...

Right, that should work.
If the year does not appear directly in the game, it's also not a problem: The check is, if the year is 1896 or highter ( >= ), not if it's only 1896 (would be == ).
 
Hey The_J, I was wondering if you could help me out a bit here. I actually tried to merge it twice, and there must be something I am missing because I keep getting python pop-ups whenever I try it. I wouldn't normally ask you to do this for me, but I figured since it is three areas of code it wouldn't be too time-consuming or difficult for you to do. I have attached three files in three folders. They are all the same file but with differences of course. The one that is in the "Yours" folder is your original python file from the Hagenbeck download, the one that says "Mine" is my original (i.e. without alterations) file from my mod, and the one that says "MyAttempt" is, obviously, my failed attempt to merge them. Is there any way you could take a look at this and tell me what I did wrong, or even merge it for me?

If not I understand, I just figured you might be able to help me out here, I don't know much about python so I might have missed something pretty obvious.
 
Well I tried and failed again, but I'm going to come with more information. First of all here is what I have in my CvEventManager.py file:

Code:
class CvEventManager:
	def __init__(self):
		#################### ON EVENT MAP ######################
		#print "EVENTMANAGER INIT"
				
		self.bCtrl = False
		self.bShift = False
		self.bAlt = False
		self.bAllowCheats = False
		
		# OnEvent Enums
		self.EventLButtonDown=1
		self.EventLcButtonDblClick=2
		self.EventRButtonDown=3
		self.EventBack=4
		self.EventForward=5
		self.EventKeyDown=6
		self.EventKeyUp=7
	
		self.__LOG_MOVEMENT = 0
		self.__LOG_BUILDING = 0
		self.__LOG_COMBAT = 0
		self.__LOG_CONTACT = 0
		self.__LOG_IMPROVEMENT =0
		self.__LOG_CITYLOST = 0
		self.__LOG_CITYBUILDING = 0
		self.__LOG_TECH = 0
		self.__LOG_UNITBUILD = 0
		self.__LOG_UNITKILLED = 1
		self.__LOG_UNITLOST = 0
		self.__LOG_UNITPROMOTED = 0
		self.__LOG_UNITSELECTED = 0
		self.__LOG_UNITPILLAGE = 0
		self.__LOG_GOODYRECEIVED = 0
		self.__LOG_GREATPERSON = 0
		self.__LOG_RELIGION = 0
		self.__LOG_RELIGIONSPREAD = 0
		self.__LOG_GOLDENAGE = 0
		self.__LOG_ENDGOLDENAGE = 0
		self.__LOG_WARPEACE = 0
		self.__LOG_PUSH_MISSION = 0
		###circus hagenbeck start part 1
                self.oldcity = [-1,-1]
                ###circus hagenbeck end part 1

		
		# Next War tracks cities that have been razed
		self.iArcologyCityID = -1

Code:
	def onGameStart(self, argsList):
		'Called at the start of the game'

		self.initScriptData()
		
		# Are we using the scenario file? If so, then show the backstory popup
		if (CyMap().plot(0,0).getScriptData() == "Scenario"):
			for iPlayer in range(gc.getMAX_PLAYERS()):
				player = gc.getPlayer(iPlayer)
				if (player.isAlive() and player.isHuman()):
					popupInfo = CyPopupInfo()
					popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
					szTitle = u"<font=4b>" + localText.getText("TXT_KEY_NEXT_WAR_BACKSTORY_TITLE", ()) + u"</font>"
					szBody = u"<font=3>" + localText.getText("TXT_KEY_NEXT_WAR_BACKSTORY_TEXT", ()) + u"</font>"
					popupInfo.setText(szTitle + u"\n\n" + szBody)
					popupInfo.addPopup(iPlayer)
		if (gc.getGame().getGameTurnYear() == gc.getDefineINT("START_YEAR") and not gc.getGame().isOption(GameOptionTypes.GAMEOPTION_ADVANCED_START)):
			for iPlayer in range(gc.getMAX_PLAYERS()):
				player = gc.getPlayer(iPlayer)
				if (player.isAlive() and player.isHuman()):
					popupInfo = CyPopupInfo()
					popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_PYTHON_SCREEN)
					popupInfo.setText(u"showDawnOfMan")
					popupInfo.addPopup(iPlayer)
		else:
			CyInterface().setSoundSelectionReady(true)
            
		### circus hagenbeck start part 2
	        if (gc.getGame().getGameTurnYear() <> gc.getDefineINT("START_YEAR")):
                        for i in range (gc.getMAX_PLAYERS()):
                                player = gc.getPlayer(iPlayer)
				if player.isAlive():
                                        numbuildings = player.countNumBuildings(gc.getInfoTypeForString("BUILDING_CIRCUS_HAGENBECK"))
                                        if numbuildings>0:
                                                for iCity in range(player.getNumCities()):
                                                        pCity = player.getCity(iCity)
                                                        if pCity.getNumBuilding(gc.getInfoTypeForString("BUILDING_CIRCUS_HAGENBECK"))>0:
                                                                self.oldcity = [iPlayer,iCity]
                                                                return
                ###circus hagenbeck end part 2              

		if gc.getGame().isPbem():
			for iPlayer in range(gc.getMAX_PLAYERS()):
				player = gc.getPlayer(iPlayer)
				if (player.isAlive() and player.isHuman()):
					popupInfo = CyPopupInfo()
					popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_DETAILS)
					popupInfo.setOption1(true)
					popupInfo.addPopup(iPlayer)
																	
		CvAdvisorUtils.resetNoLiberateCities()

Code:
	def onBeginGameTurn(self, argsList):
		'Called at the beginning of the end of each turn'
		iGameTurn = argsList[0]
###circus hagenbeck start part 3		
		if (CyGame().getTurnYear(iGameTurn)>=1890) and ( iGameTurn % 3 ==0 ):
                        counter = 0
                        while True:
                                counter = counter+1
                                if counter>=100:break
                                dice = gc.getGame().getMapRand()
                                iPlayer = dice.get(gc.getMAX_PLAYERS (), "Players")
                                pPlayer = gc.getPlayer(iPlayer)
                                if pPlayer.isNone():continue
                                if pPlayer.isAlive():
                                        iCity = dice.get(pPlayer.getNumCities () , "Cities" )
                                        pCity = pPlayer.getCity(iCity)
                                        if pCity.isNone():continue
                                        pCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"),1)
                                        CyInterface().addMessage(iPlayer,false,20,CyTranslator().getText("TXT_KEY_CIRCUS_MOVED",(pCity.getName (),pCity.getName ())),'',0,'Art/Interface/Buttons/General/happy_person.dds',ColorTypes(gc.getInfoTypeForString("COLOR_GREEN")), pCity.getX(), pCity.getY(), True,True) 
                                        if self.oldcity <>[-1,-1]:
                                                otherplayer = gc.getPlayer(self.oldcity[0])
                                                othercity = otherplayer.getCity(self.oldcity[1])
                                                if not othercity.isNone():
                                                        othercity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"),0)
                                                        CyInterface().addMessage(self.oldcity[0],false,20,CyTranslator().getText("TXT_KEY_CIRCUS_LOST",(othercity.getName (),othercity.getName ())),'',0,'Art/Interface/Buttons/General/warning_popup.dds',ColorTypes(gc.getInfoTypeForString("COLOR_RED")), othercity.getX(), othercity.getY(), True,True)
                                        self.oldcity = [iPlayer,iCity]                                 
                                        
                                        break
###circus hagenbeck end part 3         
		CvTopCivs.CvTopCivs().turnChecker(iGameTurn)
		if (CyMap().plot(0,0).getScriptData() == "Scenario"):
			if iGameTurn!=0:
				if iGameTurn%2 == 0:
					self.doCheckDepletion()

I have also attached some images of the python pop-ups I am getting, you can also see an error message reported in the event log (underneath the research and GP bar). This seems to refer to BUG python files, but I haven't edited those at all. I hope this information can help anyone who is reading this, I have a lot to do for my mod and I'd like to get this taken care of ASAP... so I can move on to the next (probably) failed attempt at adding a wonder. :p

EDIT: I should probably mention that my mod uses Next War as a base and has BUG installed as well.
 
fu**, did i really upload it in that state?

Change:
PHP:
	        if (gc.getGame().getGameTurnYear() <> gc.getDefineINT("START_YEAR")):
                        for i in range (gc.getMAX_PLAYERS()):
                                player = gc.getPlayer(iPlayer)

to
PHP:
	        if (gc.getGame().getGameTurnYear() <> gc.getDefineINT("START_YEAR")):
                        for iPlayer in range (gc.getMAX_PLAYERS()):
                                player = gc.getPlayer(iPlayer)
 
Wait, I think you are confused. The first part is the part that is in my Python, I think it is from BUG, see where you have commented to begin Hagenback, that is your code. I merely added your code to the code I already had, see here is the whole thing:

Code:
		# Are we using the scenario file? If so, then show the backstory popup
		if (CyMap().plot(0,0).getScriptData() == "Scenario"):
			for iPlayer in range(gc.getMAX_PLAYERS()):
				player = gc.getPlayer(iPlayer)
				if (player.isAlive() and player.isHuman()):
					popupInfo = CyPopupInfo()
					popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_TEXT)
					szTitle = u"<font=4b>" + localText.getText("TXT_KEY_NEXT_WAR_BACKSTORY_TITLE", ()) + u"</font>"
					szBody = u"<font=3>" + localText.getText("TXT_KEY_NEXT_WAR_BACKSTORY_TEXT", ()) + u"</font>"
					popupInfo.setText(szTitle + u"\n\n" + szBody)
					popupInfo.addPopup(iPlayer)
		if (gc.getGame().getGameTurnYear() == gc.getDefineINT("START_YEAR") and not gc.getGame().isOption(GameOptionTypes.GAMEOPTION_ADVANCED_START)):
			for iPlayer in range(gc.getMAX_PLAYERS()):
				player = gc.getPlayer(iPlayer)
				if (player.isAlive() and player.isHuman()):
					popupInfo = CyPopupInfo()
					popupInfo.setButtonPopupType(ButtonPopupTypes.BUTTONPOPUP_PYTHON_SCREEN)
					popupInfo.setText(u"showDawnOfMan")
					popupInfo.addPopup(iPlayer)
		else:
			CyInterface().setSoundSelectionReady(true)
            
		### circus hagenbeck start part 2
	        if (gc.getGame().getGameTurnYear() <> gc.getDefineINT("START_YEAR")):
                        for i in range (gc.getMAX_PLAYERS()):
                                player = gc.getPlayer(iPlayer)
				if player.isAlive():
                                        numbuildings = player.countNumBuildings(gc.getInfoTypeForString("BUILDING_CIRCUS_HAGENBECK"))
                                        if numbuildings>0:
                                                for iCity in range(player.getNumCities()):
                                                        pCity = player.getCity(iCity)
                                                        if pCity.getNumBuilding(gc.getInfoTypeForString("BUILDING_CIRCUS_HAGENBECK"))>0:
                                                                self.oldcity = [iPlayer,iCity]
                                                                return
                ###circus hagenbeck end part 2
 
Alright, time to clutter up The J's thread with more stuff.

I went into WoL for a bit, and I checked the science weirdness. And, yes, it does seem that winning a battle rewards a research point to the player, so this isn't just some pop-up message issue.

I've attched some pictures that hopefully will make things clearer.


This first picture below is a typical example of what happens:
Spoiler :
attachment.php



This second picture also shows what happens. Notice that in the corner, where it says 49/60. I am currently only getting +12 research a turn. It is impossible for me to get 49 from 12.
Spoiler :
attachment.php



Hope that helps, and thanks so much again!
 

Attachments

  • Take A Lookie At That.JPG
    Take A Lookie At That.JPG
    154.9 KB · Views: 240
  • OOOOO.JPG
    OOOOO.JPG
    129 KB · Views: 236
I wanted to point out that, while I was testing the python and messing around today I noticed that when I used my version of the python, and started a game in the ancient era (I was starting in the Industrial era to see if the thing popped up at all, and still haven't progressed yet) I got no python pop ups. When I started a game in the Industrial and Renaissance eras (I haven't tried the others yet) I got them. So there is a possibility that the python pop-ups are unrelated to your code and could be part of the BUG mod itself. I'll have my playtesters check this out for me.

Having said that, I'd still appreciate it if you looked at my python just to see if I did it correctly. My bad python work could still be the cause but I thought that was an interesting situation.

EDIT: Eh, nevermind, when I tried it with the old CvEventManager.py it worked fine. So it must be the way I put the python in. Sorry about that. I'd still appreciate it if you could help me out with this.
 
Capo - you need to make the fix that was suggested. There is an "i" that should be an "iPlayer". It is 2 lines after "### circus hagenbeck start part 2".
 
Thanks a lot man, I'm such a moron. :crazyeye:

Well, here's an image. I'd like it if there was a general announcement that the Hagenbeck Circus/Olympics have begun though, but that is alright because they didn't come to my country until 1914, and from 1890 until then I was worried it wouldn't work.
 
Hope that helps

Not really :/.
Are the exceptions now enabled?

Capo - you need to make the fix that was suggested. There is an "i" that should be an "iPlayer". It is 2 lines after "### circus hagenbeck start part 2".

Right :blush:.
Don't know, how i could have uploaded it in this state.

Thanks a lot man, I'm such a moron. :crazyeye:

Well, here's an image. I'd like it if there was a general announcement that the Hagenbeck Circus/Olympics have begun though, but that is alright because they didn't come to my country until 1914, and from 1890 until then I was worried it wouldn't work.

General announcement: All players? Including unknown?
 
Hmm, I suppose that is a good point. I always start in ancient, so by that time (if the game is still going) I usually know everyone. Uh, yeah all players I guess. Ideally, in 1890 I'd like some announcement the Olympics have begun, something like "The IOC has been founded, and the first Olympic games will begin in the [Persian] city of [Susa]" as an example. Then whenever it moves it says something like "The IOC has announced this year's Olympic Games will be held in the [German] city of [Frankfurt]" or whatever. It isn't a big deal if I don't have this, I just think it makes more sense considering the Olympics are an international event and all.
 
The addition is at the end, the 3 last lines before the break:

Spoiler :
PHP:
###circus hagenbeck start part 3		
		if (CyGame().getTurnYear(iGameTurn)>=1890) and ( iGameTurn % 3 ==0 ):
                        counter = 0
                        while True:
                                counter = counter+1
                                if counter>=100:break
                                dice = gc.getGame().getMapRand()
                                iPlayer = dice.get(gc.getMAX_PLAYERS (), "Players")
                                pPlayer = gc.getPlayer(iPlayer)
                                if pPlayer.isNone():continue
                                if pPlayer.isAlive():
                                        iCity = dice.get(pPlayer.getNumCities () , "Cities" )
                                        pCity = pPlayer.getCity(iCity)
                                        if pCity.isNone():continue
                                        pCity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"),1)
                                        CyInterface().addMessage(iPlayer,false,20,CyTranslator().getText("TXT_KEY_CIRCUS_MOVED",(pCity.getName (),pCity.getName ())),'',0,'Art/Interface/Buttons/General/happy_person.dds',ColorTypes(gc.getInfoTypeForString("COLOR_GREEN")), pCity.getX(), pCity.getY(), True,True) 
                                        if self.oldcity <>[-1,-1]:
                                                otherplayer = gc.getPlayer(self.oldcity[0])
                                                othercity = otherplayer.getCity(self.oldcity[1])
                                                if not othercity.isNone():
                                                        othercity.setNumRealBuilding(gc.getInfoTypeForString("BUILDING_CIRCUSHAGENBECK"),0)
                                                        CyInterface().addMessage(self.oldcity[0],false,20,CyTranslator().getText("TXT_KEY_CIRCUS_LOST",(othercity.getName (),othercity.getName ())),'',0,'Art/Interface/Buttons/General/warning_popup.dds',ColorTypes(gc.getInfoTypeForString("COLOR_RED")), othercity.getX(), othercity.getY(), True,True)
                                        self.oldcity = [iPlayer,iCity]
                                        MaxPlayers = gc.getMAX_CIV_PLAYERS ()
                                        for iPlayerNum in xrange(MaxPlayers):
                                            CyInterface().addMessage(iPlayerNum,false,20,CyTranslator().getText("TXT_KEY_NEWTEXT",(pCity.getName (),pPlayer.getCivilizationAdjective () )),'',0,'Art/Interface/Buttons/General/happy_person.dds',ColorTypes(gc.getInfoTypeForString("COLOR_GREEN")), pCity.getX(), pCity.getY(), True,True) 
                                                                             
                                        
                                        break
###circus hagenbeck end part 3

The text itself has to be like this:
"The IOC has announced this year's Olympic Games will be held in the %s2 city of %s1"
 
So all I have to do is replace the part 3 in my python with this python? And then write up text for it?

And that would be TXT_KEY_NEWTEXT right? Which announces where they will be held to every player?
 
Back
Top Bottom