Jump to content
Sign in to follow this  
svarun

ACM question

Recommended Posts

I've been trying to set up ACM that would start spawning only OPFOR infantry few minutes into the game, but whenever I place the module it spawns everyone and everything. I've read about ACM on bistudio wiki but I don't understand a thing. :/

So, can anybody explain me how to set up ACM in a more user firendly way?

Thanks

Share this post


Link to post
Share on other sites

http://community.bistudio.com/wiki/Ambient_Combat_Manager_-_Functions

Factions

You are able to control which factions are spawned by the ACM.

// ArmA 2 factions: "USMC", "CDF", "RU", "INS", "GUE"

// Operation Arrowhead factions: "BIS_US", "BIS_CZ", "BIS_GER", "BIS_TK", "BIS_TK_INS", "BIS_TK_GUE", "BIS_UN", "BIS_TK_CIV", "BIS_CIV_special"

[<factions | Array of Strings>, <ACM reference | Object>] call BIS_ACM_setFactionsFunc;

Example:

Factions to be spawned. BIS_ACM is module name.

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

So if you wanted ACM to only spawn TK Army and Militia guys do this:

1. Place the ACM module

2. Name it BIS_ACM in it's Name field.

3. In it's Init field put:

[["BIS_TK", "BIS_TK_INS"], BIS_ACM] call BIS_ACM_setFactionsFunc;

4. Synch the module to your player.

Use CyOps wonderful example below. :)

http://community.bistudio.com/wiki/Ambient_Combat_Manager

Edited by kylania

Share this post


Link to post
Share on other sites

Svarun,

