Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "..\..\script_macros.hpp"
- /*
- File: fn_arm.sqf
- Author: RPGforYOU
- Website: www.outlawed-veterans.com
- Version: 2.5
- PATCHNOTES:
- - Simplified the file structure and combined vehicles and player side checks for the easiness.
- - Removed ifs and put them in switch structure
- - Future update will put this in a freaking config file
- Description:
- Add Ammo to specific armed vehicles, jets and helicopters fully customizable.
- */
- private["_vehicle","_vehiclename","_action","_price","_bad","_inzone"];
- _vehicle = (vehicle player);
- _classname = typeOf _vehicle;
- _vehicleInfo = [_classname] call life_fnc_fetchVehInfo;
- _displayname = (_vehicleInfo select 3);
- _price = 0;
- _bad = 0;
- _inzone = 0;
- _copzones = ["armybase","police_hq_5","police_hq_1","police_hq_4","police_hq_3","airforce_spawn","swat_spawn","ChekpointAlpha","police_hq_2","Boat_cop"];
- _civzones = ["campnorth","campsouth","Donator_Zone","BlackMarket","gang_area_2","gang_area_5","gang_area_1","gang_area_3"];
- // Check marker points
- if(playerside isEqualTo civilian) then {
- {
- if (player distance (getMarkerPos _x) < 180) then {
- _inzone = _inzone + 1;
- //diag_log format["_inzone: %1",_inzone];
- };
- } forEach _civzones;
- } else {
- {
- if (player distance (getMarkerPos _x) < 180) then {
- _inzone = _inzone + 1;
- };
- } forEach _copzones;
- };
- if(!alive player) exitWith {};
- if(playerSide in [independent,east]) exitWith { hint "You can only arm vehicles if you are a civilian or police officer"};
- if(_inzone isequalto 0) exitWith {hint format["You can't (re)arm your %1 as you aren't close enough to a re-arm point!",_displayname];};
- //Configuration of price for armament per vehicle class
- switch (typeOf _vehicle) do
- {
- case "I_Plane_Fighter_03_dynamicLoadout_F": {if(playerSide isEqualTo civilian) then {_price = 125000;} else {};};
- case "B_Plane_CAS_01_dynamicLoadout_F":{if(playerSide isEqualTo civilian) then {_price = 225000;} else {_price = 150000;};};
- case "O_Plane_CAS_02_dynamicLoadout_F":{if(playerSide isEqualTo civilian) then {_price = 175000;} else {_price = 150000;};};
- case "I_Plane_Fighter_04_F":{if(playerSide isEqualTo civilian) then {_price = 150000;} else {_price = 90000;};};
- case "O_Plane_Fighter_02_F":{if(playerSide isEqualTo civilian) then {_price = 250000;} else {};};
- case "O_Plane_Fighter_02_Stealth_F":{if(playerSide isEqualTo civilian) then {_price = 250000;} else {_price = 80000;};};
- case "B_T_VTOL_01_armed_F":{if(playerSide isEqualTo civilian) then {_price = 250000;} else {};};
- case "B_Heli_Light_01_armed_F":{if(playerSide isEqualTo civilian) then {_price = 80000;} else {_price = 75000;};};
- case "I_G_Offroad_01_armed_F":{if(playerSide isEqualTo civilian) then {_price = 25000;} else {};};
- case "I_APC_tracked_03_cannon_F":{if(playerSide isEqualTo civilian) then {_price = 150000;} else {};};
- case "O_MRAP_02_hmg_F":{if(playerSide isEqualTo civilian) then {_price = 75000;} else {};};
- case "O_Heli_Light_02_F":{if(playerSide isEqualTo civilian) then {_price = 100000;} else {};};
- case "O_APC_Wheeled_02_rcws_F":{if(playerSide isEqualTo civilian) then {_price = 100000;} else {_price = 70000;}; };
- case "O_Heli_Attack_02_F":{if(playerSide isEqualTo civilian) then {_price = 100000;} else {};};
- case "I_Heli_light_03_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 100000;};};
- case "B_G_Offroad_01_armed_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 25000;};};
- case "B_APC_Tracked_01_AA_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 75000;};};
- case "I_MRAP_03_hmg_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 25000;};};
- case "B_Boat_Armed_01_minigun_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 75000;};};
- case "B_MRAP_01_hmg_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 25000;};};
- case "O_T_LSV_02_armed_black_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 25000;};};
- case "B_APC_Wheeled_01_cannon_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 100000;};};
- case "B_Plane_Fighter_01_F":{if(playerSide isEqualTo civilian) then {_price = 90000;} else {_price = 90000;};};
- case "B_Plane_Fighter_01_Stealth_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 90000;};};
- case "B_Heli_Transport_01_camo_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 35000;};};
- case "B_CTRG_Heli_Transport_01_sand":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_price = 35000;};};
- default {_bad = 1;};
- };
- if(_bad isequalto 1) exitwith {hint "There is no armament available for your vehicle! Report this issue to an admin!"};
- if(BANK < _price) exitWith {hint format[localize "STR_House_NotEnough"];};
- _action = [
- format["Arming your vehicle will cost you $%2 taken from your bank account!
- <br/><t color='#ff0000'>Would you like to rearm your : %1!</t>",_displayname,[_price] call life_fnc_numberText],
- "Armament Service - Outlawed Veterans",
- "Yes, ARM it!",
- "No."
- ] call BIS_fnc_guiMessage;
- if(_action) then {
- _vehicle setVehicleAmmoDef 1;
- _vehicle setVehicleAmmo 0;
- _vehicle setFuel 1;
- switch (typeOf _vehicle) do
- {
- case "I_Plane_Fighter_03_dynamicLoadout_F": {if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["300Rnd_20mm_shells",[-1],300];_vehicle addMagazineTurret ["120Rnd_CMFlare_Chaff_Magazine",[-1],120];_vehicle addMagazineTurret ["2Rnd_GBU12_LGB_MI10",[-1],2];} else {_bad = 1;};};
- case "B_Plane_CAS_01_dynamicLoadout_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["1000Rnd_Gatling_30mm_Plane_CAS_01_F",[-1],500];_vehicle addMagazineTurret ["7Rnd_Rocket_04_HE_F",[-1],7];_vehicle addMagazineTurret ["120Rnd_CMFlare_Chaff_Magazine",[-1],120];_vehicle addMagazineTurret ["4Rnd_Bomb_04_F",[-1],4];} else {_bad = 1;};};
- case "O_Plane_CAS_02_dynamicLoadout_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["500Rnd_Cannon_30mm_Plane_CAS_02_F",[-1],500];_vehicle addMagazineTurret ["20Rnd_Rocket_03_HE_F",[-1],8];_vehicle addMagazineTurret ["120Rnd_CMFlare_Chaff_Magazine",[-1],120];_vehicle addMagazineTurret ["2Rnd_Bomb_03_F",[-1],2];} else {_bad = 1;};};
- case "I_Plane_Fighter_04_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["magazine_Fighter04_Gun20mm_AA_x250",[-1],250];_vehicle addMagazineTurret ["240Rnd_CMFlare_Chaff_Magazine",[-1],240];_vehicle addMagazineTurret ["PylonRack_Missile_AGM_02_x1",[-1],1];} else {_bad = 1;};};
- case "O_Plane_Fighter_02_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["magazine_Fighter02_Gun30mm_AA_x180",[-1],180];_vehicle addMagazineTurret ["240Rnd_CMFlare_Chaff_Magazine",[-1],240];_vehicle addMagazineTurret ["PylonMissile_Bomb_KAB250_x1",[-1],1];_vehicle addMagazineTurret ["PylonMissile_Bomb_KAB250_x1",[-1],1];_vehicle addMagazineTurret ["PylonMissile_Bomb_KAB250_x1",[-1],1];} else {_bad = 1;};};
- case "O_Plane_Fighter_02_Stealth_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["magazine_Fighter02_Gun30mm_AA_x180",[-1],180];_vehicle addMagazineTurret ["240Rnd_CMFlare_Chaff_Magazine",[-1],240];_vehicle addMagazineTurret ["PylonMissile_Bomb_KAB250_x1",[-1],1];_vehicle addMagazineTurret ["PylonMissile_Bomb_KAB250_x1",[-1],1];_vehicle addMagazineTurret ["PylonMissile_Bomb_KAB250_x1",[-1],1];} else {_bad = 1;};};
- case "B_T_VTOL_01_armed_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["100Rnd_105mm_HEAT_MP",[1],25];_vehicle addMagazineTurret ["4000Rnd_20mm_Tracer_Red_shells",[1],1000];_vehicle addMagazineTurret ["240Rnd_40mm_GPR_Tracer_Red_shells",[2],100];_vehicle addMagazineTurret ["160Rnd_40mm_APFSDS_Tracer_Red_shells",[2],80];_vehicle addMagazineTurret ["240Rnd_CMFlare_Chaff_Magazine",[-1],240];} else {_bad = 1;};};
- case "B_Heli_Light_01_armed_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["5000Rnd_762x51_Belt",[-1],2500];_vehicle addMagazineTurret ["24Rnd_missiles",[-1],8];} else {_vehicle addMagazineTurret ["5000Rnd_762x51_Belt",[-1],1250];_vehicle addMagazineTurret ["24Rnd_missiles",[-1],6];};};
- case "I_G_Offroad_01_armed_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["100Rnd_127x99_mag_Tracer_Yellow",[0]];_vehicle addMagazineTurret ["100Rnd_127x99_mag_Tracer_Yellow",[0]];_vehicle addMagazineTurret ["100Rnd_127x99_mag_Tracer_Yellow",[0]];_vehicle addMagazineTurret ["100Rnd_127x99_mag_Tracer_Yellow",[0]];} else {_bad = 1;};};
- case "I_APC_tracked_03_cannon_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["140Rnd_30mm_MP_shells_Tracer_Yellow",[0],45];_vehicle addMagazineTurret ["60Rnd_30mm_APFSDS_shells_Tracer_Yellow",[0],20];_vehicle addMagazineTurret ["1000Rnd_762x51_Belt_Yellow",[0],650];_vehicle addMagazineTurret ["SmokeLauncherMag",[0]];} else {_bad = 1;};};
- case "O_MRAP_02_hmg_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["200Rnd_127x99_mag_Tracer_Green",[0]];_vehicle addMagazineTurret ["200Rnd_127x99_mag_Tracer_Green",[0]];} else {_bad = 1;};};
- case "O_Heli_Light_02_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["2000Rnd_65x39_Belt_Tracer_Green_Splash",[-1],1000];_vehicle addMagazineTurret ["12Rnd_PG_missiles",[-1],6];_vehicle addMagazineTurret ["168Rnd_CMFlare_Chaff_Magazine",[-1],90];} else {_bad = 1;};};
- case "O_APC_Wheeled_02_rcws_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["500Rnd_127x99_mag_Tracer_Green",[0],250];_vehicle addMagazineTurret ["96Rnd_40mm_G_belt",[0],10];_vehicle addMagazineTurret ["SmokeLauncherMag",[0]];} else {_vehicle addMagazineTurret ["500Rnd_127x99_mag_Tracer_Green",[0],400];_vehicle addMagazineTurret ["96Rnd_40mm_G_belt",[0],16];_vehicle addMagazineTurret ["SmokeLauncherMag",[0],1];}; };
- case "O_Heli_Attack_02_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["192Rnd_CMFlare_Chaff_Magazine",[0],90];_vehicle addMagazineTurret ["250Rnd_30mm_HE_shells",[0],110];_vehicle addMagazineTurret ["PylonRack_4Rnd_LG_scalpel",[-1],4];} else {_bad = 1;};};
- case "I_Heli_light_03_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["5000Rnd_762x51_Yellow_Belt",[-1],3000];_vehicle addMagazineTurret ["24Rnd_missiles",[-1],8];_vehicle addMagazineTurret ["168Rnd_CMFlare_Chaff_Magazine",[-1],90];};};
- case "B_G_Offroad_01_armed_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["100Rnd_127x99_mag_Tracer_Yellow",[0]];_vehicle addMagazineTurret ["100Rnd_127x99_mag_Tracer_Yellow",[0]];_vehicle addMagazineTurret ["100Rnd_127x99_mag_Tracer_Yellow",[0]];_vehicle addMagazineTurret ["100Rnd_127x99_mag_Tracer_Yellow",[0]];};};
- case "B_APC_Tracked_01_AA_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["680Rnd_35mm_AA_shells_Tracer_Red",[0],300];_vehicle addMagazineTurret ["4Rnd_Titan_long_missiles",[0],6];_vehicle addMagazineTurret ["SmokeLauncherMag",[0]];};};
- case "I_MRAP_03_hmg_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["200Rnd_127x99_mag_Tracer_Yellow",[0],200];_vehicle addMagazineTurret ["SmokeLauncherMag",[0]];};};
- case "B_Boat_Armed_01_minigun_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["2000Rnd_65x39_belt_Tracer_Red",[1],1500];_vehicle addMagazineTurret ["200Rnd_40mm_G_belt",[0],15];_vehicle addMagazineTurret ["SmokeLauncherMag_boat",[-1],5];};};
- case "B_MRAP_01_hmg_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["200Rnd_127x99_mag_Tracer_Red",[0],300];};};
- case "O_T_LSV_02_armed_black_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["500Rnd_65x39_Belt_Tracer_Green_Splash",[0],500];};};
- case "B_APC_Wheeled_01_cannon_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["60Rnd_40mm_GPR_Tracer_Red_shells",[0],10];_vehicle addMagazineTurret ["40Rnd_40mm_APFSDS_Tracer_Red_shells",[0],20];_vehicle addMagazineTurret ["2000Rnd_65x39_belt",[0],1000];};};
- case "B_Plane_Fighter_01_F":{if(playerSide isEqualTo civilian) then {_vehicle addMagazineTurret ["magazine_Fighter01_Gun20mm_AA_x450",[-1],450];_vehicle addMagazineTurret ["240Rnd_CMFlare_Chaff_Magazine",[-1],240];} else {_vehicle addMagazineTurret ["magazine_Fighter01_Gun20mm_AA_x450",[-1],450];_vehicle addMagazineTurret ["240Rnd_CMFlare_Chaff_Magazine",[-1],240];};};
- case "B_Plane_Fighter_01_Stealth_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["magazine_Fighter01_Gun20mm_AA_x450",[-1],450];_vehicle addMagazineTurret ["240Rnd_CMFlare_Chaff_Magazine",[-1],240];};};
- case "B_Heli_Transport_01_camo_F":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["2000Rnd_65x39_Belt_Tracer_Red",[1],500];_vehicle addMagazineTurret ["2000Rnd_65x39_Belt_Tracer_Red",[2],500];_vehicle addMagazineTurret ["168Rnd_CMFlare_Chaff_Magazine",[-1],90];};};
- case "B_CTRG_Heli_Transport_01_sand":{if(playerSide isEqualTo civilian) then {_bad = 1;} else {_vehicle addMagazineTurret ["2000Rnd_65x39_Belt_Tracer_Red",[1],500];_vehicle addMagazineTurret ["2000Rnd_65x39_Belt_Tracer_Red",[2],500];_vehicle addMagazineTurret ["168Rnd_CMFlare_Chaff_Magazine",[-1],90];};};
- default {_bad = 1;};
- };
- if(_bad isequalto 1) exitwith {hint "There is no armament available for your vehicle! Report this issue to an admin!"};
- BANK = BANK - _price;
- [1] call SOCK_fnc_updatePartial;
- reload _vehicle;
- hint format["Your %1 has been armed for: \n\n %2",_displayname,[_price] call life_fnc_numberText];
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement