Jump to content
Petersang

SAR / Extraction Script

Recommended Posts

Hello everyone, I am trying to find on the internet a script to do SAR adn extraction missions as an helicopter pilot, but everything that I came across is to old to be used. My idea is : The Helicopter pilot is a player, and his mission is picking up injured troops or civilian from certain point. So basicly the pilot knows where to go lands the ai civilians/troops get in and he devilers them in the campaing hospital. 

 

Does anyone got any idea how to do this ?

Thanks in advance ;)

  • Like 2

Share this post


Link to post
Share on other sites

Not really clear on what you want to achieve here.

The SAR mission will be "stand-alone" or one time only, or it's more like role-playing where the player has to fulfill a series of SAR missions? Like...you're sitting in a base, and when you get the call you go to the marker, SAR the dude and RTB. Rinse and repeat somewhere else on the map...and so on.

It makes a huge difference because if it is one time only, that's easy; you basically set up the event in the editor (even whit random location at THE START of the mission). If it is more like a mini-campaign it needs more effort.

Enlight us, please.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
10 minutes ago, zagor64bz said:

Not really clear on what you want to achieve here.

The SAR mission will be "stand-alone" or one time only, or it's more like role-playing where the player has to fulfill a series of SAR missions? Like...you're sitting in a base, and when you get the call you go to the marker, SAR the dude and RTB. Rinse and repeat somewhere else on the map...and so on.

It makes a huge difference because if it is one time only, that's easy; you basically set up the event in the editor (even whit random location at THE START of the mission). If it is more like a mini-campaign it needs more effort.

Enlight us, please.

@zagor64bz Thank you for replying.

 

First of all sorry for not make my idea so clear, but like you said, my goal is to have one pilot (or more if possible) and they get the call to SAR/Extract someone or a group they go execute , RTB and it repeats itself in some other locations throught the mission time yes.

Share this post


Link to post
Share on other sites
3 minutes ago, Petersang said:

my goal is to have one pilot (or more if possible) and they get the call to SAR/Extract someone or a group they go execute , RTB and it repeats itself in some other locations throught the mission time yes.

OK, that's more clear on what you're looking for. Now, a couple more things:

Will the pilot "duty" be to only SAR, or this kind of mission needs to pop up randomly within other tasks?

As far as "more players if possible" I'm not an MP expert, but I'll try my best.

 

Share this post


Link to post
Share on other sites
1 minute ago, zagor64bz said:

OK, that's more clear on what you're looking for. Now, a couple more things:

Will the pilot "duty" be to only SAR, or this kind of mission needs to pop up randomly within other tasks?

As far as "more players if possible" I'm not an MP expert, but I'll try my best.

 

SAR pilot will only do SAR stuff, CAS or some other duttys will be applyed to other pilot. And thanks for helping 😉

Share this post


Link to post
Share on other sites
1 minute ago, Petersang said:

SAR pilot will only do SAR stuff, CAS or some other duttys will be applyed to other pilot. And thanks for helping 😉

Awesome...let me dig in a little bit in the editor. I'll get back to you asap.

Share this post


Link to post
Share on other sites
Just now, zagor64bz said:

Awesome...let me dig in a little bit in the editor. I'll get back to you asap.

Roger that sir!

  • Like 1

Share this post


Link to post
Share on other sites

Nice. My final objective is putting this in action in a Vietnam War mission. I have tryed for a few days to take something out of that mission but my scripting skill are way to low for it 😄

  • Like 1

Share this post


Link to post
Share on other sites

OK...I opened up the mission in the editor...it is indeed complicated (perhaps for my rusty-mission making knowledge) to EASILY isolate just the SAR part. I'll have to play with it more...or start from scratch. Be patient..I'll sees what I can do, mate.

Share this post


Link to post
Share on other sites
4 minutes ago, zagor64bz said:

OK...I opened up the mission in the editor...it is indeed complicated (perhaps for my rusty-mission making knowledge) to EASILY isolate just the SAR part. I'll have to play with it more...or start from scratch. Be patient..I'll sees what I can do, mate.

It's ok, I have time , thanks once again 😉

Share this post


Link to post
Share on other sites

A reliable heli extraction script is on my TODO list. I'll work on that next and post any results here.

Have fun!

 

Spoiler

Technically this is already super-easy with the MMF_framework but I'd like to make a stand-alone function.

 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
13 hours ago, Petersang said:

Nice. My final objective is putting this in action in a Vietnam War mission. I have tryed for a few days to take something out of that mission but my scripting skill are way to low for it 😄

 

You can use the CH-46 or CH-53 in Unsung to deploy a rescue basket. For getting an AI to enter the basket you can check out

