As long as they don't belong to the same country and are modular, yes. Most of them are modular, it is stated in their description in the download section.is it possible to have more than one of your leader heads loaded into the game and if so how would i be able to do that
Thanks. To get them to show up in the game, you have to put the unzipped content of the download into the mod folder of your installed game. For example, I have installed my game on the D drive, the Cleopatra mod will need this structure:First let me say your work is fantastic and sold me immediately on your efforts.
The problem I am having is I can't seem to get any of these others to show up in the game. I have put files in more places that I can't remember which location actually makes some of them work. I have also modified some of the xml files as directed but still nothing.
Us old guys aren't as savy as we would like to think sometimes.I have downloaded several other LH but can't seem to get them to work either.
So if someone could give me some simple guidance it would be greatly appreciated.
D:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\[B]Cleopatra\Assets\...[/B]
Thanks. To get them to show up in the game, you have to put the unzipped content of the download into the mod folder of your installed game. For example, I have installed my game on the D drive, the Cleopatra mod will need this structure:
The bold part is the mod content.Code:D:\Games\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Mods\[B]Cleopatra\Assets\...[/B]
In the game, you have to load the mod. You can do so by choosing "Advanced" in the menu and "Load a mod" in the following submenu.
Most of my leaderheads are modular mods, which means that they can be combined very easy into one big mod. To do so, just copy the content of the "Assets" folder of one mod into the other mod's "Assets" folder.
I hope this helps.![]()
You can also create a mod with your own name. For this, create an empty folder in the mod folder with the name you want to give the mod. Then load this mod in Civ4. A ini file will be created. In this ini file, make sure that this line exists:Ok, I created a folder in the Mod called Custom Leaders. I moved all the leader folders into it. First I tried to see if it would read that way but no. I then tried to move everything into Cleopatra but I think it just kept overwriting each others files. Still did show up.
; Modular XML Loading
ModularLoading = 1
You can also create a mod with your own name. For this, create an empty folder in the mod folder with the name you want to give the mod. Then load this mod in Civ4. A ini file will be created. In this ini file, make sure that this line exists:
Now you can put in that folder all the modular mods like you did with the Cleopatra folder.Code:; Modular XML Loading ModularLoading = 1
Trackback Error
CvEventInterface Line 23 onEvent
CvEventManager Line 186 handleEvent
CvEventManager Line 704 onGreatPersonBorn
NameError: globalname 'city' not defined
# Female Missionaries - saibotlieh - start
iplayer = gc.getPlayer(city.getOwner())
In fact I am at the moment, so suggestions for new leaderheads are very welcome.hi saibotlieh
if you are at a loose end, i wondered . . .
Lakshmi Bai, the Rani of Jhansi (c.19 November 1835 17 June 1858) was the queen of the Maratha-ruled princely state of Jhansi, situated in the northern part of India. She was one of the leading figures of the Indian Rebellion of 1857 and a symbol of resistance to the rule of the British East India Company in the subcontinent.
i love the hyper - real style of the hindu heroine (the marathas construed as hindu resurgence). i assume the baby is reloading the uzi.
there's another one here, purportedly an actual image
![]()
Good to hear that you didn't gave up and the merging is working for you now.My friend you are totally awesome.
Your last message was right on the money. It got me playing around more. As you can see from the last message my first attempt failed but it was because I didn't catch the last part about moving things into the Assets folder and then the folder into the route folder I made.
Once I did everything showed up. So I tried it with the leaders and bang it worked as well. I was so ready to give up on all this moding stuff.
However, two things came up.
The first game I tested crashed. I think because I had Cleo as a player. Not sure if it was because I had Hatshepsu playing too being both Egypt.
The second game I am playing now without her seems to be going well at round 200. But I get a error pop up when a prophet is made.
Code:Trackback Error CvEventInterface Line 23 onEvent CvEventManager Line 186 handleEvent CvEventManager Line 704 onGreatPersonBorn NameError: globalname 'city' not defined
Line 704 is,
Code:# Female Missionaries - saibotlieh - start iplayer = gc.getPlayer(city.getOwner())
Good to hear that you didn't gave up and the merging is working for you now.
I don't know what might have caused the first error. When did the game crash on you? Right at the start or some time later? Did you try it without a second Egypt?
For the second error I think you might have put the Female Missionaries code in the wrong place in the CVEventManager file. This part should not be in the "onGreatPersonBorn" function, but in the "onUnitBuilt" one.
# Female Great People - saibotlieh - start
UnitName = pUnit.getName()
iUnitType = pUnit.getUnitType()
UnitInfo = gc.getUnitInfo(iUnitType)
sUnitType = UnitInfo.getType()
sFemaleUnitType = 'UNIT_FEMALE'+sUnitType[4:]
iFemaleUnitType = gc.getInfoTypeForString(sFemaleUnitType)
if iFemaleUnitType > -1:
Owner = gc.getPlayer(iPlayer)
if Owner.isCivic(gc.getInfoTypeForString("CIVIC_EMANCIPATION")):
iFemaleChance = 50
else:
iFemaleChance = 15
if gc.getInfoTypeForString('BONUS_AMAZONS') > 0:
iNumAmazonBonuses = pCity.getNumBonuses(gc.getInfoTypeForString('BONUS_AMAZONS'))
iFemaleChance += iNumAmazonBonuses*15
if iFemaleChance > 50:
iFemaleChance = 50
iRnd = CyGame().getSorenRandNum(100, "Female unit")
if iRnd < iFemaleChance:
pFemaleUnit = Owner.initUnit(iFemaleUnitType,pUnit.getX(),pUnit.getY(),UnitAITypes.NO_UNITAI,DirectionTypes.DIRECTION_SOUTH)
pUnit.kill(false,iPlayer)
UnitName = pFemaleUnit.getName()
# Female Great People - saibotlieh - end
# Female Missionaries - saibotlieh - start
iplayer = gc.getPlayer(city.getOwner())
iUnitType = unit.getUnitType()
UnitInfo = gc.getUnitInfo(iUnitType)
if UnitInfo.getDefaultUnitAIType() == gc.getInfoTypeForString('UNITAI_MISSIONARY'):
sUnitType = UnitInfo.getType()
sFemaleUnitType = 'UNIT_FEMALE'+sUnitType[4:]
iFemaleUnitType = gc.getInfoTypeForString(sFemaleUnitType)
if iFemaleUnitType > -1:
if iplayer.isCivic(gc.getInfoTypeForString('CIVIC_EMANCIPATION')):
iFemaleChance = 50
else:
iFemaleChance = 15
iRnd = CyGame().getSorenRandNum(100, "Female unit")
if iRnd < iFemaleChance:
oldunit = unit
pFemaleUnit = iplayer.initUnit(iFemaleUnitType,oldunit.getX(),oldunit.getY(),UnitAITypes.NO_UNITAI,DirectionTypes.DIRECTION_SOUTH)
pFemaleUnit.convert(oldunit)
if oldunit.getGroup().isAutomated():
pFemaleUnit.getGroup().setAutomateType(AutomateTypes.AUTOMATE_RELIGION)
oldunit.kill(false,oldunit.getOwner())
# Female Missionaries - saibotlieh - end
# Native Amazons - saibotlieh - start
if iPlayer > -1 and iTechType == gc.getInfoTypeForString('TECH_GUNPOWDER'):
pPlayer = gc.getPlayer(iPlayer)
lPlots = []
(loopUnit, iter) = pPlayer.firstUnit(False)
while (loopUnit):
if gc.getUnitInfo(loopUnit.getUnitType()).getPrereqAndBonus() == gc.getInfoTypeForString('BONUS_AMAZONS'):
iUnitType = loopUnit.getUnitType()
UnitInfo = gc.getUnitInfo(iUnitType)
sUnitType = UnitInfo.getType()
iNewUnitType = -1
if sUnitType == 'UNIT_AMAZON_HORSE_LANCER':
iNewUnitType = gc.getInfoTypeForString('UNIT_KNIGHT')
elif not (sUnitType == 'UNIT_AMAZON_SCOUT' or sUnitType == 'UNIT_AMAZON_SPY' or sUnitType == 'UNIT_AMAZON_WARRIOR'):
sNewUnitType = 'UNIT'+sUnitType[11:]
iNewUnitType = gc.getInfoTypeForString(sNewUnitType)
if not iNewUnitType == -1:
dir = DirectionTypes(loopUnit.getFacingDirection())
pNewUnit = pPlayer.initUnit(iNewUnitType, loopUnit.getX(), loopUnit.getY(), UnitAITypes.NO_UNITAI, dir)
pNewUnit.convert(loopUnit)
loopUnit.kill(true, iPlayer)
(loopUnit, iter) = pPlayer.nextUnit(iter, False)
# Native Amazons - saibotlieh - end
I'm not sure about some of the other issues that you're running into, but from looking at the code you posted there, you have a few things going on. The lines that I outlined in red have quite a large amount of duplication and can probably be greatly simplified. This might even be causing your crash problem.I placed it with your other scripts in the manager.
Strangely I reloaded the game and don't seem to get the pop up any more but it also doesn't appear to be creating one at least not that I have seen yet.Code:# Female Great People - saibotlieh - start [COLOR=Red]UnitName = pUnit.getName() iUnitType = pUnit.getUnitType() UnitInfo = gc.getUnitInfo(iUnitType) sUnitType = UnitInfo.getType() sFemaleUnitType = 'UNIT_FEMALE'+sUnitType[4:] iFemaleUnitType = gc.getInfoTypeForString(sFemaleUnitType)[/COLOR] [COLOR=Red]if iFemaleUnitType > -1: Owner = gc.getPlayer(iPlayer) if Owner.isCivic(gc.getInfoTypeForString("CIVIC_EMANCIPATION")): iFemaleChance = 50 else: iFemaleChance = 15[/COLOR] if gc.getInfoTypeForString('BONUS_AMAZONS') > 0: iNumAmazonBonuses = pCity.getNumBonuses(gc.getInfoTypeForString('BONUS_AMAZONS')) iFemaleChance += iNumAmazonBonuses*15 if iFemaleChance > 50: iFemaleChance = 50 iRnd = CyGame().getSorenRandNum(100, "Female unit") if iRnd < iFemaleChance: [COLOR=Red]pFemaleUnit = Owner.initUnit(iFemaleUnitType,pUnit.getX(),pUnit.getY(),UnitAITypes.NO_UNITAI,DirectionTypes.DIRECTION_SOUTH) pUnit.kill(false,iPlayer) UnitName = pFemaleUnit.getName()[/COLOR] # Female Great People - saibotlieh - end # Female Missionaries - saibotlieh - start iplayer = gc.getPlayer(city.getOwner()) iUnitType = unit.getUnitType() UnitInfo = gc.getUnitInfo(iUnitType) if UnitInfo.getDefaultUnitAIType() == gc.getInfoTypeForString('UNITAI_MISSIONARY'): [COLOR=Red]sUnitType = UnitInfo.getType() sFemaleUnitType = 'UNIT_FEMALE'+sUnitType[4:] iFemaleUnitType = gc.getInfoTypeForString(sFemaleUnitType)[/COLOR] if iFemaleUnitType > -1: [COLOR=Red]if iplayer.isCivic(gc.getInfoTypeForString('CIVIC_EMANCIPATION')): iFemaleChance = 50 else: iFemaleChance = 15 iRnd = CyGame().getSorenRandNum(100, "Female unit") if iRnd < iFemaleChance: oldunit = unit pFemaleUnit = iplayer.initUnit(iFemaleUnitType,oldunit.getX(),oldunit.getY(),UnitAITypes.NO_UNITAI,DirectionTypes.DIRECTION_SOUTH) pFemaleUnit.convert(oldunit) if oldunit.getGroup().isAutomated(): pFemaleUnit.getGroup().setAutomateType(AutomateTypes.AUTOMATE_RELIGION) oldunit.kill(false,oldunit.getOwner())[/COLOR] # Female Missionaries - saibotlieh - end # Native Amazons - saibotlieh - start if iPlayer > -1 and iTechType == gc.getInfoTypeForString('TECH_GUNPOWDER'): pPlayer = gc.getPlayer(iPlayer) lPlots = [] (loopUnit, iter) = pPlayer.firstUnit(False) while (loopUnit): if gc.getUnitInfo(loopUnit.getUnitType()).getPrereqAndBonus() == gc.getInfoTypeForString('BONUS_AMAZONS'): iUnitType = loopUnit.getUnitType() UnitInfo = gc.getUnitInfo(iUnitType) sUnitType = UnitInfo.getType() iNewUnitType = -1 if sUnitType == 'UNIT_AMAZON_HORSE_LANCER': iNewUnitType = gc.getInfoTypeForString('UNIT_KNIGHT') elif not (sUnitType == 'UNIT_AMAZON_SCOUT' or sUnitType == 'UNIT_AMAZON_SPY' or sUnitType == 'UNIT_AMAZON_WARRIOR'): sNewUnitType = 'UNIT'+sUnitType[11:] iNewUnitType = gc.getInfoTypeForString(sNewUnitType) if not iNewUnitType == -1: dir = DirectionTypes(loopUnit.getFacingDirection()) pNewUnit = pPlayer.initUnit(iNewUnitType, loopUnit.getX(), loopUnit.getY(), UnitAITypes.NO_UNITAI, dir) pNewUnit.convert(loopUnit) loopUnit.kill(true, iPlayer) (loopUnit, iter) = pPlayer.nextUnit(iter, False) # Native Amazons - saibotlieh - end
It crashed a little into the game. I am suspecting it was when my scout or hers made contact. I restarted from a save and looked around to see what unit was where and noticed we were about to make contact. I haven't tried the reverse leader but the game seems to run fine without Cleo so far. I will start another game with her and not Hap as soon as this one runs it's coarse.
I'm not sure about some of the other issues that you're running into, but from looking at the code you posted there, you have a few things going on. The lines that I outlined in red have quite a large amount of duplication and can probably be greatly simplified. This might even be causing your crash problem.
I think the problem might be that you pasted the code into the wrong place in the CVEventManager file. The great person code must be put into the "onGreatPersonBorn" function, which is called when a great person is born.Thanks for the reply. I see the duplication but I didn't write the code. I just copied it over from his file. I am not sure what I should delete or revise.
It may explain why I was initially getting the error pop-ups which haven't occurred since reloading the game. However, at round 500 I haven't seen one show up but they do show in the world maker and can be added manually, functioning fine. This may be because of the duplication.
The crash didn't happen running this though. I happened when I was attempting to use one of his LH's. I haven't tried it the second time because I am still in a game seeing if everything is running right without her. So far so good!
def onGreatPersonBorn(self, argsList):
'Unit Promoted'
pUnit, iPlayer, pCity = argsList
player = PyPlayer(iPlayer)
if pUnit.isNone() or pCity.isNone():
return
# Female Great People - saibotlieh - start
UnitName = pUnit.getName()
iUnitType = pUnit.getUnitType()
UnitInfo = gc.getUnitInfo(iUnitType)
sUnitType = UnitInfo.getType()
sFemaleUnitType = 'UNIT_FEMALE'+sUnitType[4:]
iFemaleUnitType = gc.getInfoTypeForString(sFemaleUnitType)
if iFemaleUnitType > -1:
Owner = gc.getPlayer(iPlayer)
if Owner.isCivic(gc.getInfoTypeForString("CIVIC_EMANCIPATION")):
iFemaleChance = 50
else:
iFemaleChance = 15
if gc.getInfoTypeForString('BONUS_AMAZONS') > 0:
iNumAmazonBonuses = pCity.getNumBonuses(gc.getInfoTypeForString('BONUS_AMAZONS'))
iFemaleChance += iNumAmazonBonuses*15
if iFemaleChance > 50:
iFemaleChance = 50
iRnd = CyGame().getSorenRandNum(100, "Female unit")
if iRnd < iFemaleChance:
pFemaleUnit = Owner.initUnit(iFemaleUnitType,pUnit.getX(),pUnit.getY(),UnitAITypes.NO_UNITAI,DirectionTypes.DIRECTION_SOUTH)
pUnit.kill(false,iPlayer)
UnitName = pFemaleUnit.getName()
# Female Great People - saibotlieh - end
if (not self.__LOG_GREATPERSON):
return
CvUtil.pyPrint('A %s was born for %s in %s' %(UnitName, player.getCivilizationName(), pCity.getName()))
def onUnitBuilt(self, argsList):
'Unit Completed'
city = argsList[0]
unit = argsList[1]
player = PyPlayer(city.getOwner())
# Female Missionaries - saibotlieh - start
iplayer = gc.getPlayer(city.getOwner())
iUnitType = unit.getUnitType()
UnitInfo = gc.getUnitInfo(iUnitType)
if UnitInfo.getDefaultUnitAIType() == gc.getInfoTypeForString('UNITAI_MISSIONARY'):
sUnitType = UnitInfo.getType()
sFemaleUnitType = 'UNIT_FEMALE'+sUnitType[4:]
iFemaleUnitType = gc.getInfoTypeForString(sFemaleUnitType)
if iFemaleUnitType > -1:
if iplayer.isCivic(gc.getInfoTypeForString('CIVIC_EMANCIPATION')):
iFemaleChance = 50
else:
iFemaleChance = 15
iRnd = CyGame().getSorenRandNum(100, "Female unit")
if iRnd < iFemaleChance:
oldunit = unit
pFemaleUnit = iplayer.initUnit(iFemaleUnitType,oldunit.getX(),oldunit.getY(),UnitAITypes.NO_UNITAI,DirectionTypes.DIRECTION_SOUTH)
pFemaleUnit.convert(oldunit)
if oldunit.getGroup().isAutomated():
pFemaleUnit.getGroup().setAutomateType(AutomateTypes.AUTOMATE_RELIGION)
oldunit.kill(false,oldunit.getOwner())
# Female Missionaries - saibotlieh - end
# Female Modern Soldiers - saibotlieh - start
iplayer = gc.getPlayer(city.getOwner())
iUnitType = unit.getUnitType()
UnitInfo = gc.getUnitInfo(iUnitType)
sUnitType = UnitInfo.getType()
sMixedUnitType = 'UNIT_MIXED'+sUnitType[4:]
iMixedUnitType = gc.getInfoTypeForString(sMixedUnitType)
if iMixedUnitType > -1:
if iplayer.isCivic(gc.getInfoTypeForString('CIVIC_EMANCIPATION')):
iFemaleChance = 50
else:
iFemaleChance = 15
NumOfFemales = 0
iRnd = CyGame().getSorenRandNum(100, "First Person Female")
if iRnd < iFemaleChance:
NumOfFemales+=1
iRnd = CyGame().getSorenRandNum(100, "Second Person Female")
if iRnd < iFemaleChance:
NumOfFemales+=1
iRnd = CyGame().getSorenRandNum(100, "Third Person Female")
if iRnd < iFemaleChance:
NumOfFemales+=1
if NumOfFemales > 0:
if NumOfFemales == 2:
iMixedUnitType = gc.getInfoTypeForString(sMixedUnitType+'12')
if NumOfFemales == 3:
iMixedUnitType = gc.getInfoTypeForString(sMixedUnitType+'03')
oldunit = unit
pMixedUnit = iplayer.initUnit(iMixedUnitType,oldunit.getX(),oldunit.getY(),UnitAITypes.NO_UNITAI,DirectionTypes.DIRECTION_SOUTH)
pMixedUnit.convert(oldunit)
oldunit.kill(false,oldunit.getOwner())
# Female Modern Soldiers - saibotlieh - end
CvAdvisorUtils.unitBuiltFeats(city, unit)
if (not self.__LOG_UNITBUILD):
return
CvUtil.pyPrint('%s was finished by Player %d Civilization %s'
%(PyInfo.UnitInfo(unit.getUnitType()).getDescription(), player.getID(), player.getCivilizationName()))
; Set to 1 for no python exception popups
HidePythonExceptions = 0
Sounds good so far.UPDATE: Completely, started fresh and so far so good. I had a whack of syntax errors after moving everything around so started over. So far so good!
Hmmm, is there a certain event that causes the crash? Like, opening the diplomatic screen or meeting Cleo for the first time? Also, does she appear with no problems in the civilopedia? Did you change anything in the Cleo files? Do you have added another Egypt leader or changed anything else for the Egypts?By the way I tried Cleo again with just a couple of your other leaders. Crashed again around turn 20 or so. All the others played fine throughout the last game.
Sounds good so far.
Hmmm, is there a certain event that causes the crash? Like, opening the diplomatic screen or meeting Cleo for the first time? Also, does she appear with no problems in the civilopedia? Did you change anything in the Cleo files? Do you have added another Egypt leader or changed anything else for the Egypts?
Okay, that sounds like there is something wrong with the graphics. Does the game also crash when you look at her in the civilopedia? Also, do you know if you are using the shadered or the non-shadered version of the leaderhead? The shadered one looks like this:It seems to be when we meet for the first time. Also, I started a game already meeting her. When I clicked on her to chat it crashed. I didn't change anything in any of her files and I didn't have any Egypt leaders running at the same time. It is really odd because all the others are running fine.
Okay, that sounds like there is something wrong with the graphics. Does the game also crash when you look at her in the civilopedia? Also, do you know if you are using the shadered or the non-shadered version of the leaderhead? The shadered one looks like this:
Spoiler :
And the non-shadered one looks like this:
Spoiler :