Jump to content

Recommended Posts

I am having some trouble blacklisting areas using markers I have placed in the editor.

My line in my init.sqf with regard to blacklisting looks something like this:

[ACM_1, ["BIS_ACM_1"]] call BIS_ACM_blacklistAreaFunc;

Can anyone tell me what I am doing wrong?

I did a search, but I did not find any examples of the exact format that I (believe) is what I am intending/attempting to do.

Share this post


Link to post
Share on other sites

May need a FUNCTION module.

EDIT: Actually, if I am following you right, you just need to put down marker/s, and start off marker name with BIS_ACM_1 (then BIS_ACM_2, BIS_ACM_3, etc). You do not need 'that' in the init.

Edited by CyOp

Share this post


Link to post
Share on other sites
I am having some trouble blacklisting areas using markers I have placed in the editor.

My line in my init.sqf with regard to blacklisting looks something like this:

[ACM_1, ["BIS_ACM_1"]] call BIS_ACM_blacklistAreaFunc;

Can anyone tell me what I am doing wrong?

I did a search, but I did not find any examples of the exact format that I (believe) is what I am intending/attempting to do.

May need a FUNCTION module.

EDIT: Actually, if I am following you right, you just need to put down marker/s, and start off marker name with BIS_ACM_1 (then BIS_ACM_2, BIS_ACM_3, etc). You do not need 'that' in the init.

CyOp is right mate, you only need to put the markers down. Im not sure of the radius they cover though, any one know? Or is that dependant on the marker size?

Share this post


Link to post
Share on other sites

The markers can be set dif shapes and dif sizes.

Share this post


Link to post
Share on other sites
CyOp is right mate, you only need to put the markers down. Im not sure of the radius they cover though, any one know? Or is that dependant on the marker size?

Thanks! I will give that a shot and modify my 'init' script accordingly.

I will play with the marker size and see what happens. I'm just trying to keep enemies from spawning on the southern Takistani airfield. I've taken the liberty of (roughly) recreating FOB Revolver for online training purposes, and I don't want enemies spawning inside my defenses.

---------- Post added at 06:36 PM ---------- Previous post was at 05:56 PM ----------

Well, I tried placing a simple marker names "BIS_ACM_1," and it did NOT blacklist the area covered by the marker. Oddly enough, it seemed that enemies spawned in a position just a few meters away from the marker every time.

I'm wondering if maybe:

1. The marker size is too big (2600 x 1500 oval)

2. The fact that my ACM is named, "ACM_1," may have something to do with it

3. I added the function manager?

Either way, I still can't seem to get the ACM to blacklist an area by marker. Are there any other workable methods?

Would creating an array of markers work - designate an area with a series of markers perhaps?

Share this post


Link to post
Share on other sites

Sorry... I tested last night but did not get a chance to post.

As far as I know, your marker size is fine. And, if you thought it could be the marker name, why didn't you change it and test? :p

(NOTE: If you go back to using the BIS_ACM_blacklistAreaFunc, make sure you write it correctly.

When passing Arrays, these should contain the top-left and bottom-right coordinates.

[<ACM reference | Object>, <types | Array of Arrays and / or Markers and / or triggers>] call BIS_ACM_blacklistAreaFunc; )

Anyway, I tested with ACM as ACM_1, and a marker BIS_ACM_1, and everything was just 'peachy'! :) (I knew it would be, though.) Are you using any spawn, respawn, patrol script? - Anything than could be conflicting with the ACM setup. - Are you using the SOM, too? - Are you sure there are no typo's?

Also, when naming your marker, did you use BIS_ACM_1 in the actual marker 'name field'? (I know, DUH, but I had to ask.)

Check your mission sqm class entires (marker entries) to make sure there is not an unwanted marker or markers. And, you do not have more than ONE BIS_ACM_1 marker, do you?

Post your init ((and your mission would be good). EDIT... if it does not have mods)).

Edited by CyOp

Share this post


Link to post
Share on other sites

As far as I know, nothing should be conflicting with the ACM module.

I am running no mods.

My 'init' script is as follows:

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

waitUntil {ACM_1 getVariable "initDone"};

sleep 5;

[1.0, ACM_1] call BIS_ACM_setIntensityFunc;

[ACM_1, 150, 500] call BIS_ACM_setSpawnDistanceFunc;

