Jump to content

Recommended Posts

Hmm, i tested it today and it seems to work, but i'm not 100% sure.

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

sleep 600;

//Sets frequency and number of patrols (0-1). BIS_ACM is module name
[1, BIS_ACM] call BIS_ACM_setIntensityFunc;  

//min max spawn distance
[bIS_ACM, 300, 600] call BIS_ACM_setSpawnDistanceFunc;

//factions to be spawned
[["GUE","RU"], BIS_ACM] call BIS_ACM_setFactionsFunc;

//Skill range for spawned units
[0.4, 0.8, BIS_ACM] call BIS_ACM_setSkillFunc;

//Amount of ammo spawned units possess
[0.4, 0.8, BIS_ACM] call BIS_ACM_setAmmoFunc;

//Type of patrol. With 0 meaning no chance of appearing, and 1 meaning 100% chance. -1 removes patrol type completely.
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

Share this post


Link to post
Share on other sites

I wanted to see how the ambient modules worked, so I could easily populate a town with random civilians and whatnot but it doesn't seem to be working as well as I hoped. I placed the civvie module down in the editor and myself next to it, then hit preview. I did see one civilian wander by but he was it and the town was empty.

I then tried out the ambient combat module as per these instructions

1. Place at least one unit in your mission.

2. Place an ACM near this unit (F1 > Side: Game Logic > Class: Modules > Unit: Ambient Combat).

3. Synchronize the unit with the ACM (F5 > drag a line between the two objects).

4. Preview the mission and enjoy!

I did exactly that (this time being sure to sync the logic with myself) and saw nothing aside from one enemy helicopter fly past about five minutes after start. I realize it is supposed to take a bit of time to populate, but am I doing something wrong? How long before I should start seeing enemy infantry and what not?

Share this post


Link to post
Share on other sites
I wanted to see how the ambient modules worked, so I could easily populate a town with random civilians and whatnot but it doesn't seem to be working as well as I hoped. I placed the civvie module down in the editor and myself next to it, then hit preview. I did see one civilian wander by but he was it and the town was empty.

I then tried out the ambient combat module as per these instructions

I did exactly that (this time being sure to sync the logic with myself) and saw nothing aside from one enemy helicopter fly past about five minutes after start. I realize it is supposed to take a bit of time to populate, but am I doing something wrong? How long before I should start seeing enemy infantry and what not?

I'm not sure, as I've only had the game less than a day, but you might need to move about before some activities are generated. I mean, you might not and there's some other problem for you, but try moving from one location to another.

Share this post


Link to post
Share on other sites

You have looked through this thread that is about the ACM module?

http://forums.bistudio.com/showthread.php?t=73393

To get different factions spawned etc you need an init.sqf in your mission folder where you can set how good the AI should be, what factions will be spawned, how much air contra ground forces will spawn etc etc. Very simple setup but sure needs more than just syncing ACM to player. Not hard though. Check it out.

Alex

Share this post


Link to post
Share on other sites

Ignore the previous three posts, it appears my thread was merged with this one.

Edited by datter

Share this post


Link to post
Share on other sites
To get different factions spawned etc you need an init.sqf in your mission folder where you can set how good the AI should be, what factions will be spawned, how much air contra ground forces will spawn etc etc. Very simple setup but sure needs more than just syncing ACM to player. Not hard though. Check it out.

...What?! But there's a freaking YouTube video showing the ACM working right out of the box! :confused: That was even one of the earliest videos, as far as I can recall.

Share this post


Link to post
Share on other sites
...What?! But there's a freaking YouTube video showing the ACM working right out of the box! :confused: That was even one of the earliest videos, as far as I can recall.

It DOES work out of the box.. you just can configure it (albeit not as simple as some may wish:))

Share this post


Link to post
Share on other sites

Yes, but it does produce more than a single chopper when not yet configured, doesn't it? :confused:

Share this post


Link to post
Share on other sites

I read in the BIS Wiki that "By default the ACM will select group types from CfgGroups, but you may want to use only a number of specific group types." And that each squad/group has a chance value of spawning, so for example regular infantry has a higher chance of spawning then a sniper team.

Is there anyway I can edit these chances, or make my own CfgGroups file that is linked only to one mission, so it only effects the mission I want it to and not other missions Ive made using the ACM?

Or is there any other way I can limit which group types spawn and the chance values they have?

Share this post


Link to post
Share on other sites
Is there anyway I can edit these chances, or make my own CfgGroups file that is linked only to one mission, ...

++ for this idea. Defining groups (and their chances of appearance) on a per-mission-basis would be very handy for the ACM.

As for

Or is there any other way I can limit which group types spawn and the chance values they have?

You can already define exactly which group's will spawn (search for: BIS_ACM_addGroupClassesFunc), though I don't know of any possibility to modify their chance to appear.

Also there's an interesting comment in `ground_patrol.sqf` (script of ACM) that reads:

//Assign a patrol task.

Which leads me to the following suggestion: There are locations in ArmAII (though I don't know much about their potential yet), so how about spawned Groups from the ACM would orient themselves by these locations? Valuable locations could be the target of any group and once they secured such a location, other groups could set up their patrols around these locations!

This could make the ACM a whole lot more believeable, IMHO. Also, mission-makers could have the option to choose if their ACM should consider standard-locations already defined on a map OR they could setup and register their own locations! (this we offer instant defence-mission: setup one custom location and everything that spawns will head towards this location...)

Also different group-classes could handle different tasks (hold/defend or attack/secure a location, patrol around a secured location, street-blockade, recon, etc. etc.)

Something alonge those lines would be awesome.

Share this post


Link to post
Share on other sites

Thanks for the reply, I noticed the command

[<ACM reference | Object>, <types | Array of Configs and / or Strings>] call BIS_ACM_addGroupClassesFunc;

Now I know what <ACM reference | Object> would be, thats the name of my ACM module, in this case BIS_ACM. But <types | Array of Configs and / or Strings>, where can I find a list of groups and their names?

Share this post


Link to post
Share on other sites
where can I find a list of groups and their names?

:rolleyes: actually, in this very thread, one page before this here or two... :D

Share this post


Link to post
Share on other sites
:rolleyes: actually, in this very thread, one page before this here or two... :D

Oh yes :) I see that know, thanks. Sorry for not looking harder :o

Share this post


Link to post
Share on other sites

Copy and paste this to a notepad and save as init.sqf and place it in your mission folder. In the mission you already made a unit (player) and placed an ACM module wich you named BIS_ACM (name field of the module), and then you dragged a synchronization line between the ACM module to your unit (player). SAVE and PREVIEW.

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};

waitUntil {BIS_ACM getVariable "initDone"};

//Sets frequency and number of patrols (0-1). BIS_ACM is module name

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;

//min max spawn distance

[bIS_ACM, 100, 500] call BIS_ACM_setSpawnDistanceFunc;

//factions to be spawned

[["USMC", "INS", "CDF", "RU", "GER"], BIS_ACM] call BIS_ACM_setFactionsFunc;

//Skill range for spawned units

[0, 0.6, BIS_ACM] call BIS_ACM_setSkillFunc;

//Amount of ammo spawned units possess

[0.2, 0.5, BIS_ACM] call BIS_ACM_setAmmoFunc;

//Type of patrol. With 0 meaning no chance of appearing, and 1 meaning 100% chance. -1 removes patrol type completely.

["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

["air_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

Note that the values range from 0 to 1 where 0.5 is middle value.

-Frequency wich is the top value as you can see sets how intense it will be. How much patrols will be spawn all the time.

-Next value is 100, 500 wich means meters closest they spawn and meters furthest away from player they spawn.

-Next is the factions to spawn. I added all. Remove some if needed.

-Skill and amount of ammo is self explanable.

-Last but not least is how much GROUND or AIR should be involved. 0 means nothing 0.5 means more and 1 means full load. So for little air but lots of ground forces you would set air to maybe 0.something and ground to 1.

Hope this is clearer now. ;)

Alex

Share this post


Link to post
Share on other sites

I copied down the group names to a txt file and split the script name from the type name, its useful to have on your computer rather then here.

http://rapidshare.com/files/247106563/GroupNames.rar.html

Just been testing it out.

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[bIS_ACM, 15, 30] call BIS_ACM_setSpawnDistanceFunc;
[0.5, 0.8, BIS_ACM] call BIS_ACM_setAmmoFunc;
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

This works fine, only ground units spawn, so infantry, mechanized, motorized and foot. Tanks spawn as well. After around 20 or so second in the mission things start spawning, around 10 seconds apart from each other.

But this code:

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[bIS_ACM, 15, 30] call BIS_ACM_setSpawnDistanceFunc;
[0.5, 0.8, BIS_ACM] call BIS_ACM_setAmmoFunc;
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

[bIS_ACM, usmc_infsquad] call BIS_ACM_addGroupClassesFunc;

Nothing spawns even after a few minutes :/

edit: also just tried:

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
[bIS_ACM, 15, 30] call BIS_ACM_setSpawnDistanceFunc;
[0.5, 0.8, BIS_ACM] call BIS_ACM_setAmmoFunc;

[bIS_ACM, usmc_infsquad] call BIS_ACM_addGroupClassesFunc;

Thinking that removing some of the other unit/faction parameters would fix it. Noluck, nothing spawned.

Edit 2: tried a few more combinations

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[bIS_ACM, 15, 30] call BIS_ACM_setSpawnDistanceFunc;
[0.5, 0.8, BIS_ACM] call BIS_ACM_setAmmoFunc;
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;


[bIS_ACM, ["usmc_tankplatoon", "usmc_armored", "usmc_mechreconsection","usmc_mechinfsquad", "usmc_mechanized"]] call BIS_ACM_removeGroupClassesFunc;

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[bIS_ACM, 15, 30] call BIS_ACM_setSpawnDistanceFunc;
[0.5, 0.8, BIS_ACM] call BIS_ACM_setAmmoFunc;
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;


[bIS_ACM, usmc_tankplatoon] call BIS_ACM_removeGroupClassesFunc;

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[bIS_ACM, 15, 30] call BIS_ACM_setSpawnDistanceFunc;
[0.5, 0.8, BIS_ACM] call BIS_ACM_setAmmoFunc;
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;


[bIS_ACM, usmc_tankplatoon] call BIS_ACM_removeGroupClassesFunc;
[bIS_ACM, usmc_mechreconsection] call BIS_ACM_removeGroupClassesFunc;
[bIS_ACM, usmc_mechinfsquad] call BIS_ACM_removeGroupClassesFunc;
[bIS_ACM, usmc_mechanized] call BIS_ACM_removeGroupClassesFunc;
[bIS_ACM, usmc_armored] call BIS_ACM_removeGroupClassesFunc;

Still no luck, seems really hit and miss. Would be nice if BIS stepped in and gave some more guidance/information/examples.

Edited by Nieldo

Share this post


Link to post
Share on other sites

You have to put those group-classes into an array (also if you have only one) and pass this array as an argument to the function. Not a class itself.

Also consider to have a look at your `arma2.RPT`-file once in a while, while scripting. Errors (and hints why the error occured/whats wrong) are logged in there.

Share this post


Link to post
Share on other sites

Gah this just keeps getting more complicated.

the array would look something like

[usmc_tankplatoon, usmc_mechreconsection, usmc_mechinfsquad, usmc_mechanized]

?

Is the array a file or is it put somewhere in init.sqf?

Also how would I link it into the ACM and get it all working?

Sorry for asking all these questions, I really really appreciate the help.

Edit: Think I figured it out. Is it:

[usmc_tankplatoon, usmc_mechreconsection, usmc_mechinfsquad, usmc_mechanized] execVM "ca\modules\ambient_combat\data\scripts\functions\removeGroupClasses.sqf";

? Testing now :) Well that didnt work.

Edit 2: I tried the add script, no errors returned in the RPT file it it didnt work either.

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
//[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[bIS_ACM, 15, 30] call BIS_ACM_setSpawnDistanceFunc;
//[0.5, 0.8, BIS_ACM] call BIS_ACM_setAmmoFunc;
//["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
//["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

[usmc_sniperteam] execVM "ca\modules\ambient_combat\data\scripts\functions\addGroupClasses.sqf";

I cut off a few of the other scripts just to see if it was working. It wasnt, a BMP2 infantry squad spawned instead. So its just ignoring the script, at least the array. Maybe Ive done it wrong.

Edited by Nieldo

Share this post


Link to post
Share on other sites

The problem i have is when i try and save one of my missions, i cannot load it. Just stays on the loading screen forever, does anyone know why ?

Share this post


Link to post
Share on other sites

I still get nothing when using the ACM module.. The Civilians works just fine, they get spawned in the cities. But the ACM doesn't seem to work for me. It is synced with the unit, not grouped.

I've tried syncing it with all units, just some, just one, the player, the leader, a dog.. Pretty much everything, but there is no soldiers anywhere even if I stay 15 minutes on the map (still or moving around).

Is the module a bit unstable? (it doesn't help to fiddle with the init-file either)

*** edit ***

Now it kicks in , sometimes... A few chopper came and two footmen, then nothing.

Edited by Tophe
change

Share this post


Link to post
Share on other sites
I still get nothing when using the ACM module.. The Civilians works just fine, they get spawned in the cities. But the ACM doesn't seem to work for me. It is synced with the unit, not grouped.

I've tried syncing it with all units, just some, just one, the player, the leader, a dog.. Pretty much everything, but there is no soldiers anywhere even if I stay 15 minutes on the map (still or moving around).

Is the module a bit unstable? (it doesn't help to fiddle with the init-file either)

*** edit ***

Now it kicks in , sometimes... A few chopper came and two footmen, then nothing.

Tophe, I don't know if this will help but I was having simular problems and I made the max and min distance larger like min-100 and max-350, then things began to work. Don't know if 100 is a minimum or I if it was just a fluke. I had previously had the minimum less than 100.

Share this post


Link to post
Share on other sites

Okay, let me see if I've got this straight:

---

Scenario:

After saving a user-made mission, I put the init.sqf file into the mission folder. In this file, I have copied and pasted the following from this thread:

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};

waitUntil {BIS_ACM getVariable "initDone"};

//Sets frequency and number of patrols (0-1). BIS_ACM is module name

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;

//min max spawn distance

[bIS_ACM, 300, 600] call BIS_ACM_setSpawnDistanceFunc;

//factions to be spawned

[["USMC", "RU"], BIS_ACM] call BIS_ACM_setFactionsFunc;

//Skill range for spawned units

[0, 0.6, BIS_ACM] call BIS_ACM_setSkillFunc;

//Amount of ammo spawned units possess

[0.2, 0.5, BIS_ACM] call BIS_ACM_setAmmoFunc;

//Type of patrol. With 0 meaning no chance of appearing, and 1 meaning 100% chance. -1 removes patrol type completely.

["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

Now I go in, and change the patrol-type settings into the following:

["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

["air_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

And the faction selections into the following:

["USMC", "RU", "NAPA"], BIS_ACM] call BIS_ACM_setFactionsFunc;

Then I change the skill-settings into the following:

[1, 1, BIS_ACM] call BIS_ACM_setSkillFunc;

All other settings and values remains unchanged.

Then, I load my mission in the editor, placing down the ACM -module and naming it "BIS_ACM", before I sync it to myself. When I preview the mission, I'm assuming the following will happen:

The game will spawn USMC and Russian patrols at max "intensity", plus NAPA patrols who will be aligned to whoever the "Resistance" -side is set to. They will all be at the maximum skill level, and there will be both air and ground patrols.

---

...Is this correct?

Edited by St!gar

Share this post


Link to post
Share on other sites

With this module, I can see some VERY interesting possibilities to revamp maps like EVO and DOM.

Share this post


Link to post
Share on other sites

Also, another thing: When you have the ACM sync'ed to yourself and move around, will the battle "follow" you? That is; will the different patrols continually spawn around you, and stop spawning in the places you no longer are?

Share this post


Link to post
Share on other sites
...Is this correct?
Also, another thing: When you have the ACM sync'ed to yourself and move around, will the battle "follow" you? That is; will the different patrols continually spawn around you, and stop spawning in the places you no longer are?

Both correct.

Although the big thing people want to do is customise the groups that spawn. So far we can only choose between air patrols and ground patrols, there should be a way to spawn only groups you choose but nobody has posted it yet, and I cant figure out as I am new to this editing business.

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

×