Jump to content
Sign in to follow this  
tpw

Super Simple Ambient Civilians on any map

Recommended Posts

I've spent a lot of time recently playing with getting ambient civilians to work, with as little hassle as possible, especially on those maps that don't actually have ALICE support in their configs. There are some magic maps such as Clafghan, Sangin and Namalsk that really benefit from ambient civilians.

I started off guided by Clayman's post here: http://forums.bistudio.com/showpost.php?p=1625271&postcount=25

This actually works very well, but it means that you still have to manually assign a city center to every location that you want civs to appear at.

Whilst playing around I made the serendipitous discovery that you can actually move a named city center using setpos, and ALICE will spawn ambient civs at the new location (if there are appropriate houses). Garbage collection seems to work to remove civs from the old location, so your map doesn't end up clogged with civs.

It's easy enough then to automate the process so that the city center follows the player around, and civilians appear around the player at any point on the map. Using this method, it's also very easy to spawn any type of civilian on any map. Want Takistani civilians running around on Chernarus? Easy!

So here's how I do it:

1 - Put the ALICE(2) module on your map in the editor. In the init field of the module put:

this setVariable ["townlist", [ccenter]] 

2 - Place a city center logic and name it "ccenter".

3 - Assign what kinds of civilians you'd like by putting the following in the init of the city center:

this setVariable ["demography", ["BIS_TK_CIV",0]]

BIS_TK_CIV - Takistanis

CIV- Chernarussians

CIV_RU - Russians

CIV_AFR - Icebreakr's African civilians (if you have Duala)

CIV_LGR Icebreakr's Lingorian civilians (if you have Lingor)

You can mix up the demography too:

this setVariable ["demography", ["BIS_TK_CIV",0,"CIV_AFR",0]]

would spawn Takistanis and Africans in the same town.

4 - In the init field of the player put

nul = [] execVM "alice.sqf"

5 - Create the file alice.sqf in the mission folder, containing the following snippet of code:

while {alive player} do {
ccenter setpos (position player);
sleep 30;
};

Save and preview, and watch civilians appear and do their usual pointless civilian things, wherever there are enterable houses near you on the map.

So I've tested it for a few days and it's worked with any civilians and maps I've tried. A couple of caveats:

1 - Does not work for ambient vehicles, sorry.

2 - Only spawns civilians. I tried getting it to spawn OPFOR or BLUFOR, no joy.

3 - No idea how it behaves in MP.

Anyway, I hope someone out there finds this slightly useful.

Edited by tpw

Share this post


Link to post
Share on other sites

sorry for digging up this old topic but I wonder about this part :

BIS_TK_CIV - Takistanis

CIV- Chernarussians

CIV_RU - Russians

CIV_AFR - Icebreakr's African civilians (if you have Duala)

CIV_LGR Icebreakr's Lingorian civilians (if you have Lingor)

where would I find the code for other civilian types like Sarani for example? I looked in the config.bin in the pbo files and didn't see it there.

Not that I get it to work....as it is.

Edited by gotrek

Share this post


Link to post
Share on other sites

Hi gotrek. It definitely works, I've been using it for months - but with this slight change.

_lastpos = position player;
while {alive player} do {
if (player distance _lastpos > 500) then {
ccenter setpos (position player);
_lastpos = position player;};
sleep 30;};

This ensures that the city centre only moves once the player has moved at least 500m.

Not sure about Sahrani civ demography though.

Share this post


Link to post
Share on other sites

Thanks for replying.

Well I followed your instructions to the letter and I can't get it to work. It seemed simple enough I thought even I could do it :(

I tried using the ambient civ normal and the extension one alternatively , but nothing happens...

I included screenshots :

ss1

ss2

ss3

ss4

Share this post


Link to post
Share on other sites
Thanks for replying.

Well I followed your instructions to the letter and I can't get it to work. It seemed simple enough I thought even I could do it :(

I tried using the ambient civ normal and the extension one alternatively , but nothing happens...

I included screenshots :

ss1

ss2

ss3

ss4

Hi gotrek

Looks to me like you're trying it on Duala? Unfortunately this map is completely broken for ambient civilians, no matter which ALICE module is used. I'm not sure why.

Actually, I've found that the system works best for ALICE2, so basically it'll spawn civs on any maps which contain OA buildings. Chernarus, Utes, Podagorsk etc, which use ALICE1, don't seem to work well.

On the other hand, it works perfectly on maps such as Clafghan and Sangin, which otherwise have no ambient civs.

Share this post


Link to post
Share on other sites

Ah I see well thanks for theanswer, I was despairing about my capacity to follow instructions...Since you mentioned the Duala civilians I thought it worked and in another topic Icebreaker said Duala worked with ALICE, guess it was before patches or something.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×