You will need to something like the below... (the things 'commented' ( // ) out, you can change at your discretion)

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

// sleep 10;

// [1, BIS_ACM] call BIS_ACM_setIntensityFunc;

// [bIS_ACM, 500, 1000] call BIS_ACM_setSpawnDistanceFunc;

[["BIS_TK, "BIS_US"], BIS_ACM] call BIS_ACM_setFactionsFunc;  [color="Red"]// For TK Army and US Army[/color]

// [0.7, 1, BIS_ACM] call BIS_ACM_setSkillFunc;

// [0.7, 0.9, BIS_ACM] call BIS_ACM_setAmmoFunc;

["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["[color="red"]air_patrol[/color]", [color="red"]0[/color], BIS_ACM] call BIS_ACM_setTypeChanceFunc;

// // Add cleasses:
// // [bIS_ACM, [ ? ]] call BIS_ACM_addGroupClassesFunc;

// // [color="red"]Below (EXAMPLE) is important to remove what you do not want.  (Again, just an example.)[/color]

[bIS_ACM, [

//Air
//
"A10_US_EP1",			// A-10
"AH64D_EP1",			// AH-64D
"AH6X_EP1",			// AH-6X
"CH_47F_EP1",			// CH-47F
"MH6J_EP1",			// MH-6J

//Armored
//
"M1A1_US_DES_EP1",		// M1A1
"M1A2_US_TUSK_MG_EP1",		// M1A2 TUSK
"MLRS_DES_EP1",			// M270 MLRS
"M2A2_EP1",			// M2A2 Bradley IFV
"M2A3_EP1",			// M2A3 ERA Bradly IFV
"M6_EP1",			// M6 Linebacker
"M1135_ATGMV_EP1",		// Stryker (TOW)
"M1130_CV_EP1",			// Stryker CV
"M1126_ICV_M2_EP1",		// Stryker ICV (M2)
"M1126_ICV_mk19_EP1",		// Stryker ICV (Mk19)
"M1129_MC_EP1",			// Stryker MC
"M1128_MGS_EP1"			// Stryker MGS

]] call BIS_ACM_[color="red"]removeGroupClassesFunc[/color];

EDIT: Notice the last entry in BIS_ACM_removeGroupClassesFunc has no comma. - You can find the class names in the sticky/wiki.

Edited by CyOp

Share this post


Link to post
Share on other sites

So if I got this right, basically I put these lines in Init of the ACM in the game itself?

Thanks for help

Share this post


Link to post
Share on other sites
So if I got this right, basically I put these lines in Init of the ACM in the game itself?

Thanks for help

Well, you could, but, you can make a file named init.sqf and put the code in that file. The init.sqf file would go in the mission folder. More specifically, say, if the mission name was kicksomeA_ (in map Takistan)...

'Your proflle name folder'/missions/kicksomeA_.Takistan/init.sqf

EDIT: BTW, if you did put it in the init box of the ACM in the editor, you would have to put it in something like the below:

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};
sleep 10;
[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
[bIS_ACM, 500, 1000] call BIS_ACM_setSpawnDistanceFunc;
[["BIS_TK, "BIS_US"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[0.7, 1, BIS_ACM] call BIS_ACM_setSkillFunc;
[0.7, 0.9, 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, ["A10_US_EP1","AH64D_EP1","AH6X_EP1","CH_47F_EP1","MH6J_EP1","M1A1_US_DES_EP1","M1A2_US_TUSK_MG_EP1","MLRS_DES_EP1","M2A2_EP1","M2A3_EP1","M6_EP1","M1135_ATGMV_EP1","M1130_CV_EP1","M1126_ICV_M2_EP1","M1126_ICV_mk19_EP1","M1129_MC_EP1","M1128_MGS_EP1"]] call BIS_ACM_removeGroupClassesFunc;

So, you can see the init.sqf in the mission folder is the better option. (Put the above in the ACM init in the editor, close it, open it, and then try and edit it. You'll get the 'picture' real quick.)

EDIT: Oh, yeah...

Use CyOps wonderful example below. :)

But, if you really need help, kylania is the 'go to' Trooper! :)

Edited by CyOp

Share this post


Link to post
Share on other sites

I finally got around to testing my example above and the only things that spawned were UN and CZ troops even though I specifically said to do TK troops! :)

Share this post


Link to post
Share on other sites
I finally got around to testing my example above and the only things that spawned were UN and CZ troops even though I specifically said to do TK troops! :)

Out of curiosity, what did you have Independents set as in the mission?

EDIT: Oh, you had "INS" in the factions array! Were you editing with Combined Operations?

Edited by CyOp

Share this post


Link to post
Share on other sites

Ok, I've played around with the init.sqf and it didn't work out as I planned. :)

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

waitUntil {BIS_ACM getVariable "initDone"};

// sleep 5;

// [1, BIS_ACM] call BIS_ACM_setIntensityFunc;

// [bIS_ACM, 200, 400] call BIS_ACM_setSpawnDistanceFunc;

[["INS"], BIS_ACM] call BIS_ACM_setFactionsFunc;

// [0.7, 1, BIS_ACM] call BIS_ACM_setSkillFunc;

// [0.7, 0.9, BIS_ACM] call BIS_ACM_setAmmoFunc;

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

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

// // Add classes:

// // [bIS_ACM, ["INS_InfSquad", "INS_InfSection_AA"]] call BIS_ACM_addGroupClassesFunc;

This is my init.sqf, what did I mess up this time?

Share this post


Link to post
Share on other sites

Maybe you need to do this >

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

sleep 5;

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;

[bIS_ACM, 200, 400] call BIS_ACM_setSpawnDistanceFunc;

[["INS"], BIS_ACM] call BIS_ACM_setFactionsFunc;

[0.7, 1, BIS_ACM] call BIS_ACM_setSkillFunc;

[0.7, 0.9, BIS_ACM] call BIS_ACM_setAmmoFunc;

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

// Add classes:
[bIS_ACM, ["INS_InfSquad", "INS_InfSection_AA"]] call BIS_ACM_addGroupClassesFunc;

You have to remove the ' // '... except, you can have a 'comment', like...

[["BIS_TK, "BIS_US"], BIS_ACM] call BIS_ACM_setFactionsFunc; // For TK Army and US Army

or

// For TK Army and US Army

[["BIS_TK, "BIS_US"], BIS_ACM] call BIS_ACM_setFactionsFunc;

(Notice earlier I said, "the things 'commented' ( // ) out".

Also, this line that you have...

[["INS"], BIS_ACM] call BIS_ACM_setFactionsFunc;

you will spawn ONLY Insurgents, nothing else. Is that what you want? For instance, if you are US, you will have no US forces spawning. You better have a big squad! :D

Notice the dif here as well... (one is up above in RED)

BIS_ACM_addGroupClassesFunc

BIS_ACM_removeGroupClassesFunc

EDIT: Colored text green and red. :)

AND, I forgot about this... [bIS_ACM, ["INS_InfSquad", "INS_InfSection_AA"]] call BIS_ACM_addGroupClassesFunc

First, you left the ' ; ' off at the end. And, you prob only need to take out what you do not want. Go back to my earlier example. If you wanted TK Army and US Army, then just put that in the BIS_ACM_setFactionsFunc line. For just infantry, you will have to take out air and armor assets with the BIS_ACM_removeGroupClassesFunc.

Just a NOTE... I 'double commented' ( // // ) the add line. That was to show that you prob need not bother with it at all.

EGADS! One more thing, so you are clear. The BIS_ACM_setFactionsFunc will spawn everything of what ever FACTION (ARMY) you choose to put in the call line. That is why I said you want just infantry, just take out all else. And just take out for what you actually call (as a faction). If you use BIS_TK and BIS_US as factions to spawn, you do not need to remove armor, etc, for the CZ Army, etc.

Tell what army/faction you are using, and what opponents you want to spawn.

Edited by CyOp

Share this post


Link to post
Share on other sites

Ok thanks for the instructions, I'll change that.

Otherwise, I'm trying to spawn only Insurgents ( from Chernarus) and only their infantry squad and AA squad.

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  

×