Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private ["_crashNum","_lootNum","_loot","_coords"];
- /////////////////////////////////////
- // Function file for UKGZ //
- // Created by: Richie //
- // Modded by: Vampire & xBowBii //
- /////////////////////////////////////
- // Number of Crashes
- _crashNum = 15;
- // Number of Loot Piles
- _lootNum = 2;
- _loot = [
- "m107_EPOCH","MultiGun","LMG_mas_M60_F", "LMG_mas_M60_F_h", "LMG_mas_M60_F_a","MMG_01_hex_ACRO_LP_F","MMG_01_hex_F","MMG_01_tan_F","MMG_02_camo_F","MMG_02_sand_F","MMG_02_sand_RCO_LP_F","Repair_EPOCH","arifle_mas_g36c", "arifle_mas_g36c_h", "arifle_mas_g36c_a", "arifle_mas_g36c_e", "arifle_mas_g36c_sd","arifle_mas_mk16", "arifle_mas_mk16_h", "arifle_mas_mk16_e", "arifle_mas_mk16_sd", "arifle_mas_mk16_gl", "arifle_mas_mk16_gl_h", "arifle_mas_mk16_gl_e", "arifle_mas_mk16_gl_sd", "arifle_mas_mk16_l", "arifle_mas_mk16_l_h", "arifle_mas_mk16_l_e", "arifle_mas_mk16_l_sd", "arifle_mas_mk16_l_gl", "arifle_mas_mk16_l_gl_h", "arifle_mas_mk16_l_gl_e", "arifle_mas_mk16_l_gl_sd","arifle_mas_mk17", "arifle_mas_mk17_h", "arifle_mas_mk17_e", "arifle_mas_mk17_sd", "arifle_mas_mk17_gl", "arifle_mas_mk17_gl_h", "arifle_mas_mk17_gl_e", "arifle_mas_mk17_gl_sd","srifle_mas_m107", "srifle_mas_m107_h", "srifle_mas_m107_sd", "srifle_mas_m107_v", "srifle_mas_m107_v_h", "srifle_mas_m107_v_sd", "srifle_mas_m107_d", "srifle_mas_m107_d_h", "srifle_mas_m107_d_sd","hgun_mas_mp7p_F", "hgun_mas_mp7p_F_e", "hgun_mas_mp7p_F_sd","mas_launch_Strela_F","mas_launch_Stinger_F","mas_launch_Strela_F","mas_launch_Stinger_F","mas_launch_Strela_F","mas_launch_Stinger_F"
- ];
- _spawnCenter = [9528,6535,0]; //Center of your map (usually in mission.sqm)
- _min = 0; // minimum distance from the center position (Number) in meters
- _max = 7100; // maximum distance from the center position (Number) in meters
- _mindist = 10; // minimum distance from the nearest object (Number) in meters, ie. spawn at least this distance away from anything within x meters..
- //Low _mindist means helicrashes could spawn near towns or in forests.. higher the number it would be spawning in an open field etc
- _water = 0; // water mode 0: cannot be in water , 1: can either be in water or not , 2: must be in water
- _shoremode = 0; // 0: does not have to be at a shore , 1: must be at a shore
- vSpawnCrashes = {
- for "_j" from 1 to _crashNum do {
- _posOfCrash = [_spawnCenter,_min,_max,_mindist,_water,20,_shoremode] call BIS_fnc_findSafePos; // find a random loc
- //_helicopters = ["Land_UWreck_Heli_Attack_02_F","Land_Wreck_Heli_Attack_01_F"]; //Add Heli classnames here
- _helicopters = ["Land_Wreck_Truck_F","Land_Wreck_Ural_F","Land_UWreck_Heli_Attack_02_F","Land_Wreck_Heli_Attack_01_F"]; //Add ground spawns classnames here
- //Infantry spawns using the A3EAI
- _CrashName = format ["Crashsite_%1",_j];
- [_CrashName,_posOfCrash,75,3,2,false,300] call A3EAI_createCustomInfantryQueue;
- diag_log text format ["[HeliCrash]: Creating AI at %1 (%2)",_CrashName,_posOfCrash];
- _element = _helicopters call BIS_fnc_SelectRandom;
- _vehHeli = _element createVehicle [0,0,0];
- _burnthefucker = "test_EmptyObjectForFireBig" createVehicle (position _vehHeli); _burnthefucker attachto [_vehHeli, [0,0,-1]];
- _vehHeli setposATL [(_posOfCrash) select 0,(_posOfCrash) select 1,0];
- _vehHeli setVariable ["LAST_CHECK", (diag_tickTime + 14400)];
- for "_i" from 1 to _lootNum do {
- _crate0 = createVehicle ["weaponHolderSimulated", _vehHeli modelToWorld [(random 10) - 3, (random 10) - 4, 0], [], 0, "CAN_COLLIDE"];
- _crate1 = createVehicle ["weaponHolderSimulated", _vehHeli modelToWorld [(random 10) - 3, (random 10) - 4, 0], [], 0, "CAN_COLLIDE"];
- _item = _loot call BIS_fnc_selectRandom;
- switch (true) do
- {
- case (isClass (configFile >> "CfgWeapons" >> _item)): {
- _kindOf = [(configFile >> "CfgWeapons" >> _item),true] call BIS_fnc_returnParents;
- if ("ItemCore" in _kindOf) then {
- // Min 1, Max 2
- _crate0 addItemCargoGlobal [_item,(floor(random(2)))+1];
- _crate1 addItemCargoGlobal [_item,(floor(random(2)))+1];
- } else {
- // One Weapon, Three Mags
- _crate0 addWeaponCargoGlobal [_item,1];
- _crate1 addWeaponCargoGlobal [_item,1];
- _cAmmo = [] + getArray (configFile >> "cfgWeapons" >> _item >> "magazines");
- {
- if (isClass(configFile >> "CfgPricing" >> _x)) exitWith {
- _crate0 addMagazineCargoGlobal [_x,3];
- _crate1 addMagazineCargoGlobal [_x,3];
- };
- } forEach _cAmmo;
- };
- };
- case (isClass (configFile >> "cfgMagazines" >> _item)): {
- // Min 1, Max 3
- _crate0 addMagazineCargoGlobal [_item,(floor(random(3)))+1];
- _crate1 addMagazineCargoGlobal [_item,(floor(random(3)))+1];
- };
- case ((getText(configFile >> "cfgVehicles" >> _item >> "vehicleClass")) == "Backpacks"): {
- // One Bag
- _crate0 addBackpackCargoGlobal [_item,1];
- _crate1 addBackpackCargoGlobal [_item,1];
- };
- };
- _crate0 setPos [(getPos _crate0 select 0) +5, (getPos _crate0 select 1), 0];
- _crate1 setPos [(getPos _crate1 select 0) -10, (getPos _crate1 select 1), 0];
- _crate0 setVariable ["LAST_CHECK", (diag_tickTime + 14400)];
- _crate1 setVariable ["LAST_CHECK", (diag_tickTime + 14400)];
- _cutter0 = "Land_ClutterCutter_medium_F" createVehicle (getpos _crate0);
- _cutter1 = "Land_ClutterCutter_medium_F" createVehicle (getpos _crate1);
- _cutter0 setVariable ["LAST_CHECK", (diag_tickTime + 14400)];
- _cutter1 setVariable ["LAST_CHECK", (diag_tickTime + 14400)];
- };
- };
- };
- call vSpawnCrashes;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement