Did you add the capital location to the list of tCapitals in Areas.py?
I followed the guide for the scenario maps.
I added Ulundi to the area.py
(68, 11), # Ulundi
Do I need to defind Ulundi anywhere else?
I’m guessing the fact that it says I am instantly defeated means that there is a problem with the ryhs and fall py.
I the guide for creating a civ says “In the beginning, you should make a copy of the constant from Consts.py and get the PyPlayer and PyTeam objects for your player.”
I don’t understand what this mean.
I am wondering if part of the problem is that I haven’t defined some of the things I use in the victory and unique powers py.
Unqiue power:
#------------------ZULU U.P.-------------------
def zuluUP(self, argsList): #Real Slavery by Sevo
if not pZzulu.isAlive(): return
if utils.isReborn(iZulu): return
pWinningUnit, pLosingUnit = argsList
iWinningPlayer = pWinningUnit.getOwner()
pWinningPlayer = gc.getPlayer(iWinningPlayer)
iLosingPlayer = pLosingUnit.getOwner()
iLosingUnit = pLosingUnit.getUnitType()
if iWinningPlayer != iZulu:
return
# Only enslave land units!!
if pLosingUnit.isAnimal() or not (pLosingUnit.getDomainType() == DomainTypes.DOMAIN_LAND and gc.getUnitInfo(iLosingUnit).getCombat() > 0):
return
iRandom = gc.getGame().getSorenRandNum(100, 'capture chance')
if iRandom < 20:
pNewUnit = pWinningPlayer.initUnit(iZuluRifleman, pWinningUnit.getX(), pWinningUnit.getY(), UnitAITypes.UNITAI_ZuluRifleman, DirectionTypes.DIRECTION_SOUTH)
CyInterface().addMessage(iWinningPlayer, True, 15, CyTranslator().getText("TXT_KEY_UP_ZULU_WIN", ()), 'SND_REVOLTEND', 1, 'Art/Units/kongolese_pombos/button_pombospombos/button_pombos.dds', ColorTypes(8), pWinningUnit.getX(), pWinningUnit.getY(), True, True)
CyInterface().addMessage(iLosingPlayer, True, 15, CyTranslator().getText("TXT_KEY_UP_ZULU_LOSE", ()), 'SND_REVOLTEND', 1, 'Art/Units/kongolese_pombos/button_pombos.dds', ColorTypes(7), pWinningUnit.getX(), pWinningUnit.getY(), True, True)
if pLosingUnit.getOwner() not in lCivGroups[5] and pLosingUnit.getOwner() < iNumPlayers: # old world civs now
data.iZuluRifleman += 1
Do I need to define Zulu rifleman, and if so where?
# Control all South Africa in 1900 AD
if iGameTurn == getTurnForYear(1900):
if isControlled(iZulu, utils.getPlotList(tSAfricaTL, tSAfricaBR)):
win(iZulu, 2)
else:
lose(iZulu, 2
Do I need to define South Africa, and if so where?
# second goal: have 10 Impi in 1875 AD
if isPossible(iEngland, 1):
iZuluImpi = 0
iZuluImpi += pZulu.getUnitClassCount(gc.getUnitInfo(iImpi).getUnitClassType())
if iZuluImpi >= 10:
win(iZulu, 1)
if iGameTurn == getTurnForYear(1875):
expire(iZulu, 1)
Do I need to define Zulu Impi, and if so where?
elif iPlayer == iZulu:
if iGoal == 0:
iNumIkhanda = getNumBuildings(iZulu, iIkhanda)
aHelp.append(getIcon(iNumIkhanda >= 2) + localText.getText("TXT_KEY_VICTORY_NUM_IKHANDA", (iNumIkhanda, 2)))
Do I need to define Ikhanda, and if so where?
On the scenario menu screen under the Zulu’s it says they have no unqiue building. Which file should it be pulling that from?
Finally the last time I tried to play the scenario I got the following error messages:
Cvglobal
Line: 1254
EleaderheadNum >1
Assert Failed
File: .\.\CvPlot.cpp
Line: 7325
Expression: eIndex >= 0
Message: iIndex is expected to be non-negative (invalid Index)
FAssertMsg(eIndex >= 0, "iIndex is expected to be non-negative (invalid Index)");
Assert Failed
File: .\.\CvPlot.cpp
Line: 7193
Expression: eIndex >= 0
Message: iIndex is expected to be non-negative (invalid Index)
FAssertMsg(eIndex >= 0, "iIndex is expected to be non-negative (invalid Index)");
Assert Failed
File: .\.\CvPlot.cpp
Line: 7340
Expression: getCulture(eIndex) >= 0
Message:
FAssert(getCulture(eIndex) >= 0);
Thanks to anyone who can help with all these problems!
I’m determined to manage to create a functioning civilization!