Jump to content

Recommended Posts

1 hour ago, damsous said:

Hey nice update, just a suggestion it can be cool if the script can grab randomly used faction classname (men[]) to fill vehicle for ambient combat cause actually the vehicle are filled with crewman for armored veh and helicrew for heli.

 

That's a nice idea, it makes no sense to have vehicles full of crewmen. Not even sure what I did that in the first place..

Share this post


Link to post
Share on other sites

v1.11 Update

 

Download: https://kaartomedia.com/AISSP/files/AISSP_1.11.zip


Docs and setup apps: https://kaartomedia.com/AISSP/

 

Changelog

 

Added

  • Added LV\LV_functions\LV_fnc_removeClasses.sqf which is now being used to remove unwanted classnames from classname arrays & nested classname arrays. This means there should be no crewmen and pilots anymore in normal infantry groups or in vehicle cargos.

Changed

  • All building related scripts will now skip roof positions, so for example FillHouse shouldn't spawn AI to roofs anymore, and AI shouldn't go to roofs while patrolling.
  • Like 1

Share this post


Link to post
Share on other sites

v1.15 Update

 

New script and bunch of minor fixes.

 

Download: https://kaartomedia.com/AISSP/files/AISSP_1.15.zip


Docs and setup apps: https://kaartomedia.com/AISSP/

 

Changelog


Added

  • Added new main script: AmbientExplosions.
  • Added LV\LV_functions\LV_fnc_findPosition.sqf to handle position searching between distances from defined center(s) while avoiding defined areas and/or objects.

Fixed

  • Fixed a bug where ReinforcementChopper choppers dropped dead right after spawning (reason was UAV config entries in classname arrays where the script selected a chopper).
  • Improved heli spawning in ReinforcementChopper.

Changed

  • ReinforcementChopper: parsing off chopper classnames which includes 'UAV' or 'Light'.
  • ReinforcementChopper: using now bis_fnc_spawncrew instead of manually creating pilot (now chopper also has a crew instead of lonely pilot).
  • Like 1

Share this post


Link to post
Share on other sites
On 6/9/2021 at 12:06 PM, spunfin said:

v1.15 Update

 

New script and bunch of minor fixes.

 

Download: https://kaartomedia.com/AISSP/files/AISSP_1.15.zip


Docs and setup apps: https://kaartomedia.com/AISSP/

 

Changelog


Added

  • Added new main script: AmbientExplosions.
  • Added LV\LV_functions\LV_fnc_findPosition.sqf to handle position searching between distances from defined center(s) while avoiding defined areas and/or objects.

Fixed

  • Fixed a bug where ReinforcementChopper choppers dropped dead right after spawning (reason was UAV config entries in classname arrays where the script selected a chopper).
  • Improved heli spawning in ReinforcementChopper.

Changed

  • ReinforcementChopper: parsing off chopper classnames which includes 'UAV' or 'Light'.
  • ReinforcementChopper: using now bis_fnc_spawncrew instead of manually creating pilot (now chopper also has a crew instead of lonely pilot).

I havent tested your script yet but a heads up.If your reinforcement chopper is a FFV aircraft such as the Huron,it might not disembark FFV pasengers.Currently creating a scenario and using a reinforcement method via the "gaurd" WP is causing this.FFV units act like crew.

 

For me,i used 6 crew in the huron to get around this,as first 4 take up crew then next 2 take up FFV spots.

  • Like 2

Share this post


Link to post
Share on other sites
6 minutes ago, redarmy said:

I havent tested your script yet but a heads up.If your reinforcement chopper is a FFV aircraft such as the Huron,it might not disembark FFV pasengers.Currently creating a scenario and using a reinforcement method via the "gaurd" WP is causing this.FFV units act like crew.

 

For me,i used 6 crew in the huron to get around this,as first 4 take up crew then next 2 take up FFV spots.

Thanks for the heads up! I'll have to check different FFV choppers and see how it goes with bis_fnc_spawncrew and probably update my cargo spot calculations - I just noticed I still have _cfg >> "Turrets" in it, instead of just "transportSoldier".

Share this post


Link to post
Share on other sites