[["BIS_TK", "BIS_US", "BIS_TK_INS", "BIS_TK_GUE"], ACM_1] call BIS_ACM_setFactionsFunc;

[0.25, 0.95, ACM_1] call BIS_ACM_setSkillFunc;

[0.8, 0.9, ACM_1] call BIS_ACM_setAmmoFunc;

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

["air_patrol", 0.5, ACM_1] call BIS_ACM_setTypeChanceFunc;

I removed the 'blacklistAreaFunc' line quite a while ago since it had been said that it was not needed because a Marker would work just fine. However, my line read something like:

[[bIS_ACM_1], ACM_1] call BIS_ACM_blacklistAreaFunc;

It's possible that I have it backwards, but from what I can see it should not really matter if I have the marker named correctly.

My marker (an ellipse of dimensions 2600 x 1500) does in fact have the words BIS_ACM_1 in the 'Name' field.

What would be the best way to post my mission - for the sake of peer review?

I am simply trying to make a training area; a friendly military base to serve as a practice area with a hostile zone around it. I intend to base all of my other missions around this 'construct.'

EDIT: I am not using SOM, and unless you are referring to the spawn parameters in my init, I don't see anything that should conflict with the ACM. Then again, I'm fairly new when it comes to the ACM module, so I could have mucked something up along the way.

Edited by tsb247
More info needed

Share this post


Link to post
Share on other sites

I have a problem! If I give the command on the quantity and frequency of occurrence of this group

[1, BIS_ACM] call BIS_ACM_setIntensityFunc;

Then groups are formed in large amounts. How to give a smaller number, that is?

[0.3, BIS_ACM] call BIS_ACM_setIntensityFunc;

Then I run for hours on the ground and does not show any bodies. It can be somehow set to spawn a frequent but not a large amount of groups of the enemy?

Share this post


Link to post
Share on other sites

Is it possible to get this to spawn zombies? That would be awesome...

Share this post


Link to post
Share on other sites

I see it has been a little while since anyone posted here, but anyway, has anyone figured out the cause to tsb247's problem? I am getting the same problem, I am almost using the exact same parameters as him, and I'm not using BIS_ACM_BlacklistAreaFunc.

For the blacklisting method I'm trying to use it involves using area markers named BIS_ACM_1 to BIS_ACM_9, none of them are overlapping, and for some reason enemies keep spawning inside the perimeter, sometimes almost right in the middle of the marker, and even when I try to kill them sometimes another enemy group spawns right on top of them.

@Sheepz, it is possible to make zombies spawn using the ACM but you must be using a zombie mod, and you must remove all other group types except for the zombie ones, but even then the Undead mod has module that automatically puts zombies in town and makes them spread all over the country.

Share this post


Link to post
Share on other sites

Also having problems with the marker blacklisting. I'm gonna try using the function with an array and a trigger to see if that works.

Edit

Took me a few tries before I didn't get script errors but even after no errors enemies were spawning within the area I wanted to blacklist. This is the code i've used:

[bIS_ACM1, [[[1200,12300, 0, 4300]]]] call BIS_ACM_blacklistAreaFunc;

I think the format is meant to be minX, maxX, minY, maxY. At least that's what the error messages were telling me.

Map was Takistan.

Edit2

Took out the additional BIS_ACM_1 marker and the function seems okay now.

Edit3

Nope.

Edited by Trips

Share this post


Link to post
Share on other sites

i have a little noob question:

how i change the unit in spec op mode (e02 combat) : i read that someone do it, but in the editor i dont have the tools to do it.

Share this post


Link to post
Share on other sites

sleep 3;

