Jump to content

Recommended Posts

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

waitUntil {BISS_ACM getVariable "initDone"};

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

[1, BISS_ACM] call BISS_ACM_setIntensityFunc;

//min max spawn distance

[bISS_ACM, 40, 80] call BISS_ACM_setSpawnDistanceFunc;

//factions to be spawned

[["RU"], BISS_ACM] call BISS_ACM_setFactionsFunc;

//Skill range for spawned units

[0, 0.6, BISS_ACM] call BISS_ACM_setSkillFunc;

//Amount of ammo spawned units possess

[0.2, 0.5, BISS_ACM] call BISS_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, BISS_ACM] call BISS_ACM_setTypeChanceFunc;

["air_patrol", 0, BISS_ACM] call BISS_ACM_setTypeChanceFunc;

but it didnt worked.

Are the "SS" in "BISS" suppose to be like that?

Share this post


Link to post
Share on other sites

Yes its the name of the second moduler i use!

ACM=BIS(1ST Module on map)f5 with one rifleman bluefor

ACM=BISS(2ND module on map)f5 with one rifleman opfor

Its like the program see only the first module...or what?

I also tried to make a new initT with the second module(lines) again nothing...

Share this post


Link to post
Share on other sites

I think the failure might be you are calling a function named "BISS_ACM_setSpawnDistanceFunc", which will most probably not exist.

"BIS_ACM_setSpawnDistanceFunc" should exist, I am not sure though.

The first part "BIS_ACM_" is part of the function name which has nothing todo with the varible name.

"BIS_ACM_setSpawnDistanceFunc" and logic called "BIS_ACM" would just be a coincidence, more or less.

Offtopic:

From experience I can only strongly recommend to not do something like:

BIS_ACM = something;
BISS_ACM = something_else;

The difference in this variable names is really hard to spot, which makes debugging very hard.

Consider this, there's an "error" in both codes, which one is easier to spot by just skimming over it?

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


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

//min max spawn distance
[bIS_ACM, 40, 80] call BIS_ACM_setSpawnDistanceFunc;

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

//Skill range for spawned units
[0, 0.6, BISS_ACM] call BIS_ACM_setSkillFunc;

//Amount of ammo spawned units possess
[0.2, 0.5, BISS_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, BISS_ACM] call BIS_ACM_setTypeChanceFunc;

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

and this:

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


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

//min max spawn distance
[bIS_ACM, 40, 80] call BIS_ACM_setSpawnDistanceFunc;

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

//Skill range for spawned units
[0, 0.6, BIS_ACM_2] call BIS_ACM_setSkillFunc;

//Amount of ammo spawned units possess
[0.2, 0.5, BIS_ACM_2] 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_2] call BIS_ACM_setTypeChanceFunc;

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

Share this post


Link to post
Share on other sites
Its like the program see only the first module...or what?

Yes, I'm afraid only one ACM per group is currently allowed. The second one is ignored. The only way to have different settings for different factions currently would be to create a custom pool of group classes.

The ACM pulls its groups from CfgGroups, which is the same place the mission editor loads its groups from when you use F2 to place one. In these groups a value is defined (rarity) which controls how likely that group is. By default the ACM uses the entire set of groups. You can create a custom list by using the functions listed earlier, but you would have to know the class names ... again: more info on the way.

Share this post


Link to post
Share on other sites

So, if i only want Infantry to spawn i use:

[this, ["Motorized", "Mechanized", "Armored","Air"]] call BIS_ACM_removeGroupClassesFunc;

right? Because that would remove all those GrpTypes ?

[EDIT] Oh btw,

i managed to get the ACM to work when you put this into the init field:

waitUntil {!isNil {this getVariable "initDone"}};
waitUntil {this getVariable "initDone"};
[1, this] call BIS_ACM_setIntensityFunc;
[this, 300, 500] call BIS_ACM_setSpawnDistanceFunc;
[["USMC", "RU"], this] call BIS_ACM_setFactionsFunc;
[0.4, 0.8, this] call BIS_ACM_setSkillFunc;
[0.2, 0.5, this] call BIS_ACM_setAmmoFunc;
["ground_patrol", 1, this] call BIS_ACM_setTypeChanceFunc;