https://steamcommunity.com/sharedfiles/filedetails/?id=2030960722

for the standalone CH-46 version. 

If you look for a script that rescues you via the basket, look at https://tetet.de/arma/arma3/CH-46/missions/rescue2.Stratis.7z

 

Cheers,

TeTeT

  • Thanks 1

Share this post


Link to post
Share on other sites
10 hours ago, wogz187 said:

A reliable heli extraction script is on my TODO list. I'll work on that next and post any results here.

Have fun!

 

  Reveal hidden contents

Technically this is already super-easy with the MMF_framework but I'd like to make a stand-alone function.

 

:yeahthat:

Share this post


Link to post
Share on other sites
2 hours ago, TeTeT said:

 

You can use the CH-46 or CH-53 in Unsung to deploy a rescue basket. For getting an AI to enter the basket you can check out

https://steamcommunity.com/sharedfiles/filedetails/?id=2030960722

for the standalone CH-46 version. 

If you look for a script that rescues you via the basket, look at https://tetet.de/arma/arma3/CH-46/missions/rescue2.Stratis.7z

 

Cheers,

TeTeT

..AND  :yeahthat:

Share this post


Link to post
Share on other sites

@TeTeT i appreciate that but i am trying to simulate UH-1 extractions like they were done at the time. I really enjoy arma but in a MilSim looking. And what I am looking for CH-46 or CH-53 is a no go helicopter for it. Thanks anyways xD. I really would like to know scripting cause the idea seems pretty simple, but we all know arma xD

@zagor64bz if you find some way to do it let me know pls.

Share this post


Link to post
Share on other sites
59 minutes ago, Petersang said:

@TeTeT i appreciate that but i am trying to simulate UH-1 extractions like they were done at the time. I really enjoy arma but in a MilSim looking. And what I am looking for CH-46 or CH-53 is a no go helicopter for it. Thanks anyways xD. I really would like to know scripting cause the idea seems pretty simple, but we all know arma xD

 

How do you simulate a wounded person? Just by some bandages applied (available in Unsung) or as unconscious with some injury framework (AIS by psychobastard comes to mind)? The idea sounds interesting, if I can think of something I'll add it to the Khe Sanh random helo transport mission and you can re-use the script if you like.

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
1 minute ago, TeTeT said:

 

How do you simulate a wounded person? Just by some bandages applied (available in Unsung) or as unconscious with some injury framework (AIS by psychobastard comes to mind)? The idea sounds interesting, if I can think of something I'll add it to the Khe Sanh random helo transport mission and you can re-use the script if you like.

 

I was thinking on that yeah, just some bandages applied to soldiers and civilians to be extracted. Ill have a look to that mission you linked. Thanks 😉

And btw i am using unsung mod, great mod ! 😄

Share this post


Link to post
Share on other sites

@Petersang,

I wrote a draft of the script last night. It can be repeated any time and configured for many different types of scenarios.

 

Includes:
A "Mission Ready" button

A configurable call to determine location, number/type of people to be rescued, damage level of rescuees. Pop smoke.

Task markers

Load and unload group actions

Will test and upload today.

Have fun!

 

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites
21 minutes ago, wogz187 said:

@Petersang,

I wrote a draft of the script last night. It can be repeated any time and configured for many different types of scenarios.

 

Includes:
A "Mission Ready" button

A configurable call to determine location, number/type of people to be rescued, damage level of rescuees. Pop smoke.

Task markers

Load and unload group actions

Will test and upload today.

Have fun!

 

Thanks @wogz187 when you do can you post it here please ? I appreciate the help. 

I was testing @TeTeT mission , and is close of what I want but is more insertion/transport related, thats really good work, but I was really looking for the SAR/Extract feature.

 

I'll wait for the upload 😉

  • Like 1

Share this post


Link to post
Share on other sites

@Petersang,

As with any of these things the script can definitely be improved. But here we go,

Spoiler

//create task
[true,["rescueOP_task"],["Mission Objective","Mission","Target"],objNULL,1,3,false] call BIS_fnc_taskCreate;
["task1","assigned"] call BIS_fnc_taskSetState;

//unit array to be configured
victims =["c_man_p_beggar_f","c_man_p_beggar_f","c_man_p_beggar_f"];

//variables
missionNameSpace setvariable ["hasGroup",0];
missionNameSpace setvariable ["rescueOP",0];

//ready button
missionReady=[ player, "Mission Ready", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"(missionNameSpace getVariable ""rescueOP"")==0", "!isNull objectParent player", {}, {}, {

	rescueLOC= selectRandom [r_loc_1, r_loc_2, r_loc_3];
	[rescueLOC, airportLOC, victims, 3, 0] spawn you_fnc_rescueOP;
	missionNameSpace setvariable ["rescueOP",1];

}, {}, [], 2, 0, false, true] call BIS_fnc_holdActionAdd;

 

Function,

Spoiler

you_fnc_rescueOP=
{ 	params [["_locA", locationNUll], ["_locB", locationNULL], ["_typeUnit", ["c_man_p_beggar_f"]], ["_spawnNUM", 0], ["_damMAX", 0]];

	if (missionNameSpace getVariable ["rescueOP", 0]==1) then {

			private _spawnSide = playerSide;
			private	_grp =[getPos _locA, _spawnSIDE, _typeUnit, [],[],[],[],[_spawnNUM, 0],0] call BIS_fnc_spawnGroup;
				_grp setBehaviour "CARELESS";
				_grp allowFleeing 0;
				_grp deleteGroupWhenEmpty true;
			private	_goto="SmokeShellGreen" createVehicle [(getPos _locA select 0),(getPos _locA select 1), 0.5];
				_wp = _grp addWaypoint [(getPos _locA), 0];
				_wp setWaypointType "MOVE";
				{_x setdamage _damMAX} foreach units _grp;
				["rescueOP_task",[_locA,true]] call BIS_fnc_taskSetDestination;

opSite= _locA;
airport=_locB;
rescue_grp=_grp;
lead_grp= leader _grp;
_grp setGroupId ["Survivor"];
		waitUntil {sleep 1; (vehicle player) distance _locA <30 && (speed vehicle player) <2};

rescueADD=[ player, "Load Group", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"!isNull objectParent player && (vehicle player) distance opSite <30", "(speed vehicle player)<2 && (missionNameSpace getVariable ""rescueOP"")==1 && (getPos (vehicle player)) select 2 < 2", {}, {}, { 
	player removeAction rescueADD;
	{_x assignAsCargo vehicle player; _x moveinCargo (vehicle player);} foreach units rescue_grp;
	["rescueOP_task",[airport,true]] call BIS_fnc_taskSetDestination;
	missionNameSpace setvariable ["hasGroup",0];
lead_grp sideChat "We're ready. Let's go.";

}, {}, [], 5, 12, false, true] call BIS_fnc_holdActionAdd;

		waitUntil {sleep 1; !isNull objectParent lead_grp};

rescueEXIT=[player, "Deliver Group", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"!isNull objectparent player && (vehicle player) distance airport<30", "(speed vehicle player)<2 && (getPos (vehicle player)) select 2 < 2", {}, {},{
	player removeAction rescueEXIT;
	{moveOut _x; unassignvehicle _x;} foreach units rescue_grp;
	["rescueOP_task",[objNull,false]] call BIS_fnc_taskSetDestination;
	missionNameSpace setvariable ["hasGroup",0];
lead_grp sideChat "Thanks for your help.";
}, {}, [], 5, 12, false, true] call BIS_fnc_holdActionAdd;

waitUntil {sleep 1; (vehicle player) distance lead_grp >50};
{deleteVehicle _x} foreach units rescue_grp;
missionNameSpace setvariable ["rescueOP",0];

	};
};

 


a) Download and extract the test scenario (below)
b) Copy the contents of "init.sqf" to your mission init.sqf
c) Configure the unit array (if necessary)
d) Place helpers named r_loc_1, r_loc_2, r_loc_3 in potential rescue locations and one named airportLoc at the airport (drop off point)
(helpers are under "signs" and should have visibility disabled)

To use in the mission,
Use action "Mission Ready"

Locate the survivors
land within 30 m of task
Use "Load Group"
RTB

Use "Deliver Group"

Leave the area
*repeat*

Test Scenario (drive)

Have fun!

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
11 minutes ago, wogz187 said:

@Petersang,

As with any of these things the script can definitely be improved. But here we go,

  Hide contents


//create task
[true,["rescueOP_task"],["Mission Objective","Mission","Target"],objNULL,1,3,false] call BIS_fnc_taskCreate;
["task1","assigned"] call BIS_fnc_taskSetState;

//unit array to be configured
victims =["c_man_p_beggar_f","c_man_p_beggar_f","c_man_p_beggar_f"];

//variables
missionNameSpace setvariable ["hasGroup",0];
missionNameSpace setvariable ["rescueOP",0];

