Saturday, May 02, 2015

Arma 3, Care Package System

Another part of my mission/mod is a care package delivery system.

Care package script

The care packages are delivered by a proper cargo plane (not a noisy Osprey *rolls eyes*), and get attached to a parachute and pushed out the rear of the plane when it reaches the drop zone... in a proper camouflaged military crate (not a bright red/pink crate).

The care package is randomly and automatically calculated in each aspect, from the cargo planes start and finish zones to the drop position (which is also temporary marked on the map), the crate smoke and color, and the then actual care package random loud-out (what's actually inside the crate) as well as the loud-out per weapon (scope/muzzle/ammo).

Green marker?... Care package inbound!
The cargo plane flies over the destined drop zone, which will appear as a large green marker on your map for a short amount of time (be quick to take notice, as it won't last long). You see the package drop out the rear of the plane... the parachute opens and smoke begins to pour out in a specific color (significant to what 'class' of care package it is).

Care package deployed
The care package slowly parachutes to the ground with the colored smoke still billowing from it, as a visual reference on where it will or has landed in the diverse terrain. Once the care package hits the ground, the parachute folds up and the smoke begins to fade and disperse over a given time duration.

Follow that smoke, follow that parachute!
Other than the colored smoke and the temporary green drop zone map marker, there are no other visual indicators to where the care package has landed (no UFO lights that appear in the middle of the sky)... so be observant.

The care package has landed
Once the care package has landed, you can then go and check the contents. At current, the load-out is randomly generated from a static item list split into it's own categories (primary weapon, clothing, vests, backpacks, medical, etc). It may contain only one of an item, or five of an item... it's random.

Each primary weapon also has a custom load-out. All weapons are the base model (no attachments), based on probability it then may equip a silencer/muzzle, or an optic, or a laser pointer/flashlight... who knows, again, it's a 100% random weapon load-out.

The ammunition for each weapon is also inside the crate. There may be only one magazine or five, it's the luck of the draw.

With the care package, every single item is kept inside the crate too (unless a player puts it on the ground), not spilled out onto the ground itself... as it can cause further issues on not being able to quickly see/find/pick up due to the glitchy Arma 3 terrain (yeh, we all know what I'm talking about!).

Get the goodies you need, and run!
My care package script can be ran once or multiple times side-by-side, and run flawlessly, no script issues/errors, no FPS issues... it just works. As per my bombing run script, the structure and procedures were replicated for use with the care package script.

My care package script is also split up into 5 separate scripts/functions in order to make things run quicker/better/more efficient on CPU usage, as well as for server side functioning and client side functioning (eg, smoke effects).

A short video demonstration of the in-game care package is below.



Learning, scripting, debugging... repeat.

-soul.