Bug Reports

I downloaded your 1.64 python and SDK and after merging it in my mod I get following error:
Code:
  File "StartAsMinors", line 107, in onSetPlayerAlive

AttributeError: 'CyTeam' object has no attribute 'setIsMinorCiv'
ERR: Python function onEvent failed, module CvEventInterface

So, did you forget to provide some changes in CyTeam with your 1.64 SDK?
 
So, did you forget to provide some changes in CyTeam with your 1.64 SDK?

I suppose he didn't post the last version of his 1.64 dll source code. The change log mentions as one of the dll changes ...

Moved setIsMinorCiv to CvTeam

... but it's still in CvPlayer. I'll wait with my merge until the real 1.64 source code is up. Hopefully it won't take too long. ;)
 
I know, this mod is not written for MP, but, when playing LAN games with Rev Mod, the Mod also shows the maininterface's popups to the opponent.

How could this be fixed?
 
I know, this mod is not written for MP, but, when playing LAN games with Rev Mod, the Mod also shows the maininterface's popups to the opponent.

How could this be fixed?
I've gotten reports in the WolfRevolution mod thread that it works, but it has this bug (Displaying rev pop ups and information in the rev display) to other human players. Would be cool if you could fix this issue so I could claim it works for multi :deal:
 
I just played an MP game with a friend. It went surprisingly smooth and we had a lot of fun. We made it to turn 220 before encountering an OOS. We could track down the reason of the Out of Sync error to bribing cities. As soon as one of us did this, the oos popped up immediately.

I have to admit that it wasn't the plain revolution mod 1.64 we were playing, but a merge with Fall from Heaven 0.34h. (FiRe thread) However, I'm posting this bug here, because I think it is pretty obvious, that this was a problem with Revolution. I'll check out the oos bug myself too, but maybe you've an idea already how to solve this.
 
Cool, hopefully this does the trick. I did take a look myself and got a bit lost in local and global contexts. Nevertheless, Gerikes Civ4 Multiplayer Compatability Guide is really worth reading. To handle and synchronize game state changing code, that is only running for one player he recommends using something called CyMessageControl, but maybe you know this already. OOS errors are rather difficult to solve for me with only one computer around. I wish you luck.
 
First of all, thanks for the new version, but I've something for the next version for you again, already. While merging the newest changes, I recognized, that there are two "not"s missing in the file Revolution.py (added by me in red):

Code:
        # Occasionally spawn a spy as well
        if( [COLOR="Red"]not[/COLOR] game.isOption(GameOptionTypes.GAMEOPTION_NO_ESPIONAGE) ) :
            if( (40 - 20*pRevPlayer.AI_getNumAIUnits(UnitAITypes.UNITAI_SPY) > game.getSorenRandNum(100,'Rev - Spy')) ) :
                iSpy = CvUtil.findInfoTypeNum(gc.getUnitInfo,gc.getNumUnitInfos(),RevDefs.sXMLSpy)
                if( revStrength > 1.5 and pRevPlayer.canTrain(iSpy,False,False)) :
                    if( self.LOG_DEBUG ) : CvUtil.pyPrint("  Revolt - Spy spawned in %s"%(pCity.getName()))
                    pSpy = pRevPlayer.initUnit( iSpy, ix, iy, UnitAITypes.NO_UNITAI, DirectionTypes.DIRECTION_SOUTH )
                    pSpy.setFortifyTurns(gc.getDefineINT("MAX_FORTIFY_TURNS"))
                
        # Give a little boost to espionage
        if( [COLOR="Red"]not[/COLOR] game.isOption( GameOptionTypes.GAMEOPTION_NO_ESPIONAGE ) ) :
            pRevTeam.changeEspionagePointsAgainstTeam( owner.getTeam(), game.getSorenRandNum((10+pRevPlayer.getCurrentEra())*iNumUnits, 'Rev - Esp') )

EDIT: There are some more occurences of this double negation problem in the file.
 
Yeah, you're right ... good spot (again)! Man that was sloppy of me.

EDIT:

New version fixing this is up, but the changes are very easy. In Revolution.py, add a not in front of the four lines which contain game.isOption(GameOptionTypes.GAMEOPTION_NO_ESPIONAGE) so that they read:

Code:
if( not game.isOption(GameOptionTypes.GAMEOPTION_NO_ESPIONAGE) ) :

There's one line which also has an and clause but you can add the not just like for the other three.
 
In my personal mod its revolution with some units and civs added. evrything runs fine until later in the game I get two occurences:

I was running a small hemispheres map with 8 civs and a 12 civ limit.

1) It keeps reporting a revolution has occured each turn (it mentions the civ, but this time not destroyed, but not created either). It seems like the code is hung up.

2) Its gets upto 11 civs (one less than the limit I set). again in the late game I get several revolutions but like I posted earlier they are created then immediately destroyed in the same in-between turn when they are spawned. after 10 or so turns like this the game crashes. I cant see anything in the logs. but my guess is that so many civs have been created and destroyed that the memory is maxed out or something.

this is in 1.63 - so i'm hoping its been fixed in 1.65
 
Code:
Traceback (most recent call last):

  File "CvEventInterface", line 30, in onEvent

  File "BugEventManager", line 254, in handleEvent

  File "BugEventManager", line 267, in _handleDefaultEvent

  File "BarbarianCiv", line 138, in onBeginGameTurn

  File "BarbarianCiv", line 746, in checkBarbCities

  File "BarbarianCiv", line 834, in createMinorCiv

  File "BarbarianCiv", line 580, in getUnitsForPlayer

RuntimeError: unidentifiable C++ exception
ERR: Python function onEvent failed, module CvEventInterface

Where might this be located?
 
Code:
Traceback (most recent call last):

  File "CvEventInterface", line 30, in onEvent

  File "BugEventManager", line 261, in handleEvent

  File "BugEventManager", line 274, in _handleDefaultEvent

  File "BarbarianCiv", line 138, in onBeginGameTurn

  File "BarbarianCiv", line 746, in checkBarbCities

  File "BarbarianCiv", line 768, in createMinorCiv

  File "BarbarianCiv", line 274, in pickNewPlayerSlot

TypeError: len() of unsized object
ERR: Python function onEvent failed, module CvEventInterface

And another one
 
@Caesium
Out of interest, what options are you playing under like map and initial player numbers? How often are you getting this error? At this point, I am not reproducing it and have not heard any other error reports of it yet.
Cheers.
 
Back
Top Bottom