Wow...after a very LONG search for a proper script, I believe you have the solution. Im going to use the reinforcement script but I have one question...I see the following on the description:

Parameter 1 - Spot: "Landing spot (object/unit/marker/position array, remember to use "quotes" with marker)"

 

Can this also be done with a map click? Im also assuming I could call the script with an AddAction

Nice work, and REALLY great stuff with the documentation 😊 🙌

Share this post


Link to post
Share on other sites
On 6/14/2021 at 6:01 AM, KokayneKrayzie said:

Wow...after a very LONG search for a proper script, I believe you have the solution. Im going to use the reinforcement script but I have one question...I see the following on the description:

Parameter 1 - Spot: "Landing spot (object/unit/marker/position array, remember to use "quotes" with marker)"

 

Can this also be done with a map click? Im also assuming I could call the script with an AddAction

Nice work, and REALLY great stuff with the documentation 😊 🙌

Glad to hear that! 🙂

Yes, that should work if you use AddAction to call it, perhaps via simple script that sets the desired position on to that first parameter. I'll try this some day this week, it would in fact make my own debugging also easier.

Share this post


Link to post
Share on other sites
On 6/14/2021 at 6:01 AM, KokayneKrayzie said:

Wow...after a very LONG search for a proper script, I believe you have the solution. Im going to use the reinforcement script but I have one question...I see the following on the description:

Parameter 1 - Spot: "Landing spot (object/unit/marker/position array, remember to use "quotes" with marker)"

 

Can this also be done with a map click? Im also assuming I could call the script with an AddAction

Nice work, and REALLY great stuff with the documentation 😊 🙌

 

Seems to work nicely - here's a very minimal example (just quickly copy-pasted the script from another thread);
For example in init.sqf:

map_enabled = false;

map_click_handler =
[
	"reinforcementCall", "onMapSingleClick",
	{
		if (map_enabled) then {
			nul = [_pos, true, 1, 0, false, true, player, "random", 1500, true, false, 8, "default", [true, false, false, false], nil, nil, nil, false, true, ["ALL"]] execVM "LV\reinforcementChopper.sqf";
			systemChat format ["Reinforcements requested to position; %1", _pos];
			map_enabled = false;
			openMap false;
		};
	},
	nil
] call BIS_fnc_addStackedEventHandler;

_id = player addAction
[
	"Call reinforcements",
	{
		map_enabled = true;
		if (!visibleMap) then {
			// will probably need to check if player has map, and use forceMap if he doesn't
			openMap true;
			waitUntil {visibleMap};
		};
		mapCenterOnCamera ((findDisplay 12) displayCtrl 51);
		waitUntil {!visibleMap};
		if (map_enabled) then {
			systemChat "Reinforcements cancelled.";
		};
		map_enabled = false;
	},
	nil, 0.5, false, true
];

Additional ideas for this approach; you could add also marker to map when reinforcements are being called, and perhaps remove it once chopper leaves the LZ. addAction could be tied to somekind of device or radio, and limited by some interval or resources etc.
This almost makes me want to create a SP scenario 😅

Share this post


Link to post
Share on other sites
On 6/19/2021 at 6:01 AM, spunfin said:

 

Seems to work nicely - here's a very minimal example (just quickly copy-pasted the script from another thread);
For example in init.sqf:


map_enabled = false;

map_click_handler =
[
	"reinforcementCall", "onMapSingleClick",
	{
		if (map_enabled) then {
			nul = [_pos, true, 1, 0, false, true, player, "random", 1500, true, false, 8, "default", [true, false, false, false], nil, nil, nil, false, true, ["ALL"]] execVM "LV\reinforcementChopper.sqf";
			systemChat format ["Reinforcements requested to position; %1", _pos];
			map_enabled = false;
			openMap false;
		};
	},
	nil
] call BIS_fnc_addStackedEventHandler;

_id = player addAction
[
	"Call reinforcements",
	{
		map_enabled = true;
		if (!visibleMap) then {
			// will probably need to check if player has map, and use forceMap if he doesn't
			openMap true;
			waitUntil {visibleMap};
		};
		mapCenterOnCamera ((findDisplay 12) displayCtrl 51);
		waitUntil {!visibleMap};
		if (map_enabled) then {
			systemChat "Reinforcements cancelled.";
		};
		map_enabled = false;
	},
	nil, 0.5, false, true
];