this in this case refers to the object itself, so no need to give the Logic a name.

Edited by ])rStrangelove

Share this post


Link to post
Share on other sites

Tried your method Strangelove...it doesn't work.

I used:

waitUntil {!isNil {this getVariable "initDone"}};
waitUntil {this getVariable "initDone"};
[1, this] call BIS_ACM_setIntensityFunc;
[this, 30, 50] call BIS_ACM_setSpawnDistanceFunc;
[["USMC"], this] call BIS_ACM_setFactionsFunc;
[0.4, 0.8, this] call BIS_ACM_setSkillFunc;
[0.2, 0.5, this] call BIS_ACM_setAmmoFunc;
["ground_patrol", 1, this] call BIS_ACM_setTypeChanceFunc;

After 5 mins I was killed by a squadron of two KA52s, which should not be possible with the parameters used.

Share this post


Link to post
Share on other sites
So a 2 man sniper team is/can be less frequent than a fireteam or squad? Brilliant!

No doubt. Every time DnA comes around and posts about this I get the feeling that my jaw is gonna hit the desk when this documentation comes out. I have a feeling there's so much good stuff these modules can do and currently we haven't even scratched with what we know about the possibilities.

I'm excited to see what comes.

Share this post


Link to post
Share on other sites

Hmm maybe we also need to deactivate the air_patrols, like this:

["air_patrol",-1, this] call BIS_ACM_setTypeChanceFunc;

I can't check now, off to bed. NN everyone :D

Share this post


Link to post
Share on other sites
)rStrangelove;1300110']So' date=' if i only want Infantry to spawn i use:

[this, ["Motorized", "Mechanized", "Armored","Air"]] call BIS_ACM_removeGroupClassesFunc;

right? Because that would remove all those GrpTypes ?

