Maniac
Feb 04, 2007, 05:44 AM
I can't get an event to work. Does anyone what's the problem with the last line of this event? A screenie with the python exception message is attached.
def onBeginPlayerTurn(self, argsList):
'Called at the beginning of a players turn'
iGameTurn, iPlayer = argsList
pPlayer = gc.getPlayer(iPlayer)
py = PyPlayer(iPlayer)
bPlayer = gc.getPlayer(gc.getBARBARIAN_PLAYER())
iTeam = gc.getTeam(bPlayer.getTeam())
if (iTeam.isHasTech(gc.getInfoTypeForString('TECH_HOR SEBACK_RIDING')) == False and iTeam.isHasTech(gc.getInfoTypeForString('TECH_BRON ZE_WORKING')) == False and iTeam.isHasTech(gc.getInfoTypeForString('TECH_ARCH ERY')) == False and iTeam.isHasTech(gc.getInfoTypeForString('TECH_TRAC KING')) == False):
listTeams = []
for iPlayer2 in range(gc.getMAX_PLAYERS()):
pPlayer2 = gc.getPlayer(iPlayer2)
if (pPlayer2.isAlive() and iPlayer2 != iPlayer):
iTeam2 = pPlayer2.getTeam()
listTeams.append(gc.getTeam(iTeam2))
iCount = 0
for i in range(len(listTeams)):
if (listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_HORSEBACK _RIDING')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_BRONZE_WO RKING')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_ARCHERY') ) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_TRACKING' )) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_WAY_OF_TH E_FORESTS')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_WAY_OF_TH E_EARTHMOTHER')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_MESSAGE_F ROM_THE_DEEP')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_CONSTRUCT ION'))):
iCount = iCount + 1
if iCount >= 3:
PushTier2MilTech = [ 'TECH_HORSEBACK_RIDING','TECH_BRONZE_WORKING','TEC H_ARCHERY','TECH_TRACKING' ]
iRnd = CyGame().getSorenRandNum(len(PushTier2MilTech), "Maniac")
iTeam.setHasTech(gc.getInfoTypeForString(PushTier2 MilTech[iRnd]), True, bPlayer, False, True)
And does anyone know what bFirst is about?
VOID setHasTech(TechType eIndex, BOOL bNewValue, PlayerType ePlayer, BOOL bFirst, BOOL bAnnounce)
void (TechID, bNewValue, iPlayer, bFirst, bAnnounce)
http://forums.civfanatics.com/uploads/53302/pythonexception2.jpg
def onBeginPlayerTurn(self, argsList):
'Called at the beginning of a players turn'
iGameTurn, iPlayer = argsList
pPlayer = gc.getPlayer(iPlayer)
py = PyPlayer(iPlayer)
bPlayer = gc.getPlayer(gc.getBARBARIAN_PLAYER())
iTeam = gc.getTeam(bPlayer.getTeam())
if (iTeam.isHasTech(gc.getInfoTypeForString('TECH_HOR SEBACK_RIDING')) == False and iTeam.isHasTech(gc.getInfoTypeForString('TECH_BRON ZE_WORKING')) == False and iTeam.isHasTech(gc.getInfoTypeForString('TECH_ARCH ERY')) == False and iTeam.isHasTech(gc.getInfoTypeForString('TECH_TRAC KING')) == False):
listTeams = []
for iPlayer2 in range(gc.getMAX_PLAYERS()):
pPlayer2 = gc.getPlayer(iPlayer2)
if (pPlayer2.isAlive() and iPlayer2 != iPlayer):
iTeam2 = pPlayer2.getTeam()
listTeams.append(gc.getTeam(iTeam2))
iCount = 0
for i in range(len(listTeams)):
if (listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_HORSEBACK _RIDING')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_BRONZE_WO RKING')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_ARCHERY') ) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_TRACKING' )) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_WAY_OF_TH E_FORESTS')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_WAY_OF_TH E_EARTHMOTHER')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_MESSAGE_F ROM_THE_DEEP')) or listTeams[i].isHasTech(gc.getInfoTypeForString('TECH_CONSTRUCT ION'))):
iCount = iCount + 1
if iCount >= 3:
PushTier2MilTech = [ 'TECH_HORSEBACK_RIDING','TECH_BRONZE_WORKING','TEC H_ARCHERY','TECH_TRACKING' ]
iRnd = CyGame().getSorenRandNum(len(PushTier2MilTech), "Maniac")
iTeam.setHasTech(gc.getInfoTypeForString(PushTier2 MilTech[iRnd]), True, bPlayer, False, True)
And does anyone know what bFirst is about?
VOID setHasTech(TechType eIndex, BOOL bNewValue, PlayerType ePlayer, BOOL bFirst, BOOL bAnnounce)
void (TechID, bNewValue, iPlayer, bFirst, bAnnounce)
http://forums.civfanatics.com/uploads/53302/pythonexception2.jpg