//ready button
missionReady=[ player, "Mission Ready", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"(missionNameSpace getVariable ""rescueOP"")==0", "!isNull objectParent player", {}, {}, {

	rescueLOC= selectRandom [r_loc_1, r_loc_2, r_loc_3];
	[rescueLOC, airportLOC, victims, 3, 0] spawn you_fnc_rescueOP;
	missionNameSpace setvariable ["rescueOP",1];

}, {}, [], 2, 0, false, true] call BIS_fnc_holdActionAdd;

 

Function,

  Hide contents


you_fnc_rescueOP=
{ 	params [["_locA", locationNUll], ["_locB", locationNULL], ["_typeUnit", ["c_man_p_beggar_f"]], ["_spawnNUM", 0], ["_damMAX", 0]];

	if (missionNameSpace getVariable ["rescueOP", 0]==1) then {

			private _spawnSide = playerSide;
			private	_grp =[getPos _locA, _spawnSIDE, _typeUnit, [],[],[],[],[_spawnNUM, 0],0] call BIS_fnc_spawnGroup;
				_grp setBehaviour "CARELESS";
				_grp allowFleeing 0;
				_grp deleteGroupWhenEmpty true;
			private	_goto="SmokeShellGreen" createVehicle [(getPos _locA select 0),(getPos _locA select 1), 0.5];
				_wp = _grp addWaypoint [(getPos _locA), 0];
				_wp setWaypointType "MOVE";
				{_x setdamage _damMAX} foreach units _grp;
				["rescueOP_task",[_locA,true]] call BIS_fnc_taskSetDestination;

opSite= _locA;
airport=_locB;
rescue_grp=_grp;
lead_grp= leader _grp;
_grp setGroupId ["Survivor"];
		waitUntil {sleep 1; (vehicle player) distance _locA <30 && (speed vehicle player) <2};

rescueADD=[ player, "Load Group", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"!isNull objectParent player && (vehicle player) distance opSite <30", "(speed vehicle player)<2 && (missionNameSpace getVariable ""rescueOP"")==1 && (getPos (vehicle player)) select 2 < 2", {}, {}, { 
	player removeAction rescueADD;
	{_x assignAsCargo vehicle player; _x moveinCargo (vehicle player);} foreach units rescue_grp;
	["rescueOP_task",[airport,true]] call BIS_fnc_taskSetDestination;
	missionNameSpace setvariable ["hasGroup",0];
lead_grp sideChat "We're ready. Let's go.";

}, {}, [], 5, 12, false, true] call BIS_fnc_holdActionAdd;

		waitUntil {sleep 1; !isNull objectParent lead_grp};

rescueEXIT=[player, "Deliver Group", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"\a3\ui_f\data\IGUI\Cfg\holdactions\holdAction_connect_ca.paa", 
"!isNull objectparent player && (vehicle player) distance airport<30", "(speed vehicle player)<2 && (getPos (vehicle player)) select 2 < 2", {}, {},{
	player removeAction rescueEXIT;
	{moveOut _x; unassignvehicle _x;} foreach units rescue_grp;
	["rescueOP_task",[objNull,false]] call BIS_fnc_taskSetDestination;
	missionNameSpace setvariable ["hasGroup",0];
lead_grp sideChat "Thanks for your help.";
}, {}, [], 5, 12, false, true] call BIS_fnc_holdActionAdd;

waitUntil {sleep 1; (vehicle player) distance lead_grp >50};
{deleteVehicle _x} foreach units rescue_grp;
missionNameSpace setvariable ["rescueOP",0];

	};
};

 


a) Download and extract the test scenario (below)
b) Copy the contents of "init.sqf" to your mission init.sqf
c) Configure the unit array (if necessary)
d) Place helpers named r_loc_1, r_loc_2, r_loc_3 in potential rescue locations and one named airportLoc at the airport (drop off point)
(helpers are under "signs" and should have visibility disabled)

To use in the mission,
Use action "Mission Ready"

Locate the survivors
land within 30 m of task
Use "Load Group"
RTB

Use "Deliver Group"

Leave the area
*repeat*

Test Scenario (drive)

Have fun!

Thank you very much @wogz187 ill try it ! Ill leave feedback later here 😉

  • Like 3

Share this post


Link to post
Share on other sites

@Petersang,

The variable:

missionNameSpace setvariable ["hasGroup",0];

is both unused and configured incorrectly-- can safely be deleted.

This script will be included in the next MMF_Framework Demo which is a pretty comprehensive air-base scenario. Will post a link when it's ready.

Have fun!

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites
2 minutes ago, wogz187 said:

This script will be included in the next MMF_Framework Demo which is a pretty comprehensive air-base scenario. Will post a link when it's ready.

Have fun!

YOU'RE DA MAN!!!!!!

  • Like 2
  • Thanks 1

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

×