Jump to content

Helicopter Parachute Supply Drop


tdavison

Recommended Posts

Parachute Supply Drop Crates addon for Arma3 Epoch (Now with paratrooper AI)

Give your survivors a little love

 

This is a lightweight mission for dedicated or layer-based game servers. A Mohawk helicopter will fly in from North, South, East or West oceanic spawn positions (chose randomly at mission start), and drop a supply crate (via parachute) to random locations on Altis. The crates are configurable, but 4 types are pre-defined in the code.

 

Features:

  • Random landing zones for supply crates delivered by AI pilots
  • 4 supply crate types are pre-defined: Food & Clothing / Supplies / Weapons & Ammo / Random Loot
  • Customizable crate loot (via editing init.sqf) also has random loot generator
  • 500-meter radius marker for LZ lets players know where to look
  • Auto repeating mission once crate has been found
  • Virtually no BE filters - uses mostly vanilla loot (but you might need to add a few)
Latest Release: v1.0c (releases can be downloaded here: https://github.com/tdavison70/Helicopter-Supply-Drop/releases
 
This release has the following updates:
 
  • Added AI units that parachute down with crate and guard it
  • AI units each have a sub-set of skills - these guys are tough by default
  • AI might drop krypto
  • BIS_fnc_findSafePos now called from helicopter spawn position and uses world safe anchor for range
  • Added JIP (Join In Progress) support to eliminate multiple copies running on server
  • Replaced all WaitUntil loops with While (sleep) loops to fix major lag
  • Loitering helicopters should now be fixed (they get deleted)
 
I tested this PBO on my game server (Vert Hosting), and had it running side-by-side with VEMF / BlckEagl / A3AEI and had no issues. All the AI seem to have a mutual respect for one another :P
 
A big shout out to all the modders who inspired me to make this. Sorry, in advance, if there are tons of supply drop missions out there. This one is pretty straight-forward, and can be easily edited to your liking. Hope you enjoy!
 
Link to comment
Share on other sites

Very cool addon. I'm using it on my server. I do have two requests:

 

1. Percentage chance of it running.

2. Percentage chance that the heli will crash before dropping it's crate, just to make it more interesting.

 

Now, if anyone wants to use it for Chernarus:

 

1. Open SDROP_SupplyDrop.sqf.

2. Replace the "_posArray" line with this:

_posArray = [[72.0000,8184.00,200],[15320.0,7816.00,200],[7528.00,15320.0,200],[6888.00,40.0000,200]];

3. Replace the "_mapCenter" line and the "_coords" line with this:

_mapCenter = [7067.50,7798.63];
_coords = [_mapCenter,500,5000,30,0,10,0] call BIS_fnc_findSafePos;

The _posArray line has positions for helicopters to spawn on the edges of Chernarus. The _mapCenter sets the center of the map at Novy Sobor and _coords sets the distance from the center of the map to spawn the supply drop to 5000km. The edge of the map is around 7.2km from Novy Sobor, so that keeps the supply drops away from the edges of the map.

Link to comment
Share on other sites

TDA....

From your install page.

 

"//Supply Drop Alert Event "SDROP_Alert" addPublicVariableEventHandler { titleText[format["%1",_this select 1],"PLAIN DOWN",1]; };"

 

 

is that 

"//Supply Drop Alert Event

"SDROP_Alert" addPublicVariableEventHandler { titleText[format["%1",_this select 1],"PLAIN DOWN",1]; };"

 

?   and should that be in or out of a if (!isDedicated) then {   block?

 

 

 

EDIT :Got it working....  I had separated the lines, but it started working when I moved it into a  !is dedicated block! 

Link to comment
Share on other sites

TDA....

From your install page.

 

"//Supply Drop Alert Event "SDROP_Alert" addPublicVariableEventHandler { titleText[format["%1",_this select 1],"PLAIN DOWN",1]; };"

 

 

is that 

"//Supply Drop Alert Event

"SDROP_Alert" addPublicVariableEventHandler { titleText[format["%1",_this select 1],"PLAIN DOWN",1]; };"

 

?   and should that be in or out of a if (!isDedicated) then {   block?

 

Pops:

 

In your init.sqf (from epoch.Altis.pbo), you can put this anywhere (doesn't have to be in the server block):

//Supply Drop Alert Event
"SDROP_Alert" addPublicVariableEventHandler {
	titleText[format["%1",_this select 1],"PLAIN DOWN",1];
};

It is used to message all players of an incoming supply drop / when it landed, etc. Sorry the lines all ran together on the install page. I'll get that fixed, and thank you!

Link to comment
Share on other sites

have the mission runnin on the test box. Seems pretty cool . Some requests.  Make the Marker say up for a little longer. Like keep the marker up  on the map for  like 5  to  10 mins. Also I would look at placing the msg for the client in like the SEM missions come in. The Top Right is nice place to post missions. 

Link to comment
Share on other sites

have the mission runnin on the test box. Seems pretty cool . Some requests.  Make the Marker say up for a little longer. Like keep the marker up  on the map for  like 5  to  10 mins. Also I would look at placing the msg for the client in like the SEM missions come in. The Top Right is nice place to post missions. 

 

I'm pretty sure the marker stays until someone accesses the box. At least that how it seemed for me. I had trouble finding the box and once I did, and I accessed it, the marker disappeared.

Link to comment
Share on other sites

have the mission runnin on the test box. Seems pretty cool . Some requests.  Make the Marker say up for a little longer. Like keep the marker up  on the map for  like 5  to  10 mins. Also I would look at placing the msg for the client in like the SEM missions come in. The Top Right is nice place to post missions.

To use hints (box top right) replace the code in your mission init.sqf:

	//Supply Drop Alert Event
	"SDROP_Alert" addPublicVariableEventHandler 
	{
		hint parseText format["%1", _this select 1];
	};
Link to comment
Share on other sites

Love the script fella......one thing tho(Groan you new it was coming)...

whats best way to make loot more random

ie... have list of weapons, magazines etc

and randomly add say 10-15 items out of lists..

 

maybe im a bit stingy...but think personally way too much gear in box...

 

I'm definitely not a hardcore programmer, but you might be able to try the following (not tested) - you would need to add to init.sqf in SDROP folder

_arryWeaponsList = [
	"srifle_DMR_01_F","arifle_Mk20_F","arifle_MX_Black_F","M249_EPOCH"
];

_arryAmmoList = [
	"20Rnd_762x51_Mag","30Rnd_556x45_Stanag","30Rnd_65x39_caseless_mag_Tracer","200Rnd_556x45_M249"
];

//how many weapons to include? this will be random from 1 - the Max you enter below
_weaponCountMax = 4;

//how many ammo magazines to include? this will be random from 1 - the Max you enter below
_magazineCountMax = 6;

//how many times should I grab weapons and ammo? default is 3
_loadCount = 3;

SDROPLoadLootWeaponsRandom = {
	private["_crate"];
	_crate = _this select 0;
	
	//empty crate first
	clearWeaponCargoGlobal _crate;
	clearMagazineCargoGlobal _crate;
	clearBackpackCargoGlobal _crate;
	clearItemCargoGlobal _crate;
	
	//randomly grab weapons and ammo
	for "_x" from 1 to _loadCount do {
		_weapon = _arryWeaponsList call BIS_fnc_selectRandom;
		_crate addWeaponCargoGlobal [_weapon,((floor(random _weaponCountMax)) + 1)];
		_mag = _arryAmmoList call BIS_fnc_selectRandom;
		_crate addMagazineCargoGlobal [_mag,((floor(random _magazineCountMax)) + 1)];
	};
};

Then, in the SDROP_SupplyDrop.sqf, you would modify the crate's weapon type to this:

case "weapons": {
		[_crate] call SDROPLoadLootWeaponsRandom;
	};

I am sure there is a more efficient way to do this, but the above should work (sorry if it causes error, I did not test it in production).

 

Note: you can edit the items in the crates too - it is in the SDROP folder, init.sqf. You can just erase what you don't want or add what you do.

Link to comment
Share on other sites

To use hints (box top right) replace the code in your mission init.sqf:

	//Supply Drop Alert Event
	"SDROP_Alert" addPublicVariableEventHandler 
	{
		hint parseText format["%1", _this select 1];
	};

 

Thanks Second_Coming... I'll test that tonight and if it looks nice, the files will get updated on Github. I really wish Arma had a more robust messaging/alert system.

 

I plan to also add in BetterDeadThanZed's recommendations. They will be turned off by default, but at least you will be able to control probability of drop chance, and helicopter falling to it's death prior to arrival.

 

Thanks for all the input!

Link to comment
Share on other sites

In my testing the marker was deleting before I clicked on the box. 

 

Oic 

waitUntil{{isPlayer _x && _x distance _crate < 10  } count playableunits > 0};

 

If you get within 10 meters of the crate it deletes the marker. I can change the  10 to a 1 to make it within 1 meter ?? 

Link to comment
Share on other sites

In my testing the marker was deleting before I clicked on the box. 

 

Oic 

waitUntil{{isPlayer _x && _x distance _crate < 10  } count playableunits > 0};

 

If you get within 10 meters of the crate it deletes the marker. I can change the  10 to a 1 to make it within 1 meter ?? 

 

Correct, you can change that to a 1, then it will be one meter. 10 meters is the default victory condition.

Link to comment
Share on other sites

 

Will this code work to add a chemlight to the crate aswell?

 

//pop chemlight at crate
_chemlight = createVehicle ["chemlight_green", [position _crate select 0, (position _crate select 1) + 1, position _crate select 2], [], 0, "NONE"];

 

 

As long as the classname for the chemlight is correct, it should work fine. Nice idea for night drops.

Link to comment
Share on other sites

As long as the classname for the chemlight is correct, it should work fine. Nice idea for night drops.

Yeah, i tought it would look awesome and also help the player(s) see the crate during night time. Some servers have quicker day cycles with more nighttime. Im 99% sure the classname is correct.

 

Look at me contributing to the epochmod users! (Not bad for an epochnoob xD)

 

EDIT: Might also add that i added that chemlight line under the line for smoke attachment to crate!

Link to comment
Share on other sites

Updates have been made - want to thank the following people for their suggestions:

 

- BetterDeadThanZed

- Dobrowney

- Second_coming

- Moody (I didn't implement the chemlight in v1.0a, but might for future versions)

 

This can be downloaded here: https://github.com/tdavison70/Helicopter-Supply-Drop

 

v1.0a

  • Added probability for supply drop to not happen (based on percentage you set: default 0)
  • Added probability for supply helicopter to crash before it drops supplies (based on percentage you set: default 0)
  • Added better message handling - notifications similar to SEM (using Hint with custom text)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×
×
  • Create New...