How to disallow city building?

pokeravi

Warlord
Joined
Aug 13, 2002
Messages
234
Location
Jersey City, NJ
Hi. I'm making a scenario and I can't let any of the civs build any cities. Of course I've already made cities for all the civs but I want to make it so that they can't build anymore. Any tips? Thanks.
 
pokeravi said:
Hi. I'm making a scenario and I can't let any of the civs build any cities. Of course I've already made cities for all the civs but I want to make it so that they can't build anymore. Any tips? Thanks.

Just remove the settler unit from the game.
 
You could make it be built only after researching FUTURE_TECH. Not the best solution, but it would work.
 
How would you do that? Sorry I'm to good with coding or anything like that. Also I don't want to make it so that the no settler rule isn't applied for the whole game. Only for that scenario.
 
In file Mods\<yourmodname>\assets\xml\units\unitinfos.xml

search for UNIT_SETTLER

read down from there and find the line
<Found>1</Found>

and change it to

<Found>0</Found>

or, to do as woodelf suggests, look for the line
<PrereqTech>NONE</PrereqTech>

and replace the NONE with
TECH_FUTURE_TECH

The first way stops Settlers from being allowed to build cities and the second way doesn't allow settlers to be built until Future Tech is learned. You could also use any other tech besides Future Tech, my buddies and me use to put settlers allowed by Engenireing just so city spread wasn't so crazy in CivIII.
 
Removing the settler altogether, or disabling them from settling, would not allow you to start a game, right? Not sure I've ever really understood how to set up a scenario in WorldBuilder...
 
I don't see why it would stop the game from working, it is why those things are stored in xml values. You could just as easly set the Found to 1 for warriors and workers and then they would both be able ot build cities. I don't know, I have never acually tryed it in Civ4, but changeing the found to 0 should do just what pokeravi wants, though he may want to do both just so the AI can't waste any time building the now useless settler. :>


EDIT: do both = set Found to 0 and set PrereqTech to TECH_FUTURE_TECH or somthing. :)
 
Jeckel said:
In file Mods\<yourmodname>\assets\xml\units\unitinfos.xml

search for UNIT_SETTLER

read down from there and find the line
<Found>1</Found>

and change it to

<Found>0</Found>

or, to do as woodelf suggests, look for the line
<PrereqTech>NONE</PrereqTech>

and replace the NONE with
TECH_FUTURE_TECH

The first way stops Settlers from being allowed to build cities and the second way doesn't allow settlers to be built until Future Tech is learned. You could also use any other tech besides Future Tech, my buddies and me use to put settlers allowed by Engenireing just so city spread wasn't so crazy in CivIII.

I see what you mean, but I'm not making a mod but a scenario, so I don't have those XML files and whatever. However I'd do that if I knew how. So how do you create those XML files?

EDIT: I think I figured it out. So I just copy the base XML file from the civ IV folder right? However how the heck do you open XML Files?
 
I found out how to open the XML, but I can't find the line. I searched for it and it's not there.

EDIT: NM Lol, I found it. Now here's the other problem. Where do I put the scenario world builder file so that I can load it up in Civ IV?
 
You put the world builder file in <Civ4 main dir>\PublicMaps I think its call. Then, when your ingame, load your mod (Advanced => Load A Mod), then start your scenario just as you would normally. :>
 
Yeah I already have it like that. But I want the map to load automatically like when you load the American Revolution mod or the Desert War mod.
 
@pokeravi
Ahh, sorry. To do that, open your scenario's world builder save file in Notepad or some other text editor. At the top you should see somthing like this

Code:
BeginGame
	Era=ERA_ANCIENT
	Speed=GAMESPEED_EPIC
	Calendar=CALENDAR_SEASONS
	Option=GAMEOPTION_RAGING_BARBARIANS
	ForceControl=FORCECONTROL_SPEED
	Victory=VICTORY_TIME
	Victory=VICTORY_CONQUEST
	Victory=VICTORY_DOMINATION
	Victory=VICTORY_CULTURAL
	Victory=VICTORY_SPACE_RACE
	Victory=VICTORY_DIPLOMATIC
	GameTurn=1
	MaxTurns=600
	MaxCityElimination=0
	TargetScore=0
	StartYear=-4000
	Description=
	ModPath=Mods\FirstAge
EndGame

It prob won't look exactly like this, but just make sure something like 'ModPath=Mods\<YourModName>' is in there and you should be golden. :>
 
Jeckel said:
@pokeravi
Ahh, sorry. To do that, open your scenario's world builder save file in Notepad or some other text editor. At the top you should see somthing like this

Code:
BeginGame
	Era=ERA_ANCIENT
	Speed=GAMESPEED_EPIC
	Calendar=CALENDAR_SEASONS
	Option=GAMEOPTION_RAGING_BARBARIANS
	ForceControl=FORCECONTROL_SPEED
	Victory=VICTORY_TIME
	Victory=VICTORY_CONQUEST
	Victory=VICTORY_DOMINATION
	Victory=VICTORY_CULTURAL
	Victory=VICTORY_SPACE_RACE
	Victory=VICTORY_DIPLOMATIC
	GameTurn=1
	MaxTurns=600
	MaxCityElimination=0
	TargetScore=0
	StartYear=-4000
	Description=
	ModPath=Mods\FirstAge
EndGame

It prob won't look exactly like this, but just make sure something like 'ModPath=Mods\<YourModName>' is in there and you should be golden. :>

^Thanks. :)
 
Jeckel said:
You put the world builder file in <Civ4 main dir>\PublicMaps I think its call. Then, when your ingame, load your mod (Advanced => Load A Mod), then start your scenario just as you would normally. :>

If you put the WB file in Public Maps, it will appear on the Single Player/Scenarios menu, like GreekWorld does.
 
Back
Top Bottom