//ACM settings    
      waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
      waitUntil {BIS_ACM getVariable "initDone"};
  [] spawn {
      waitUntil {!(isnil "BIS_fnc_init")};
      [1, BIS_ACM1] call BIS_ACM_setIntensityFunc;                 //Sets the intensity of the ACM, in other words, determines how active it will be. Starts at 0 ends at 1.0, its been known to fail using 0.7 and 0.8
      [bIS_ACM1, 200, 450] call BIS_ACM_setSpawnDistanceFunc;      // This is the radius on where the units will spawn around the unit the module is sync'd to, 400m being the minimal distance and 700m being the maximum. Minimum is 1 I believe. 
      [["INS","CDF","GUE"], BIS_ACM1] call BIS_ACM_setFactionsFunc;     // This tells the ACM which faction of units it will spawn. In this case it will spawn Takistani Insurgents
      [0, 0.7, BIS_ACM1] call BIS_ACM_setSkillFunc;                // This determines what the skill rating for the spawned units will be
      [0.2, 0.5, BIS_ACM1] call BIS_ACM_setAmmoFunc;               // This sets their amount of ammo they spawn with
      ["ground_patrol", 1, BIS_ACM1] call BIS_ACM_setTypeChanceFunc; //If you want ground patrols then leave it as a 1, if you don't put a 0. They will use random paths
      ["air_patrol", 0, BIS_ACM1] call BIS_ACM_setTypeChanceFunc;    // Same thing for air patrols
      [bIS_ACM1, ["GUE_InfSquad", "GUE_InfTeam_AT", "GUE_GrpInf_TeamSniper", "GUE_MotInfSection", "GUE_MilitiaSquad","INS_InfSquad","INS_InfSquad_Weapons","INS_InfSection_AT","INS_InfSection_AA","INS_SniperTeam","INS_MilitiaSquad","CDF_InfSection_Patrol","CDF_TankPlatoon","CDF_SniperTeam","CDF_MotInfSquad"]] call BIS_ACM_addGroupClassesFunc;   // This determines which exact units will spawn from the group **Citation needed**
  };

im using this code, why are there for example, Insurgent Choppers spawned also? i didnt define that in the code?!? I also saw an USMC UAV, but i dont even defined USMC as faction, whats the problem?

Edited by Coffeecat

Share this post


Link to post
Share on other sites
sleep 3;

//ACM settings    
      waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
      waitUntil {BIS_ACM getVariable "initDone"};
  [] spawn {
      waitUntil {!(isnil "BIS_fnc_init")};
      [1, BIS_ACM1] call BIS_ACM_setIntensityFunc;                 //Sets the intensity of the ACM, in other words, determines how active it will be. Starts at 0 ends at 1.0, its been known to fail using 0.7 and 0.8
      [bIS_ACM1, 200, 450] call BIS_ACM_setSpawnDistanceFunc;      // This is the radius on where the units will spawn around the unit the module is sync'd to, 400m being the minimal distance and 700m being the maximum. Minimum is 1 I believe. 
      [["INS","CDF","GUE"], BIS_ACM1] call BIS_ACM_setFactionsFunc;     // This tells the ACM which faction of units it will spawn. In this case it will spawn Takistani Insurgents
      [0, 0.7, BIS_ACM1] call BIS_ACM_setSkillFunc;                // This determines what the skill rating for the spawned units will be
      [0.2, 0.5, BIS_ACM1] call BIS_ACM_setAmmoFunc;               // This sets their amount of ammo they spawn with
      ["ground_patrol", 1, BIS_ACM1] call BIS_ACM_setTypeChanceFunc; //If you want ground patrols then leave it as a 1, if you don't put a 0. They will use random paths
      ["air_patrol", 0, BIS_ACM1] call BIS_ACM_setTypeChanceFunc;    // Same thing for air patrols
      [bIS_ACM1, ["GUE_InfSquad", "GUE_InfTeam_AT", "GUE_GrpInf_TeamSniper", "GUE_MotInfSection", "GUE_MilitiaSquad","INS_InfSquad","INS_InfSquad_Weapons","INS_InfSection_AT","INS_InfSection_AA","INS_SniperTeam","INS_MilitiaSquad","CDF_InfSection_Patrol","CDF_TankPlatoon","CDF_SniperTeam","CDF_MotInfSquad"]] call BIS_ACM_addGroupClassesFunc;   // This determines which exact units will spawn from the group **Citation needed**
  };

im using this code, why are there for example, Insurgent Choppers spawned also? i didnt define that in the code?!? I also saw an USMC UAV, but i dont even defined USMC as faction, whats the problem?

u didnt activate it properly, whats happened is its just running the acm on default settings

