Jump to content
twakkie

[Release] Heli Reinforcement and Supply Drop Script

Recommended Posts

Hi All

 

To add to the multitude of air reinforcements and supply scripts out there, here is my own version of it. This script has two main functions:

  • Reinforce an area with infantry OR
  • Drop off supplies or vehicles (Vehicles or object must be below maximum lifting capacity). 

Within these two functions you can then configure the reinforcement type, number of units, class and how (air dropped or conventional) units or objects will be unloaded in the area. Objects such as ammo boxes and vehicles will be sling loaded.

 

 

HOW TO USE

The bare minimum needed for the script to work is: 

  • 1 Marker (spawn marker of heli)
  • 1 Helipad (Under signs in the editor or type in "Helipad" in the search bar)

 

~In Editor:
Place a marker on the map and name it "marker_heliSpawn". Now place a helipad where you want the reinforcements to land (Helipads are under signs in the editor or type in "Helipad" in the search bar. Use a visible one if you want to see the helipad, otherwise use an invisible one) in the editor and rename it "heli_land".

 

~In initServer.sqf:
In the intServer.sqf place this code: [] execVM "heliReinforce_Init.sqf";

 

~How to Call (Basic):

Place a trigger on the map, set it to whatever conditions required ex "Bluforce Present" and in the init:

Description:    ["spawnMarkerName",landingPadName]
Example:       null = ["marker_heliSpawn", heli_land] spawn TB_fnc_heliReinforcement_Main;
This will spawn a blufor heli with full cargo of unit to be deployed at the drop off marker.

 

~Configurable:
There is no need to edit the main program body and you can edit the "heliReinforce_Init.sqf" settings to customise the default heli, units and supply objects.

Please read the readme to see all settings that can be adjusted. This includes, vehicle type, unload types, nr of movement, unload and attack markers, the unit type size and class as well as nr of squads.

 

~Advance Calling:

Syntax 1 (Infantry Drop)

Description:    ["spawnMarker",landingZone,["moveMarkers_1","moveMarkers_2", etc],["attackMarkers_1","attackMarkers_2",etc],cargoType,customGroup,"heliClassName",SIDE]
Example:        null = ["spawnMarker", heliPad_LZ,["markerMoveName_01","markerMoveName_02"],["markerAttackName_01","markerAttackName_02"],1,-1,"B_Heli_Transport_03_F",WEST] spawn TB_fnc_heliReinforcement_Main

 

The script allows further customization by adjusting six variables the following variables (* is optional variables):

Quote

 

(1st)    spawnMarker (STRING)                    :    First variable is heli spawnpoint in the form of a marker
(2de)   landingZone (OBJECT)                     :    Second variable is helilanding/unload zone in the form of a Helipad. (Under signs in the editor or type in "Helipad" in the search bar) 
(3de*) moveMarkers (ARRAY of STRINGS)  :    Third variable is an ARRAY of movement markers ex ["heli_move_01","heli_move_02","heli_move_03", etc]. 
(4th*)  attackMarkers (ARRAY of STRINGS) :    Fourth variable is an array of attack markers ex ["inf_attack_01","inf_attack_02","inf_attack_03"]. 
(5th*)  cargoType (INTEGER of 1 - 4)           :    Fifth variable is type of reinforcement needed. 
                                                                             - cargoType = 1: Soldiers Ground 
                                                                             - cargoType = 2: Soldiers Parachute
(6th*)  customGroup (INTEGER or ARRAY)  :   Sixth variable adjust custom group composition. For infantry you have the following selection options:
                                                                            - customGroup < 0:    Spawn default group definded in heliReinforce_init.sqf and move into the vehicle.
                                                                            - customGroup = 0:    Default setting. All of the vehicle cargo is filled with default units definded in heliReinforce_init.sqf.
                                                                            - customGroup > 0:    Use default unit and spawn total number of units equal to the number provided.
                                                                            - customGroup = []:    custom groups can be specified with an array of unit class names ex. ["B_soldier_SL_F","B_soldier_TL_F"]
(7th*)  heliClassName (STRING)                   :   Seventh variable is the class name of a custom transport heli. eg "B_Heli_Transport_03_F"
(8th*)  side (SIDE)                                          :  Seventh variable is the side of the reinforcement ( West || East || Guer || Civ )

* Is Optional. (If this variable is not provided, default function will be used)

 

 

Syntax 2 (Vehicle Drop)

Description:    ["spawnMarker",landingZone,["moveMarkers_1","moveMarkers_2", etc],["attackMarkers_1","attackMarkers_2",etc],cargoType,customGroup,"heliClassName",SIDE]
Example:        null = ["spawnMarker", heliPad_LZ,["markerMoveName_01","markerMoveName_02"],["markerAttackName_01","markerAttackName_02"],3,1,"B_Heli_Transport_03_F",WEST] spawn TB_fnc_heliReinforcement_Main

 

The script allows further customization by adjusting six variables the following variables (* is optional variables):

Quote

 

(1st)   spawnMarker (STRING)                        :   Same as Syntax 1
(2de)  landingZone (OBJECT)                         :   Same as Syntax 1
(3de*) moveMarkers (ARRAY of STRINGS)     :   Same as Syntax 1
(4th*)  attackMarkers (ARRAY of STRINGS)    :   Same as Syntax 1
(5th*)  cargoType (INTEGER of 1 - 4)              :   Fifth variable is type of reinforcement needed.
                                                                                 - cargoType = 3: Vehicle Ground
                                                                                 - cargoType = 4: Vehicle Parachute
(6th*)  customGroup (INTEGER or ARRAY)     :   Sixth variable adjust custom group composition. For vehicles you have the following selection options:
                                                                                 - customGroup = 0:    Uncrewed
                                                                                 - customGroup = 1:    Crewed
                                                                                 - customGroup = []:    Array is ["customVehicleClassName", number(Crewed||uncrewed)]
(7th*)  heliClassName (STRING)                     :   Same as Syntax 1
(8th*)  side (SIDE)                                            :   Same as Syntax 1

* Is Optional. (If this variable is not provided, default function will be used)

 

 

 

DOWNLOAD

Heli Reinforcement VR Mission Example

 

Any suggestions and comments are welcome.

Share this post


Link to post
Share on other sites

This is a long shot but I'm trying to utilize this script for a custom mission but am running into a challenge due to my novice script.

I want to set a custom init on the groups spawned via the helicopter re-enforcement. The idea is to use this script to spawn/deliver the unit and then have the unit assigned to GAIA (This set of scripts: https://forums.bohemia.net/forums/topic/172933-mission-template-stand-alone-gaia-make-missions-fast-by-using-mcc-gaia-engine/ ) via this in the init line "(group this) setVariable ["GAIA_ZONE_INTEND",["<ZONE NUMBER>", "MOVE"], false];" (the exact variables being mission specific).

 

This will let me set up triggers that trigger helicopter re-enforcements into an area where the over-all GAIA AI can incorporate them into the larger battlefield. The idea being to create an ongoing/never-ending battle scenario with re-enforcement triggers on cool down timers, so approx every 30 mins (or whatever interval) new units are flown in to the combat area. Just in case you're curious why I am trying to put this all together.

 

I know this is probably basic to some of you but if you could help me figure this out it'd be appreciated.

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

×