[/quote']

Returns a error :(

/*type must be one of "", "ground_patrol", "air_patrol".

And that's all? Only 2 types?

Edited by MiXeR

Share this post


Link to post
Share on other sites

What other type of patrol is there? According to what DNA said, you will be able to add custom CfgGroup lists that could include or exclude whatever you want.

Share this post


Link to post
Share on other sites

If you take a look into the dePBOed dir structure at modules\ambient_combat\data\scripts you will find there are 3 scripts: air_drop.sqf, air_patrol.sqf and ground_patrol.sqf.

Seems like air_drop.sqf was planned to be in the 1.00 release, but it's empty. I guess we get more with the next patch.

There's also the init.sqf which tells us how to register(sync) a group with an ACM object:

BIS_ACM setVariable ["grp", group player];
{_x setVariable ["acm", BIS_ACM];} forEach (units group player);

Not tested yet, but i guess that's how you could sync an ACM with the player group dynamically in a mission at any time. For example, once you reach an enemy territory. Should come in handy.

[EDIT]

Ok, it seems BIS_ACM_removeGroupClassesFunc and BIS_ACM_addGroupClassesFunc work only with the CUSTOM pool of group classes, means the groups you made up in your own class definition file.

This only works with scripting, can't be done with pasting txt into an init field alone.

Edited by ])rStrangelove

Share this post


Link to post
Share on other sites
What other type of patrol is there? According to what DNA said, you will be able to add custom CfgGroup lists that could include or exclude whatever you want.

Foot Patrol, Motorized Patrol, Armored Patrol, and Sea Patrol? :) Search Patrol even (kind of foot patrol). Probably other means of setting this up though.

Btw, how does an air patrol work? Do they constantly patrol the area like i.e. how Domination was setup, or for a limited amount of time?

Share this post


Link to post
Share on other sites
Foot Patrol, Motorized Patrol, Armored Patrol, and Sea Patrol? :) Search Patrol even (kind of foot patrol). Probably other means of setting this up though.

Btw, how does an air patrol work? Do they constantly patrol the area like i.e. how Domination was setup, or for a limited amount of time?

Wouldn't all these be variations of ground patrol? (except for Sea Patrol of course). With the ability to add custom groups to the pool, it would be relatively easy to set up any of the variations you mentioned.

With Air Patrol they patrol the area for a random amount of time:

//Give this patrol a random lifetime.
private ["_lifetimes"];
_lifetimes = _acm getVariable "patrolLifetimes";
_lifetimes = _lifetimes + [time + (60 + (random 120))];
_acm setVariable ["patrolLifetimes", _lifetimes];

EDIT: Strangelove, this would not work?

[My_ACM, ["Infantry"] call BIS_ACM_addGroupClassesFunc;

Edited by trini scourge

Share this post


Link to post
Share on other sites

Quick question: On the default settings, before the player modifies it, the ACM spawns patrols from all five factions, right? Are those factions all fighting each other, (USMC vs Russia vs NAPA vs CDF vs ChDKZ vs USMC, for example.), or are some of them allied to each other? USMC+CDF and Russia+ChDKZ, for example?

Share this post


Link to post
Share on other sites
Quick question: On the default settings, before the player modifies it, the ACM spawns patrols from all five factions, right? Are those factions all fighting each other, (USMC vs Russia vs NAPA vs CDF vs ChDKZ vs USMC, for example.), or are some of them allied to each other? USMC+CDF and Russia+ChDKZ, for example?

BLUFOR (USMC+CDF) VS OPFOR (INS + RU)

Who NAPA fights would be determined by mission settings.

Share this post


Link to post
Share on other sites

Aah. By choosing which side the Resistance -faction is friendly to, like in OFP and ArmA 1, I assume? But then what happens if the Resistance side - I assume that's NAPA - is set to be friendly to everyone? :confused:

Share this post


Link to post
Share on other sites

silly question. but when synchronizing i push f5 and then drag a line from the ambient combat module to me.

is that all i need to do as nothing happens after?

Share this post


Link to post
Share on other sites

No, you need to initialize parameters of the ACM object.

You can do that by pasting commands into a txtfile named 'init.sqf' and save it into the directory of your mission.

Or you try & put this into the init field of the ACM object:

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};
[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
[bIS_ACM, 300, 600] call BIS_ACM_setSpawnDistanceFunc;
[["USMC", "RU"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[0, 0.6, BIS_ACM] call BIS_ACM_setSkillFunc;
[0.2, 0.5, BIS_ACM] call BIS_ACM_setAmmoFunc;
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

Share this post


Link to post
Share on other sites
)rStrangelove;1303601']No' date=' you need to initialize parameters of the ACM object.

[/quote']

thanks man!

edit.

it works. easy. but all that spawn are helicopters even though it says ground patrol in the text. funny that - seems more info is being put on the arma biki so that should illluminate things a bit more.

Edited by twisted

Share this post


Link to post
Share on other sites

I'd like to see newly created squads - sometimes - be introduced by a helicopter so the squad will a) land and eject (normal squads) or b) paradrop (special squads like Speznaz) at a random location.

Ok, it's called `Ambient` Combat Module. But still: what about an option/toggle for `Direct` Combat? By this I mean random generated squads heading for your location or even following you. A Squad, transported by an Ural, heading in your direction and stuff like this. Or there could be `ambient` enemy spotters: the moment such a unit spots your squad, `direct` units will be generated, heading towards you :D

Also, since such a spotter has to radio his HQ. there should be a chance that your HQ (or other friendlies) will intercept that radio-call and thus your squad will be warned by your HQ (information about direction of the attack, number/type of enemies, etc.). Sounds like fun, ehy?

Edited by ruebe

Share this post


Link to post
Share on other sites
72;1299000']Amazing!

Just have a copy of this INIT.SQF in the "scripts" folder inside the profiles folder. That way you can just copy it into whatever missions your working on and change the variables.

Really great work BIS.

Alex

"scripts" folder inside the profiles folder !? whot scripts folder:confused:

Share this post


Link to post
Share on other sites
"scripts" folder inside the profiles folder !? whot scripts folder:confused:

He created a new folder called "scripts" :D

Share this post


Link to post
Share on other sites

Yeah, as an example. What he meant was to gather all your template scripts in a nearby folder underneath ArmA2, so that copying them into your various mission folders isn't that much of an issue.

Share this post


Link to post
Share on other sites

ok thanks.

is there a way to respawn and still have the ACM linked to the player! and how do you respawn like in mp or is it that when you get shot you just start over againe.

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

×