you have to define BIS_ACM1 as the name of your acm, then change all the BIS_ACM to BIS_ACM1 (or vise versa, remove or add the 1 to the name of your acm.

here is mine, basically u need to make sure that BIS_ACM (the name of your module) is consistent throughout the code:

//ACM settings    
waitUntil {!isNil {BIS_ACM1 getVariable "initDone"}};
waitUntil {BIS_ACM1 getVariable "initDone"};
[] spawn {
   waitUntil {!(isnil "BIS_fnc_init")};
   [0.7, BIS_ACM1] call BIS_ACM_setIntensityFunc;                 //Sets the intensity of the ACM, in other words, determines how active it will be. Starts at 0 ends at 1.0, its been known to fail using 0.7 and 0.8
   [bIS_ACM1, 800, 1200] call BIS_ACM_setSpawnDistanceFunc;      // This is the radius on where the units will spawn around the unit the module is sync'd to, 400m being the minimal distance and 700m being the maximum. Minimum is 1 I believe. 
   [["USMC", "RU", "CDF", "GUE"], BIS_ACM1] call BIS_ACM_setFactionsFunc;     // This tells the ACM which faction of units it will spawn. In this case it will spawn Takistani Insurgents
   [0, 0.4, BIS_ACM1] call BIS_ACM_setSkillFunc;                // This determines what the skill rating for the spawned units will be
   [0.7, 0.8, BIS_ACM1] call BIS_ACM_setAmmoFunc;               // This sets their amount of ammo they spawn with
   ["ground_patrol", 1, BIS_ACM1] call BIS_ACM_setTypeChanceFunc; //If you want ground patrols then leave it as a 1, if you don't put a 0. They will use random paths
   ["air_patrol", 0, BIS_ACM1] call BIS_ACM_setTypeChanceFunc;    // Same thing for air patrols
   [bIS_ACM1, ["USMC_FireTeam", "USMC_FireTeam_AT", "USMC_MotInfSection_AT", "CDF_InfSection_MG", "RU_InfSquad", "RU_MotInfSection_Recon", "RU_InfSquad", "GUE_InfTeam_AT"]] call BIS_ACM_addGroupClassesFunc;   // This determines which exact units will spawn from the group **Citation needed**
};

Share this post


Link to post
Share on other sites

eww, sure, forgot to rename it in the first 2 lines. thanks m8!

btw is there any way to create blacklist zones with ingame triggers?

Share this post


Link to post
Share on other sites

I would like to know how to add factions from addons. I use the init sqs and type in the addon faction that I want, but when the units start the spawn, the game stops running. Do I need to add the groups from the addon to a certain file?

Share this post


Link to post
Share on other sites

the same question has been asked a dozen times before and until now nobody has answered that question i hope somebody will answer it this time as i would like to know the same thing

Share this post


Link to post
Share on other sites
eww, sure, forgot to rename it in the first 2 lines. thanks m8!

btw is there any way to create blacklist zones with ingame triggers?

This guys info is taken from ths wiki/biki... Where the example up there is wrong.. which is misleading and probably leads to quite a few problems..

Just saying, someone needs to edit that info on the biki really

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

After the blue writing, two lines ref one ACM module, the rest reference another ACM module. If its meant to be that way fine, but its confusing to some people and if it was described as configuring 2 ACM's it would be clearer.

Share this post


Link to post
Share on other sites

HI ALL :yay:

I have problems to reinitialize or spawn the acm modul in my mission.

i call it with a script !!!

it works fine, after respawn of the player - i call it again - but it doesnt want to work in a correct way!

sleep 10;

//Create and Syncronize and Initialize ACM 

BIS_ACM1 = "AmbientCombatManager" createvehiclelocal [0,0,0];

BIS_ACM1 synchronizeObjectsAdd [player];


waitUntil {!isNil {BIS_ACM1 getVariable "initDone"}};
     	waitUntil {BIS_ACM1 getVariable "initDone"};
     	waitUntil {!(isnil "BIS_fnc_init")};


      	[0.5, BIS_ACM1] call BIS_ACM_setIntensityFunc;                 	//Sets the intensity of the ACM, in other words, determines how active it will be. Starts at 0 ends at 1.0, its been known to fail using 0.7 and 0.8
      	[bIS_ACM1, 300, 600] call BIS_ACM_setSpawnDistanceFunc;      	// This is the radius on where the units will spawn around the unit the module is sync'd to, 400m being the minimal distance and 700m being the maximum. Minimum is 1 I believe. 
     	[["INS"], BIS_ACM1] call BIS_ACM_setFactionsFunc;     	// This tells the ACM which faction of units it will spawn. In this case it will spawn Takistani Insurgents
     	[0.2, 0.8, BIS_ACM1] call BIS_ACM_setSkillFunc;               	// This determines what the skill rating for the spawned units will be
      	[0.2, 0.8, BIS_ACM1] call BIS_ACM_setAmmoFunc;               	// This sets their amount of ammo they spawn with
      	["ground_patrol", 1, BIS_ACM1] call BIS_ACM_setTypeChanceFunc;  //If you want ground patrols then leave it as a 1, if you don't put a 0. They will use random paths
      	["air_patrol", -1, BIS_ACM1] call BIS_ACM_setTypeChanceFunc;    	// Same thing for air patrols
      	[bIS_ACM1, ["INS_InfSquad", "INS_InfSquad_Weapons", "INS_MotInfSquad", "INS_MechInfSquad"]] call BIS_ACM_addGroupClassesFunc;   // This determines which exact units will spawn from the group

hint "ReInit BIS_ACM1";

I think the problem is this syntax_ BIS_ACM1 = "AmbientCombatManager" createvehiclelocal [0,0,0];

......

But the syntax createunit "logic" doesnt work too !!!!

Can sombody help me with my problem ??? :confused:

SRY my English - I will work on !!!! :yay:

Share this post


Link to post
Share on other sites

Hi, Andi.

Are you saying...

the ACM works correctly when the player it is synchronized to spawns the first time,

but then,

when that player dies and respawns, then the ACM does not work?

Share this post


Link to post
Share on other sites

Yes the Script works - the script creates an acm-modul and sycronised it to the player... sry my english :D

Same runs on server - but when the player, which is sycronised to acm, dies - the acm modul should been deleted. So you can create a new one with the same script.

My script works after missin beginning. But when the player respawns - the script do not reinitalize the acm modul.

I show you an example mission. CLICK TO DOWNLOAD

sleep 10;

//Create and Syncronize and Initialize ACM

BIS_ACM1 = "AmbientCombatManager" createvehiclelocal [0,0,0];

BIS_ACM1 synchronizeObjectsAdd [player];

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

waitUntil {BIS_ACM1 getVariable "initDone"};

waitUntil {!(isnil "BIS_fnc_init")};

[0.5, BIS_ACM1] call BIS_ACM_setIntensityFunc; //Sets the intensity of the ACM, in other words, determines how active it will be. Starts at 0 ends at 1.0, its been known to fail using 0.7 and 0.8

[bIS_ACM1, 300, 600] call BIS_ACM_setSpawnDistanceFunc; // This is the radius on where the units will spawn around the unit the module is sync'd to, 400m being the minimal distance and 700m being the maximum. Minimum is 1 I believe.

[["INS"], BIS_ACM1] call BIS_ACM_setFactionsFunc; // This tells the ACM which faction of units it will spawn. In this case it will spawn Takistani Insurgents

[0.2, 0.8, BIS_ACM1] call BIS_ACM_setSkillFunc; // This determines what the skill rating for the spawned units will be

[0.2, 0.8, BIS_ACM1] call BIS_ACM_setAmmoFunc; // This sets their amount of ammo they spawn with

["ground_patrol", 1, BIS_ACM1] call BIS_ACM_setTypeChanceFunc; //If you want ground patrols then leave it as a 1, if you don't put a 0. They will use random paths

["air_patrol", -1, BIS_ACM1] call BIS_ACM_setTypeChanceFunc; // Same thing for air patrols

[bIS_ACM1, ["INS_InfSquad", "INS_InfSquad_Weapons", "INS_MotInfSquad", "INS_MechInfSquad"]] call BIS_ACM_addGroupClassesFunc; // This determines which exact units will spawn from the group

hint "ReInit BIS_ACM1";

I think the problem is this syntax_ BIS_ACM1 = "AmbientCombatManager" createvehiclelocal [0,0,0];

......

But the syntax createunit "logic" doesnt work too !!!!

Can sombody help me with my problem ???

SRY my English - I will work on !!!!

Edited by Andi.1982

Share this post


Link to post
Share on other sites

No Idea for my problem?

Does anyone know an alternative script, which works in the same way like the acm modul?

Share this post


Link to post
Share on other sites

Andi, have you tried resychronizing the module to the respawned unit again?

I suspect that you synched it to a player once, but once he respawned, you did not synch it again.

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

×