Additional ideas for this approach; you could add also marker to map when reinforcements are being called, and perhaps remove it once chopper leaves the LZ. addAction could be tied to somekind of device or radio, and limited by some interval or resources etc.
This almost makes me want to create a SP scenario 😅


So I was finally able to get some time to test everything out! Just wanted to test the simple script first before doing anything too complex. I have everything popping up correctly, the map and add action. However, once I click, nothing happens (I don't get the Reinfoments requested to position system chat). When I get out of the map, I do get the reinforcements canceled though.

Am I missing something?

Share this post


Link to post
Share on other sites
37 minutes ago, KokayneKrayzie said:


So I was finally able to get some time to test everything out! Just wanted to test the simple script first before doing anything too complex. I have everything popping up correctly, the map and add action. However, once I click, nothing happens (I don't get the Reinfoments requested to position system chat). When I get out of the map, I do get the reinforcements canceled though.

Am I missing something?

Hmm, that is weird. Did you have LV -folder and description.ext in your test missions folder? (Just to be sure 😅)
Here's a demo with it by using that very same script, check if that works for you: https://drive.google.com/file/d/1tds-p2nv2CGgz0Ar9ZarOeApcl9tFS3F/view?usp=sharing

Share this post


Link to post
Share on other sites

Nevermind, I must have had an incomplete download of the script. Everything is working as expected. 🙌🏽

Share this post


Link to post
Share on other sites

@spunfin any idea on how to get this modified reinforcement script working on a server? I have it working in Single Player and LAN but as soon as I put it on a dedicated Server... it doesn't work.

Share this post


Link to post
Share on other sites

Used randomSectors script, with _classModuleFilters = "nil";  all work fine but when I try to set one faction to spawn (_classModuleFilters = ["OPF_F"];) its stop working and give error. Any solution ? Or I do something wrong? Thanks.

Share this post


Link to post
Share on other sites

@baton1990 Good catch! In that situation, you actually need to use this format:

_classModuleFilters = "['OPF_F']";

Also, current version patrol-vF.sqf might raise errors here, so here's a fixed version for it: https://kaartomedia.com/AISSP/files/patrol-vF.sqf

 

@KokayneKrayzie I'll test that soon and get back to it. o/

  • Thanks 1

Share this post


Link to post
Share on other sites

@KokayneKrayzie I couldn't test with actual dedicated server yet, but atleast in normal internet server (via Arma3) it seemed to work - does it work for you when you self host the server? If you have the same issue when self-hosting, I can maybe checkout your mission if I can spot something there.
But if this is happening only in dedicated server, I'll have to set one up to test things a bit.

  • Like 1

Share this post


Link to post
Share on other sites

I appreciate your beautiful work, spunfin. Thank you again for updating this powerful tool!

Your next beer is on me 😉

  • Like 1

Share this post


Link to post
Share on other sites
14 hours ago, Ben@Arms said:

I appreciate your beautiful work, spunfin. Thank you again for updating this powerful tool!

Your next beer is on me 😉

Hey Ben, thanks! 🍻 Glad to hear you enjoy it

Share this post


Link to post
Share on other sites
On 7/3/2021 at 1:31 PM, spunfin said:

@KokayneKrayzie I couldn't test with actual dedicated server yet, but atleast in normal internet server (via Arma3) it seemed to work - does it work for you when you self host the server? If you have the same issue when self-hosting, I can maybe checkout your mission if I can spot something there.
But if this is happening only in dedicated server, I'll have to set one up to test things a bit.

Sorry it's been a while (Vacation time)...but...it works. I can't remember why I thought it didn't work. 

  • Like 1

Share this post


Link to post
Share on other sites
		class OPF_F
		{
			side = 2;
			cars[] = {"O_OPFORArmy_Chemical_Response_Team_Car_01"};
			tanks[] = {"O_OOPFORArmy_Chemical_Response_Team_Tank_01"};
			helicopters[] = {"O_OOPFORArmy_Chemical_Response_Team_Attack_Helicopter_01","O_OPFORArmy_Chemical_Response_Team_Helo_01"};
			planes[] = {};
			ships[] = {};
			men[] = {"O_OPFORArmy_Chemical_Response_Team_Team_Leader_01","O_OPFORArmy_Chemical_Response_Team_Rifleman_01","O_OPFORArmy_Chemical_Response_Team_Combat_Life_Saver_01","O_OPFORArmy_Chemical_Response_Team_Mechanic_01","O_OOPFORArmy_Chemical_Response_Team_Automatic_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Pilot_01","O_OOPFORArmy_Chemical_Response_Team_Genedier_01","O_OOPFORArmy_Chemical_Response_Team_AA_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_AT_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Marksman_01","O_OOPFORArmy_Chemical_Response_Team_Rifleman_2_01"};
			men2[] = {"O_OPFORArmy_Chemical_Response_Team_Team_Leader_01","O_OPFORArmy_Chemical_Response_Team_Rifleman_01","O_OPFORArmy_Chemical_Response_Team_Combat_Life_Saver_01","O_OPFORArmy_Chemical_Response_Team_Mechanic_01","O_OOPFORArmy_Chemical_Response_Team_Automatic_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Pilot_01","O_OOPFORArmy_Chemical_Response_Team_Genedier_01","O_OOPFORArmy_Chemical_Response_Team_AA_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_AT_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Marksman_01","O_OOPFORArmy_Chemical_Response_Team_Rifleman_2_01"};
			menSF[] = {"O_OPFORArmy_Chemical_Response_Team_Team_Leader_01","O_OPFORArmy_Chemical_Response_Team_Rifleman_01","O_OPFORArmy_Chemical_Response_Team_Combat_Life_Saver_01","O_OPFORArmy_Chemical_Response_Team_Mechanic_01","O_OOPFORArmy_Chemical_Response_Team_Automatic_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Pilot_01","O_OOPFORArmy_Chemical_Response_Team_Genedier_01","O_OOPFORArmy_Chemical_Response_Team_AA_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_AT_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Marksman_01","O_OOPFORArmy_Chemical_Response_Team_Rifleman_2_01"};
			men3[] = {"O_OPFORArmy_Chemical_Response_Team_Team_Leader_01","O_OPFORArmy_Chemical_Response_Team_Rifleman_01","O_OPFORArmy_Chemical_Response_Team_Combat_Life_Saver_01","O_OPFORArmy_Chemical_Response_Team_Mechanic_01","O_OOPFORArmy_Chemical_Response_Team_Automatic_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Pilot_01","O_OOPFORArmy_Chemical_Response_Team_Genedier_01","O_OOPFORArmy_Chemical_Response_Team_AA_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_AT_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Marksman_01","O_OOPFORArmy_Chemical_Response_Team_Rifleman_2_01"};
			divers[] = {};
		};
		class OPF_G_F
		{
			side = 2;
			cars[] = {"O_OPFORArmy_Chemical_Response_Team_Car_01"};
			ships[] = {};
			men[] = {"O_OPFORArmy_Chemical_Response_Team_Team_Leader_01","O_OPFORArmy_Chemical_Response_Team_Rifleman_01","O_OPFORArmy_Chemical_Response_Team_Combat_Life_Saver_01","O_OPFORArmy_Chemical_Response_Team_Mechanic_01","O_OOPFORArmy_Chemical_Response_Team_Automatic_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Pilot_01","O_OOPFORArmy_Chemical_Response_Team_Genedier_01","O_OOPFORArmy_Chemical_Response_Team_AA_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_AT_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Marksman_01","O_OOPFORArmy_Chemical_Response_Team_Rifleman_2_01"};
		};
		class OPF_T_F
		{
			side = 2;
			cars[] = {"O_OPFORArmy_Chemical_Response_Team_Car_01"};
			tanks[] = {"O_OOPFORArmy_Chemical_Response_Team_Tank_01"};
			planes[] = {};
			ships[] = {};
			men[] = {"O_OPFORArmy_Chemical_Response_Team_Team_Leader_01","O_OPFORArmy_Chemical_Response_Team_Rifleman_01","O_OPFORArmy_Chemical_Response_Team_Combat_Life_Saver_01","O_OPFORArmy_Chemical_Response_Team_Mechanic_01","O_OOPFORArmy_Chemical_Response_Team_Automatic_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Pilot_01","O_OOPFORArmy_Chemical_Response_Team_Genedier_01","O_OOPFORArmy_Chemical_Response_Team_AA_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_AT_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Marksman_01","O_OOPFORArmy_Chemical_Response_Team_Rifleman_2_01"};
			menSF[] = {"O_OPFORArmy_Chemical_Response_Team_Team_Leader_01","O_OPFORArmy_Chemical_Response_Team_Rifleman_01","O_OPFORArmy_Chemical_Response_Team_Combat_Life_Saver_01","O_OPFORArmy_Chemical_Response_Team_Mechanic_01","O_OOPFORArmy_Chemical_Response_Team_Automatic_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Pilot_01","O_OOPFORArmy_Chemical_Response_Team_Genedier_01","O_OOPFORArmy_Chemical_Response_Team_AA_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_AT_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Marksman_01","O_OOPFORArmy_Chemical_Response_Team_Rifleman_2_01"};
			men2[] = {"O_OPFORArmy_Chemical_Response_Team_Team_Leader_01","O_OPFORArmy_Chemical_Response_Team_Rifleman_01","O_OPFORArmy_Chemical_Response_Team_Combat_Life_Saver_01","O_OPFORArmy_Chemical_Response_Team_Mechanic_01","O_OOPFORArmy_Chemical_Response_Team_Automatic_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Pilot_01","O_OOPFORArmy_Chemical_Response_Team_Genedier_01","O_OOPFORArmy_Chemical_Response_Team_AA_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_AT_Rifleman_01","O_OOPFORArmy_Chemical_Response_Team_Marksman_01","O_OOPFORArmy_Chemical_Response_Team_Rifleman_2_01"};
			divers[] = {};
		};

	};
};

This is my config_aissp.hpp and all pre placed units don't exist with 

 

class CfgFunctions 
{
    #include "HG\Functions\HG_Functions.h"
};

 

loaded in the description.ext. Help?

Share this post


Link to post
Share on other sites

Hi there, this looks like a really useful set of scripts and the website documentation and tools make it super easy to customize. However, I cannot get Ambient Combat to work - nothing is happening. I have installed the script correctly - I seem to be able to get ambient explosions to run in some form as I can see slow-movers flying around, and I am seeing errors referencing code inside the ambient combat script when I intentionally cause an error in the parameters (eg. adding a unit name as the first parameter for Ambient Combat, which doesn't work that way). Even when using the default, no units will spawn, even after 30-120 seconds. I've tried running it from the inits of units in game, in triggers, and in the equivalent of my init.sqf, on Altis with just the scripts, the description.ext and a player, etc. 

Share this post


Link to post
Share on other sites
6 hours ago, Blackheart_Six said:

Merry Christmas, Spunfin! Enjoy the beer.

Thanks brother, Merry Christmas! o/

 

On 12/8/2021 at 4:54 AM, h34dup said:

Hi there, this looks like a really useful set of scripts and the website documentation and tools make it super easy to customize. However, I cannot get Ambient Combat to work - nothing is happening. I have installed the script correctly - I seem to be able to get ambient explosions to run in some form as I can see slow-movers flying around, and I am seeing errors referencing code inside the ambient combat script when I intentionally cause an error in the parameters (eg. adding a unit name as the first parameter for Ambient Combat, which doesn't work that way). Even when using the default, no units will spawn, even after 30-120 seconds. I've tried running it from the inits of units in game, in triggers, and in the equivalent of my init.sqf, on Altis with just the scripts, the description.ext and a player, etc. 

Hmm, sounds weird. I'll double-check that and will DM you a simple demo mission once I get home (maybe after Christmas, but we'll see).

Share this post


Link to post
Share on other sites

After being gone from arma 3 for a while i come back and after a small search for the right scripts i see this has been updated   in the old days i used this scripts all the time  so i am going to do it again 🙂 

  • Like 2

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

×