diff --git a/Igiload/IgiLoad.sqf b/Igiload/IgiLoad.sqf
index 8861035..f4969dd 100644
--- a/Igiload/IgiLoad.sqf
+++ b/Igiload/IgiLoad.sqf
@@ -17,22 +17,8 @@
// Ways from points 1 and 2 can not be used simultaneously!!! //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-//if true then show debug globalChat (TODO add more hints)
-IL_DevMod = false;
-
-//waitUntil { !(isNull player) };
waitUntil { time > 0 };
IL_Script_Inst = time;
-
-if (IL_DevMod) then
-{
- Player globalChat Format["IgiLoad ""%1"" IN.", IL_Script_Inst];
-};
-
-//if (isDedicated) exitwith {};
-//if (isServer) exitwith {};
-
// VARIABLES
_obj_main = _this select 0;
_obj_main_type = (typeOf _obj_main);
@@ -40,22 +26,18 @@ _obj_main_type = (typeOf _obj_main);
if (isnil "IL_Variables") then
{
IL_Variables = true;
-
//Check new vehicles time
IL_Check_Veh_Min = 30;
IL_Check_Veh_Max = 60;
-
//Dealing with cargo damage
//-1 - do nothing
//0 - set to 0
//1 - keep such as before loading/unloading
- IL_CDamage = 0;
-
+ IL_CDamage = 1;
//AddAction menu position
IL_Action_LU_Priority = 30; //Load and (para)unload
IL_Action_O_Priority = 0; //Open and close
IL_Action_S_Priority = 0; //Setup
-
//Maximum capacity for vehicles
IL_Num_Slots_OFFROAD = -2;
IL_Num_Slots_VAN = -3;
@@ -67,12 +49,10 @@ if (isnil "IL_Variables") then
IL_Num_Slots_MH9 = -1;
IL_Num_Slots_C130J = -12;
IL_Num_Slots_C17 = -22;
-
//Player addScore after loading and unloading
IL_Load_Score = 20;
//Para unload score = 2 * IL_Unload_Score
IL_Unload_Score = 10;
-
//The minimum altitude for the drop with parachute
IL_Para_Drop_ATL = 50;
IL_Para_Jump_ATL = 30;
@@ -82,7 +62,6 @@ if (isnil "IL_Variables") then
//Parachute get velocity from player or cargo
IL_Para_Drop_Velocity = true;
IL_Para_Jump_Velocity = true;
-
//Set smoke and light for parachute drop.
IL_Para_Smoke = true;
IL_Para_Light = true;
@@ -95,124 +74,108 @@ if (isnil "IL_Variables") then
IL_Para_Light_Default = "Chemlight_green";
IL_Para_Smoke_Veh = "SmokeshellBlue";
IL_Para_Light_Veh = "Chemlight_blue";
-
//This allows for loading or unloading, if a player is in the area of loading or copilot
IL_Can_Inside = true;
IL_Can_CoPilot = true;
IL_Can_Outside = true;
-
- //
//IL_SDistU = 20;//No longer needed
IL_SDistL = 2.5;
IL_SDistL_Heli_offset = 1;
-
//Load and unload (not para) max speed in km/h
IL_LU_Speed = 10;
//Load and unload (not para) max height in m
IL_LU_Alt = 3;
//Enable or disable usable cargo ramp in CH-49
IL_Ramp = true;
-
//Enable change of vehicle mass
IL_Mass = true;
+
- // Fahrzeuge auf die du was Aufladen willst!
- // Supported vehicles
- IL_Supported_Vehicles_OFFROAD = ["Exile_Car_Offroad_Red","Exile_Car_Offroad_Beige","Exile_Car_Offroad_White","Exile_Car_Offroad_Blue","Exile_Car_Offroad_DarkRed","Exile_Car_Offroad_BlueCustom","Exile_Car_Offroad_Guerilla01","Exile_Car_Offroad_Guerilla02","Exile_Car_Offroad_Guerilla03","Exile_Car_Offroad_Guerilla04","Exile_Car_Offroad_Guerilla05","Exile_Car_Offroad_Guerilla06","Exile_Car_Offroad_Guerilla07","Exile_Car_Offroad_Guerilla08","Exile_Car_Offroad_Guerilla09","Exile_Car_Offroad_Guerilla10","Exile_Car_Offroad_Guerilla11","Exile_Car_Offroad_Guerilla12","Exile_Car_Offroad_Rusty1","Exile_Car_Offroad_Rusty2","Exile_Car_Offroad_Rusty3","Exile_Car_Offroad_Repair_Civillian","Exile_Car_Offroad_Repair_Red","Exile_Car_Offroad_Repair_Beige","Exile_Car_Offroad_Repair_White","Exile_Car_Offroad_Repair_Blue","Exile_Car_Offroad_Repair_DarkRed","Exile_Car_Offroad_Repair_BlueCustom","Exile_Car_Offroad_Repair_Guerilla01","Exile_Car_Offroad_Repair_Guerilla02","Exile_Car_Offroad_Repair_Guerilla03","Exile_Car_Offroad_Repair_Guerilla04","Exile_Car_Offroad_Repair_Guerilla05","Exile_Car_Offroad_Repair_Guerilla06","Exile_Car_Offroad_Repair_Guerilla07","Exile_Car_Offroad_Repair_Guerilla08","Exile_Car_Offroad_Repair_Guerilla09","Exile_Car_Offroad_Repair_Guerilla10","Exile_Car_Offroad_Repair_Guerilla11","Exile_Car_Offroad_Repair_Guerilla12"];
- IL_Supported_Vehicles_VAN = ["Exile_Car_Van_Black","Exile_Car_Van_White","Exile_Car_Van_Red","Exile_Car_Van_Guerilla01","Exile_Car_Van_Guerilla02","Exile_Car_Van_Guerilla03","Exile_Car_Van_Guerilla04","Exile_Car_Van_Guerilla05","Exile_Car_Van_Guerilla06","Exile_Car_Van_Guerilla07","Exile_Car_Van_Guerilla08","Exile_Car_Van_Box_Black","Exile_Car_Van_Box_White","Exile_Car_Van_Box_Red","Exile_Car_Van_Box_Guerilla01","Exile_Car_Van_Box_Guerilla02","Exile_Car_Van_Box_Guerilla03","Exile_Car_Van_Box_Guerilla04","Exile_Car_Van_Box_Guerilla05","Exile_Car_Van_Box_Guerilla06","Exile_Car_Van_Box_Guerilla07","Exile_Car_Van_Box_Guerilla08"];
+ IL_Supported_Vehicles_OFFROAD = ["Exile_Car_Offroad_Repair_Civillian", "Exile_Car_Offroad_Repair_Red", "Exile_Car_Offroad_Repair_Beige", "Exile_Car_Offroad_Repair_White", "Exile_Car_Offroad_Repair_Blue", "Exile_Car_Offroad_Repair_DarkRed", "Exile_Car_Offroad_Repair_BlueCustom", "Exile_Car_Offroad_Repair_Guerilla01", "Exile_Car_Offroad_Repair_Guerilla02", "Exile_Car_Offroad_Repair_Guerilla03", "Exile_Car_Offroad_Repair_Guerilla04", "Exile_Car_Offroad_Repair_Guerilla05", "Exile_Car_Offroad_Repair_Guerilla06", "Exile_Car_Offroad_Repair_Guerilla07", "Exile_Car_Offroad_Repair_Guerilla08", "Exile_Car_Offroad_Repair_Guerilla09", "Exile_Car_Offroad_Repair_Guerilla10", "Exile_Car_Offroad_Repair_Guerilla11", "Exile_Car_Offroad_Repair_Guerilla12", "Exile_Car_Offroad_Red", "Exile_Car_Offroad_Beige", "Exile_Car_Offroad_White", "Exile_Car_Offroad_Blue", "Exile_Car_Offroad_DarkRed", "Exile_Car_Offroad_BlueCustom", "Exile_Car_Offroad_Guerilla01", "Exile_Car_Offroad_Guerilla02", "Exile_Car_Offroad_Guerilla03", "Exile_Car_Offroad_Guerilla04", "Exile_Car_Offroad_Guerilla05", "Exile_Car_Offroad_Guerilla06", "Exile_Car_Offroad_Guerilla07", "Exile_Car_Offroad_Guerilla08", "Exile_Car_Offroad_Guerilla09", "Exile_Car_Offroad_Guerilla10", "Exile_Car_Offroad_Guerilla11", "Exile_Car_Offroad_Guerilla12", "Exile_Car_Offroad_Rusty1", "Exile_Car_Offroad_Rusty2", "Exile_Car_Offroad_Rusty3"];
+ IL_Supported_Vehicles_VAN = ["Exile_Car_Van_Black", "Exile_Car_Van_White", "Exile_Car_Van_Red", "Exile_Car_Van_Guerilla01", "Exile_Car_Van_Guerilla02", "Exile_Car_Van_Guerilla03", "Exile_Car_Van_Guerilla04", "Exile_Car_Van_Guerilla05", "Exile_Car_Van_Guerilla06", "Exile_Car_Van_Guerilla07", "Exile_Car_Van_Guerilla08", "Exile_Car_Van_Box_Black", "Exile_Car_Van_Box_White", "Exile_Car_Van_Box_Red", "Exile_Car_Van_Box_Guerilla01", "Exile_Car_Van_Box_Guerilla02", "Exile_Car_Van_Box_Guerilla03", "Exile_Car_Van_Box_Guerilla04", "Exile_Car_Van_Box_Guerilla05", "Exile_Car_Van_Box_Guerilla06", "Exile_Car_Van_Box_Guerilla07", "Exile_Car_Van_Box_Guerilla08"];
IL_Supported_Vehicles_HEMTT = ["Exile_Car_HEMMT"];
- IL_Supported_Vehicles_KAMAZ = ["Exile_Car_Zamak"];
+ IL_Supported_Vehicles_KAMAZ = ["I_Truck_02_covered_F","I_Truck_02_transport_F","Exile_Car_Zamak"];
IL_Supported_Vehicles_TEMPEST = ["Exile_Car_Tempest"];
- IL_Supported_Vehicles_MOHAWK = [];
- IL_Supported_Vehicles_CHINOOK = [];
- IL_Supported_Vehicles_MH9 = [];
+ IL_Supported_Vehicles_MOHAWK = ["Exile_Chopper_Mohawk_FIA"];
+ IL_Supported_Vehicles_CHINOOK = ["Exile_Chopper_Huron_Black", "Exile_Chopper_Huron_Green"];
+ IL_Supported_Vehicles_MH9 = ["Exile_Chopper_Hummingbird_Green","Exile_Chopper_Hummingbird_Civillian_Blue","Exile_Chopper_Hummingbird_Civillian_Red","Exile_Chopper_Hummingbird_Civillian_ION","Exile_Chopper_Hummingbird_Civillian_BlueLine","Exile_Chopper_Hummingbird_Civillian_Digital", "Exile_Chopper_Hummingbird_Civillian_Elliptical", "Exile_Chopper_Hummingbird_Civillian_Furious","Exile_Chopper_Hummingbird_Civillian_GrayWatcher", "Exile_Chopper_Hummingbird_Civillian_Jeans", "Exile_Chopper_Hummingbird_Civillian_Light", "Exile_Chopper_Hummingbird_Civillian_Shadow", "Exile_Chopper_Hummingbird_Civillian_Sheriff", "Exile_Chopper_Hummingbird_Civillian_Speedy","Exile_Chopper_Hummingbird_Civillian_Sunset", "Exile_Chopper_Hummingbird_Civillian_Vrana", "Exile_Chopper_Hummingbird_Civillian_Wasp", "Exile_Chopper_Hummingbird_Civillian_Wave"];
IL_Supported_Vehicles_C130J = [];
IL_Supported_Vehicles_C17 = [];
-
+
IL_Supported_Vehicles_All = IL_Supported_Vehicles_C130J + IL_Supported_Vehicles_C17 + IL_Supported_Vehicles_MH9 + IL_Supported_Vehicles_MOHAWK + IL_Supported_Vehicles_KAMAZ + IL_Supported_Vehicles_TEMPEST + IL_Supported_Vehicles_HEMTT + IL_Supported_Vehicles_VAN + IL_Supported_Vehicles_OFFROAD + IL_Supported_Vehicles_CHINOOK;
-
- // Di Fahrzeuge können per Fallschirm abwerfen!
- // Vehicles with the ability to dropping the load on the parachute
IL_Para_Drop_Vehicles = IL_Supported_Vehicles_MH9 + IL_Supported_Vehicles_MOHAWK + IL_Supported_Vehicles_C130J + IL_Supported_Vehicles_C17 + IL_Supported_Vehicles_CHINOOK;
-
- // Auflistung was unter welche Auflade Fahrzeugkategorie fällt!
- //Supported cargo
+
+ IL_Supported_Bicycles = ["Exile_Bike_OldBike", "Exile_Bike_MountainBike", "Exile_Bike_Crosser"];
IL_Supported_HEMTT = ["Exile_Car_HEMMT"];
- IL_Supported_KAMAZ = ["Exile_Car_Zamak"];
+ IL_Supported_KAMAZ = ["I_Truck_02_covered_F","I_Truck_02_transport_F","Exile_Car_Zamak"];
IL_Supported_TEMPEST = ["Exile_Car_Tempest"];
- IL_Supported_Strider = [];
- IL_Supported_Hunter = [];
- IL_Supported_Ifrit = [];
- IL_Supported_UGV = [];
- IL_Supported_VAN = ["Exile_Car_Van_Black","Exile_Car_Van_White","Exile_Car_Van_Red","Exile_Car_Van_Guerilla01","Exile_Car_Van_Guerilla02","Exile_Car_Van_Guerilla03","Exile_Car_Van_Guerilla04","Exile_Car_Van_Guerilla05","Exile_Car_Van_Guerilla06","Exile_Car_Van_Guerilla07","Exile_Car_Van_Guerilla08","Exile_Car_Van_Box_Black","Exile_Car_Van_Box_White","Exile_Car_Van_Box_Red","Exile_Car_Van_Box_Guerilla01","Exile_Car_Van_Box_Guerilla02","Exile_Car_Van_Box_Guerilla03","Exile_Car_Van_Box_Guerilla04","Exile_Car_Van_Box_Guerilla05","Exile_Car_Van_Box_Guerilla06","Exile_Car_Van_Box_Guerilla07","Exile_Car_Van_Box_Guerilla08"];
- IL_Supported_OFFROAD = ["Exile_Car_Offroad_Red","Exile_Car_Offroad_Beige","Exile_Car_Offroad_White","Exile_Car_Offroad_Blue","Exile_Car_Offroad_DarkRed","Exile_Car_Offroad_BlueCustom","Exile_Car_Offroad_Guerilla01","Exile_Car_Offroad_Guerilla02","Exile_Car_Offroad_Guerilla03","Exile_Car_Offroad_Guerilla04","Exile_Car_Offroad_Guerilla05","Exile_Car_Offroad_Guerilla06","Exile_Car_Offroad_Guerilla07","Exile_Car_Offroad_Guerilla08","Exile_Car_Offroad_Guerilla09","Exile_Car_Offroad_Guerilla10","Exile_Car_Offroad_Guerilla11","Exile_Car_Offroad_Guerilla12","Exile_Car_Offroad_Rusty1","Exile_Car_Offroad_Rusty2","Exile_Car_Offroad_Rusty3","Exile_Car_Offroad_Repair_Civillian","Exile_Car_Offroad_Repair_Red","Exile_Car_Offroad_Repair_Beige","Exile_Car_Offroad_Repair_White","Exile_Car_Offroad_Repair_Blue","Exile_Car_Offroad_Repair_DarkRed","Exile_Car_Offroad_Repair_BlueCustom","Exile_Car_Offroad_Repair_Guerilla01","Exile_Car_Offroad_Repair_Guerilla02","Exile_Car_Offroad_Repair_Guerilla03","Exile_Car_Offroad_Repair_Guerilla04","Exile_Car_Offroad_Repair_Guerilla05","Exile_Car_Offroad_Repair_Guerilla06","Exile_Car_Offroad_Repair_Guerilla07","Exile_Car_Offroad_Repair_Guerilla08","Exile_Car_Offroad_Repair_Guerilla09","Exile_Car_Offroad_Repair_Guerilla10","Exile_Car_Offroad_Repair_Guerilla11","Exile_Car_Offroad_Repair_Guerilla12"];
- IL_Supported_SUV = ["Exile_Car_SUV_Red","Exile_Car_SUV_Black","Exile_Car_SUV_Grey","Exile_Car_SUV_Orange"];
- IL_Supported_Hatchback = ["Exile_Car_Hatchback_Beige","Exile_Car_Hatchback_Green","Exile_Car_Hatchback_Blue","Exile_Car_Hatchback_BlueCustom","Exile_Car_Hatchback_BeigeCustom","Exile_Car_Hatchback_Yellow","Exile_Car_Hatchback_Grey","Exile_Car_Hatchback_Black","Exile_Car_Hatchback_Dark","Exile_Car_Hatchback_Rusty1","Exile_Car_Hatchback_Rusty2","Exile_Car_Hatchback_Rusty3","Exile_Car_Hatchback_Sport_Red","Exile_Car_Hatchback_Sport_Blue","Exile_Car_Hatchback_Sport_Orange","Exile_Car_Hatchback_Sport_White","Exile_Car_Hatchback_Sport_Beige","Exile_Car_Hatchback_Sport_Green"];
- IL_Supported_Hummvee = [];
- IL_Supported_Quadbike = ["Exile_Bike_OldBike","Exile_Bike_MountainBike","Exile_Bike_Crosser","Exile_Bike_QuadBike_Black","Exile_Bike_QuadBike_Blue","Exile_Bike_QuadBike_Red","Exile_Bike_QuadBike_White","Exile_Bike_QuadBike_Nato","Exile_Bike_QuadBike_Csat","Exile_Bike_QuadBike_Fia","Exile_Bike_QuadBike_Guerilla01","Exile_Bike_QuadBike_Guerilla02"];
- IL_Supported_Supply_Crate = ["B_supplyCrate_F", "IG_supplyCrate_F", "O_supplyCrate_F", "I_supplyCrate_F", "C_supplyCrate_F"];
- IL_Supported_Veh_Ammo = ["Box_NATO_AmmoVeh_F", "Box_East_AmmoVeh_F", "Box_IND_AmmoVeh_F", "Land_CargoBox_V1_F", "ASC_B_box"];
- IL_Supported_Barrel = ["Land_BarrelEmpty_F", "Land_BarrelEmpty_grey_F", "Land_BarrelSand_F", "Land_BarrelSand_grey_F", "Land_BarrelTrash_F", "Land_BarrelTrash_grey_F", "Land_BarrelWater_F", "Land_BarrelWater_grey_F", "Land_MetalBarrel_F"];
- IL_Supported_Tank = ["Land_WaterBarrel_F", "Land_WaterTank_F"];
- IL_Supported_Rubberboat = [];
- IL_Supported_SDV = [];
+ IL_Supported_Strider = ["I_MRAP_03_hmg_F","Exile_Car_Strider"];
+ IL_Supported_Hunter = ["B_MRAP_01_hmg_F","Exile_Car_Hunter"];
+ IL_Supported_Ifrit = ["O_MRAP_02_hmg_F", "Exile_Car_Ifrit"];
+ IL_Supported_UGV = ["B_UGV_01_rcws_F", "B_UGV_01_F", "O_UGV_01_rcws_F", "O_UGV_01_F", "I_UGV_01_rcws_F", "I_UGV_01_F"];
+ IL_Supported_VAN = ["Exile_Car_Van_Black", "Exile_Car_Van_White", "Exile_Car_Van_Red", "Exile_Car_Van_Guerilla01", "Exile_Car_Van_Guerilla02", "Exile_Car_Van_Guerilla03", "Exile_Car_Van_Guerilla04", "Exile_Car_Van_Guerilla05", "Exile_Car_Van_Guerilla06", "Exile_Car_Van_Guerilla07", "Exile_Car_Van_Guerilla08", "Exile_Car_Van_Box_Black", "Exile_Car_Van_Box_White", "Exile_Car_Van_Box_Red", "Exile_Car_Van_Box_Guerilla01", "Exile_Car_Van_Box_Guerilla02", "Exile_Car_Van_Box_Guerilla03", "Exile_Car_Van_Box_Guerilla04", "Exile_Car_Van_Box_Guerilla05", "Exile_Car_Van_Box_Guerilla06", "Exile_Car_Van_Box_Guerilla07", "Exile_Car_Van_Box_Guerilla08", "Exile_Car_Van_Fuel_Black", "Exile_Car_Van_Fuel_White", "Exile_Car_Van_Fuel_Red", "Exile_Car_Van_Fuel_Guerilla01", "Exile_Car_Van_Fuel_Guerilla02", "Exile_Car_Van_Fuel_Guerilla03"];
+ IL_Supported_OFFROAD = ["Exile_Car_Offroad_Red", "Exile_Car_Offroad_Beige", "Exile_Car_Offroad_White", "Exile_Car_Offroad_Blue", "Exile_Car_Offroad_DarkRed", "Exile_Car_Offroad_BlueCustom", "Exile_Car_Offroad_Guerilla01", "Exile_Car_Offroad_Guerilla02", "Exile_Car_Offroad_Guerilla03", "Exile_Car_Offroad_Guerilla04", "Exile_Car_Offroad_Guerilla05", "Exile_Car_Offroad_Guerilla06", "Exile_Car_Offroad_Guerilla07", "Exile_Car_Offroad_Guerilla08", "Exile_Car_Offroad_Guerilla09", "Exile_Car_Offroad_Guerilla10", "Exile_Car_Offroad_Guerilla11", "Exile_Car_Offroad_Guerilla12", "Exile_Car_Offroad_Rusty1", "Exile_Car_Offroad_Rusty2", "Exile_Car_Offroad_Rusty3", "Exile_Car_Offroad_Armed_Guerilla01", "Exile_Car_Offroad_Armed_Guerilla02", "Exile_Car_Offroad_Armed_Guerilla03", "Exile_Car_Offroad_Armed_Guerilla04", "Exile_Car_Offroad_Armed_Guerilla05", "Exile_Car_Offroad_Armed_Guerilla06", "Exile_Car_Offroad_Armed_Guerilla07", "Exile_Car_Offroad_Armed_Guerilla08", "Exile_Car_Offroad_Armed_Guerilla09", "Exile_Car_Offroad_Armed_Guerilla10", "Exile_Car_Offroad_Armed_Guerilla11", "Exile_Car_Offroad_Armed_Guerilla12", "Exile_Car_Offroad_Repair_Civillian", "Exile_Car_Offroad_Repair_Red", "Exile_Car_Offroad_Repair_Beige", "Exile_Car_Offroad_Repair_White", "Exile_Car_Offroad_Repair_Blue", "Exile_Car_Offroad_Repair_DarkRed", "Exile_Car_Offroad_Repair_BlueCustom", "Exile_Car_Offroad_Repair_Guerilla01", "Exile_Car_Offroad_Repair_Guerilla02", "Exile_Car_Offroad_Repair_Guerilla03", "Exile_Car_Offroad_Repair_Guerilla04", "Exile_Car_Offroad_Repair_Guerilla05", "Exile_Car_Offroad_Repair_Guerilla06", "Exile_Car_Offroad_Repair_Guerilla07", "Exile_Car_Offroad_Repair_Guerilla08", "Exile_Car_Offroad_Repair_Guerilla09", "Exile_Car_Offroad_Repair_Guerilla10", "Exile_Car_Offroad_Repair_Guerilla11", "Exile_Car_Offroad_Repair_Guerilla12"];
+ IL_Supported_SUV = ["Exile_Car_SUV_Red", "Exile_Car_SUV_Black", "Exile_Car_SUV_Grey", "Exile_Car_SUV_Orange"];
+ IL_Supported_Hatchback = ["Exile_Car_Hatchback_Beige", "Exile_Car_Hatchback_Green", "Exile_Car_Hatchback_Blue", "Exile_Car_Hatchback_BlueCustom", "Exile_Car_Hatchback_BeigeCustom", "Exile_Car_Hatchback_Yellow", "Exile_Car_Hatchback_Grey", "Exile_Car_Hatchback_Black", "Exile_Car_Hatchback_Dark", "Exile_Car_Hatchback_Rusty1", "Exile_Car_Hatchback_Rusty2", "Exile_Car_Hatchback_Rusty3", "Exile_Car_Hatchback_Sport_Red", "Exile_Car_Hatchback_Sport_Blue", "Exile_Car_Hatchback_Sport_Orange", "Exile_Car_Hatchback_Sport_White", "Exile_Car_Hatchback_Sport_Beige", "Exile_Car_Hatchback_Sport_Green"];
+ IL_Supported_Hummvee = ["rc_hmmwv", "HMMWV2", "HMMWV_M1035", "M1114_AGS_ACR", "HMMWV_M1151_M2", "HMMWV2_M2", "HMMWV2_MK19", "HMMWV2_TOW", "HMMWV", "HMMWV_M2", "HMMWV_MK19", "HMMWV_TOW", "DAR_M1152", "DAR_M1151", "DAR_M1151_Deploy", "DAR_M115_MK19", "DAR_M1167", "DAR_M1165_GMV", "DAR_M1151Woodland", "DAR_M115_MK19Woodland", "DAR_M1167Woodland", "DAR_M1152Woodland", "DAR_M1151WoodlandUA", "B_mas_HMMWV_M2", "B_mas_HMMWV_M134", "B_mas_HMMWV_SOV", "B_mas_HMMWV_SOV_M134", "B_mas_HMMWV_TOW", "B_mas_HMMWV_MK19", "B_mas_HMMWV_UNA", "B_mas_HMMWV_MEV", "B_mas_HMMWV_M2_des", "B_mas_HMMWV_M134_des", "B_mas_HMMWV_SOV_des", "B_mas_HMMWV_SOV_M134_des", "B_mas_HMMWV_TOW_des", "B_mas_HMMWV_MK19_des", "B_mas_HMMWV_UNA_des", "B_mas_HMMWV_MEV_des"];
+ IL_Supported_Quadbike = ["Exile_Bike_QuadBike_Black", "Exile_Bike_QuadBike_Blue", "Exile_Bike_QuadBike_Red", "Exile_Bike_QuadBike_White", "Exile_Bike_QuadBike_Nato", "Exile_Bike_QuadBike_Csat", "Exile_Bike_QuadBike_Fia", "Exile_Bike_QuadBike_Guerilla01", "Exile_Bike_QuadBike_Guerilla02"];
+ IL_Supported_Supply_Crate = ["B_supplyCrate_F", "IG_supplyCrate_F", "O_supplyCrate_F", "I_supplyCrate_F", "C_supplyCrate_F" ];
+ IL_Supported_Veh_Ammo = ["Box_NATO_AmmoVeh_F", "Box_East_AmmoVeh_F", "Box_IND_AmmoVeh_F", "Land_CargoBox_V1_F", "ASC_B_box", "I_CargoNet_01_ammo_F", "O_CargoNet_01_ammo_F", "B_CargoNet_01_ammo_F"];
+ IL_Supported_Barrel = [/*"Land_BarrelEmpty_F", "Land_BarrelEmpty_grey_F", "Land_BarrelSand_F", "Land_BarrelSand_grey_F", "Land_BarrelTrash_F", "Land_BarrelTrash_grey_F", "Land_BarrelWater_F", "Land_BarrelWater_grey_F", "Land_MetalBarrel_F"*/];//, "Land_MetalBarrel_empty_F", "MetalBarrel_burning_F"];
+ IL_Supported_Tank = [/*"Land_WaterBarrel_F", "Land_WaterTank_F"*/];
+ IL_Supported_Rubberboat = ["Exile_Boat_RubberDuck_CSAT", "Exile_Boat_RubberDuck_Digital", "Exile_Boat_RubberDuck_Orange", "Exile_Boat_RubberDuck_Blue", "Exile_Boat_RubberDuck_Black"];
+ IL_Supported_SDV = ["Exile_Boat_SDV_CSAT", "Exile_Boat_SDV_Digital", "Exile_Boat_SDV_Grey"];
IL_Supported_Box_H1 = ["Box_NATO_Wps_F", "Box_East_Wps_F", "Box_IND_Wps_F", "Box_East_WpsLaunch_F", "Box_NATO_WpsLaunch_F", "Box_IND_WpsLaunch_F", "Box_IND_WpsSpecial_F", "Box_East_WpsSpecial_F", "Box_NATO_WpsSpecial_F", "Box_mas_all_rifle_Wps_F", "Box_mas_us_rifle_Wps_F", "Box_mas_ru_rifle_Wps_F", "Box_mas_mar_NATO_equip_F", "Box_mas_mar_NATO_Wps_F"];
IL_Supported_Box_H2 = ["Box_NATO_AmmoOrd_F", "Box_East_AmmoOrd_F", "Box_IND_AmmoOrd_F", "Box_NATO_Grenades_F", "Box_East_Grenades_F", "Box_IND_Grenades_F", "Box_NATO_Ammo_F", "Box_East_Ammo_F", "Box_IND_Ammo_F", "Box_IND_Support_F", "Box_East_Support_F", "Box_NATO_Support_F"];
IL_Supported_Cargo20 = ["Land_Cargo20_blue_F", "Land_Cargo20_brick_red_F", "Land_Cargo20_cyan_F", "Land_Cargo20_grey_F", "Land_Cargo20_light_blue_F", "Land_Cargo20_light_green_F", "Land_Cargo20_military_green_F", "Land_Cargo20_orange_F", "Land_Cargo20_red_F", "Land_Cargo20_sand_F", "Land_Cargo20_white_F", "Land_Cargo20_yellow_F"];
- IL_Supported_Pods = ["Land_Pod_Heli_Transport_04_ammo_F","Land_Pod_Heli_Transport_04_repair_F","Land_Pod_Heli_Transport_04_bench_F","Land_Pod_Heli_Transport_04_covered_F","Land_Pod_Heli_Transport_04_medevac_F","Land_Pod_Heli_Transport_04_box_F","Land_Pod_Heli_Transport_04_fuel_F", "B_Slingload_01_Cargo_F", "B_Slingload_01_Fuel_F", "B_Slingload_01_Ammo_F" ,"B_Slingload_01_Medevac_F" ,"B_Slingload_01_Repair_F"];
+ IL_Supported_TaruPods = ["Land_Pod_Heli_Transport_04_ammo_F", "Land_Pod_Heli_Transport_04_bench_F", "Land_Pod_Heli_Transport_04_box_F", "Land_Pod_Heli_Transport_04_covered_F", "Land_Pod_Heli_Transport_04_fuel_F", "Land_Pod_Heli_Transport_04_medevac_F", "Land_Pod_Heli_Transport_04_repair_F", "B_Slingload_01_Ammo_F", "B_Slingload_01_Medical_F", "B_Slingload_01_Fuel_F", "B_Slingload_01_Repair_F", "B_Slingload_01_Cargo_F"];
- // Was das jeweilige Fahrzeug laden kann !!
- IL_Supported_Cargo_MH9 = IL_Supported_Supply_Crate + IL_Supported_Barrel;
- IL_Supported_Cargo_Veh_Offroad = IL_Supported_Quadbike;
- IL_Supported_Cargo_NonVeh_Offroad = (IL_Supported_Supply_Crate + IL_Supported_Veh_Ammo + IL_Supported_Barrel + IL_Supported_Tank + IL_Supported_Box_H1 + IL_Supported_Box_H2);// - ["Land_WaterTank_F"];
+ IL_Supported_Cargo_MH9 = IL_Supported_Supply_Crate + IL_Supported_Barrel ;
+
+ IL_Supported_Cargo_Veh_Offroad = IL_Supported_Quadbike + IL_Supported_Bicycles;
+ IL_Supported_Cargo_NonVeh_Offroad = IL_Supported_Supply_Crate + IL_Supported_Veh_Ammo + IL_Supported_Barrel + IL_Supported_Tank + IL_Supported_Box_H1 + IL_Supported_Box_H2;
IL_Supported_Cargo_Offroad = IL_Supported_Cargo_Veh_Offroad + IL_Supported_Cargo_NonVeh_Offroad;
-
+
IL_Supported_Cargo_Veh_VAN = IL_Supported_Cargo_Veh_Offroad;
IL_Supported_Cargo_NonVeh_VAN = IL_Supported_Cargo_NonVeh_Offroad;
IL_Supported_Cargo_VAN = IL_Supported_Cargo_Veh_VAN + IL_Supported_Cargo_NonVeh_VAN;
-
- IL_Supported_Cargo_Veh_Kamaz = IL_Supported_Quadbike + IL_Supported_Rubberboat + IL_Supported_SDV + IL_Supported_Hatchback + IL_Supported_UGV + IL_Supported_VAN;
+
+ IL_Supported_Cargo_Veh_Kamaz = IL_Supported_Quadbike + IL_Supported_Rubberboat + IL_Supported_SDV + IL_Supported_Hatchback + IL_Supported_UGV + IL_Supported_VAN + IL_Supported_OFFROAD + IL_Supported_SUV;
IL_Supported_Cargo_NonVeh_Kamaz = IL_Supported_Supply_Crate + IL_Supported_Veh_Ammo + IL_Supported_Barrel + IL_Supported_Tank + IL_Supported_Box_H1 + IL_Supported_Box_H2 + IL_Supported_Cargo20;
IL_Supported_Cargo_Kamaz = IL_Supported_Cargo_Veh_Kamaz + IL_Supported_Cargo_NonVeh_Kamaz;
-
- IL_Supported_Cargo_Veh_HEMTT = IL_Supported_Cargo_Veh_Kamaz + IL_Supported_OFFROAD + IL_Supported_SUV;
- IL_Supported_Cargo_NonVeh_HEMTT = IL_Supported_Cargo_NonVeh_Kamaz + IL_Supported_Pods;
+
+ IL_Supported_Cargo_Veh_HEMTT = IL_Supported_Cargo_Veh_Kamaz;
+ IL_Supported_Cargo_NonVeh_HEMTT = IL_Supported_Cargo_NonVeh_Kamaz + IL_Supported_TaruPods;
IL_Supported_Cargo_HEMTT = IL_Supported_Cargo_Veh_HEMTT + IL_Supported_Cargo_NonVeh_HEMTT;
-
+
IL_Supported_Cargo_Veh_TEMPEST = IL_Supported_Cargo_Veh_HEMTT;
IL_Supported_Cargo_NonVeh_TEMPEST = IL_Supported_Cargo_NonVeh_HEMTT;
IL_Supported_Cargo_TEMPEST = IL_Supported_Cargo_Veh_TEMPEST + IL_Supported_Cargo_NonVeh_TEMPEST;
-
+
IL_Supported_Cargo_Veh_Mohawk = IL_Supported_Quadbike + IL_Supported_Rubberboat + IL_Supported_SDV + IL_Supported_Hatchback + IL_Supported_UGV;
IL_Supported_Cargo_NonVeh_Mohawk = IL_Supported_Supply_Crate + IL_Supported_Veh_Ammo + IL_Supported_Barrel + IL_Supported_Tank;
IL_Supported_Cargo_Mohawk = IL_Supported_Cargo_Veh_Mohawk + IL_Supported_Cargo_NonVeh_Mohawk;
-
+
IL_Supported_Cargo_Veh_CHINOOK = IL_Supported_Cargo_Veh_Mohawk;
IL_Supported_Cargo_NonVeh_CHINOOK = IL_Supported_Cargo_NonVeh_Mohawk;
IL_Supported_Cargo_CHINOOK = IL_Supported_Cargo_Veh_CHINOOK + IL_Supported_Cargo_NonVeh_CHINOOK;
-
+
IL_Supported_Cargo_Veh_C130J = IL_Supported_Cargo_Veh_HEMTT + IL_Supported_Strider + IL_Supported_Hunter + IL_Supported_Ifrit + IL_Supported_Hummvee + IL_Supported_HEMTT;
IL_Supported_Cargo_NonVeh_C130J = IL_Supported_Cargo_NonVeh_Mohawk;
IL_Supported_Cargo_C130J = IL_Supported_Cargo_Veh_C130J + IL_Supported_Cargo_NonVeh_C130J;
-
+
IL_Supported_Cargo_Veh_C17 = IL_Supported_Cargo_Veh_C130J;
IL_Supported_Cargo_NonVeh_C17 = IL_Supported_Cargo_NonVeh_C130J;
IL_Supported_Cargo_C17 = IL_Supported_Cargo_Veh_C17 + IL_Supported_Cargo_NonVeh_C17;
};
-
if (isnil "IL_Procedures") then
{
IL_Procedures = true;
IL_Init_Veh =
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" IL_Init_Veh.", IL_Script_Inst];
- };
-
private["_obj", "_obj_type", "_force"];
_obj = _this select 0;
_force = if (count _this > 1) then {_this select 1} else {false};
@@ -229,7 +192,7 @@ if (isnil "IL_Procedures") then
_obj setMass (_obj getVariable "default_mass");
};
};
-
+
if (_obj_type in IL_Supported_Vehicles_C130J) then
{
if ((isNil {_obj getVariable "box_num"}) || (_force)) then {_obj setVariable["box_num", 0, true];};
@@ -248,7 +211,7 @@ if (isnil "IL_Procedures") then
if ((isNil {_obj getVariable "slots_num"}) || (_force)) then {_obj setVariable["slots_num", (IL_Num_Slots_C130J / 2) - 1, true];};
if ((isNil {_obj getVariable "load_offset"}) || (_force)) then {_obj setVariable["load_offset", 13.5, true];};
};
-
+
};
if (_obj_type in IL_Supported_Vehicles_C17) then
{
@@ -258,7 +221,7 @@ if (isnil "IL_Procedures") then
if ((isNil {_obj getVariable "can_copilot"}) || (_force)) then {_obj setVariable["can_copilot", IL_Can_CoPilot, true];};
if ((isNil {_obj getVariable "can_outside"}) || (_force)) then {_obj setVariable["can_outside", IL_Can_Outside, true];};
if ((isNil {_obj getVariable "zload"}) || (_force)) then {_obj setVariable["zload", -1.25, true];};
- if ((isNil {_obj getVariable "load_offset"}) || (_force)) then {_obj setVariable["load_offset", 16, true];};//4.5, true];};
+ if ((isNil {_obj getVariable "load_offset"}) || (_force)) then {_obj setVariable["load_offset", 16, true];};
if ((isNil {_obj getVariable "usable_ramp"}) || (_force)) then {_obj setVariable["usable_ramp", IL_Ramp, true];};
};
if (_obj_type in IL_Supported_Vehicles_MOHAWK) then
@@ -369,38 +332,32 @@ if (isnil "IL_Procedures") then
};
};
-
IL_Init_Box =
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" IL_Init_Box.", IL_Script_Inst];
- };
-
private["_obj", "_obj_type", "_bbr", "_p0", "_p1"];
_obj = _this select 0;
-
+
_obj setVariable["attachedPos", 0, true];
_obj setVariable["attachedTruck", _obj, true];
_obj setVariable["doors", "N", true];
-
+
_obj setVariable["slots", 1, true];
_obj setVariable["cargo_offset", 0, true];
-
+
_bbr = boundingBoxReal _obj;
_p0 = _bbr select 0;
_p1 = _bbr select 1;
_obj setVariable["zload_cargo", abs (_p0 select 2), true];
-
+
_obj_type = (typeOf _obj);
-
+
if (_obj_type in IL_Supported_Cargo20) then
{
_obj setVariable["slots", 6, true];
_obj setVariable["cargo_offset", 2.6, true];
[_obj, 2400] call IL_SetNewMass;
};
-
+
if (_obj_type in IL_Supported_HEMTT) then
{
_obj setVariable["slots", 10, true];
@@ -439,6 +396,11 @@ if (isnil "IL_Procedures") then
_obj setVariable["slots", 6, true];
_obj setVariable["cargo_offset", 2.2, true];
};
+ if (_obj_type in IL_Supported_TaruPods) then
+ {
+ _obj setVariable["slots", 7, true];
+ _obj setVariable["cargo_offset", 2.9, true];
+ };
if (_obj_type in IL_Supported_Hunter) then
{
_obj setVariable["slots", 7, true];
@@ -459,13 +421,6 @@ if (isnil "IL_Procedures") then
_obj setVariable["slots", 5, true];
_obj setVariable["cargo_offset", 2.1, true];
};
- // Cargo Container Positions Config stellt ein wo der attach point ist
- //CARGO CONTAINERS - this is the y axis offset, it controls how far to the front or back the attached cargo comes to a stop
- if (_obj_type in IL_Supported_Pods) then
- {
- _obj setVariable["slots", 5, true];
- _obj setVariable["cargo_offset", 2.5, true];
- };
if (_obj_type in IL_Supported_Hatchback) then
{
_obj setVariable["slots", 5, true];
@@ -517,30 +472,24 @@ if (isnil "IL_Procedures") then
};
};
-
IL_Server_AddScore =
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" IL_Server_AddScore.", IL_Script_Inst];
- };
if (isServer) then
{
((_this select 1) select 0) addScore ((_this select 1) select 1);
};
};
-
"IL_SetScore" addPublicVariableEventHandler IL_Server_AddScore;
- IL_Score =
+ IL_Score =
{
private ["_obj", "_score"];
-
+
_obj = _this select 0;
_score = _this select 1;
-
+
if (_score != 0) then
{
IL_SetScore = [_obj, _score];
@@ -555,17 +504,12 @@ if (isnil "IL_Procedures") then
};
};
-
IL_Server_SetDir =
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" IL_Server_SetDir.", IL_Script_Inst];
- };
private ["_obj", "_dir"];
_obj = _this select 1 select 0;
_dir = _this select 1 select 1;
-
+
if (_dir < 0) then
{
_dir = _dir + 360;
@@ -579,20 +523,18 @@ if (isnil "IL_Procedures") then
_obj setPos (getPos _obj);
};
-
"IL_SetDir" addPublicVariableEventHandler IL_Server_SetDir;
-
- IL_Rotate =
+ IL_Rotate =
{
private ["_obj", "_to", "_change"];
-
+
_obj = _this select 0;
_to = _this select 1;
_change = _this select 2;
-
+
_change = (getDir _obj + _change) - getDir _to;
-
+
IL_SetDir = [_obj, _change];
if (local _obj) then
{
@@ -611,13 +553,8 @@ if (isnil "IL_Procedures") then
};
};
-
IL_Server_SetMass =
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" IL_Server_SetMass.", IL_Script_Inst];
- };
private ["_obj", "_mass"];
_obj = _this select 1 select 0;
_mass = _this select 1 select 1;
@@ -627,10 +564,8 @@ if (isnil "IL_Procedures") then
};
};
-
"IL_SetMass" addPublicVariableEventHandler IL_Server_SetMass;
-
IL_GetCargoMass =
{
private ["_v", "_cargo_mass"];
@@ -645,7 +580,6 @@ if (isnil "IL_Procedures") then
_cargo_mass;
};
-
IL_GetDefaultMass =
{
private ["_v"];
@@ -653,20 +587,14 @@ if (isnil "IL_Procedures") then
_v getVariable "default_mass";
};
-
IL_SetNewMass =
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"" in IL_SetMass", IL_Script_Inst];
- };
-
if !(IL_Mass) ExitWith {};
private ["_v", "_v_def_mass", "_cargo_mass"];
_v = _this select 0;
_v_def_mass = if (count _this > 1) then {_this select 1} else {0};
_cargo_mass = if (count _this > 2) then {_this select 2} else {0};
-
+
if (_v_def_mass == 0) then
{
_v_def_mass = [_v] call IL_GetDefaultMass;
@@ -675,7 +603,7 @@ if (isnil "IL_Procedures") then
{
_cargo_mass = [_v] call IL_GetCargoMass;
};
-
+
if ((getMass _v) != (_v_def_mass + _cargo_mass)) then
{
IL_SetMass = [_v, (_v_def_mass + _cargo_mass)];
@@ -695,55 +623,6 @@ if (isnil "IL_Procedures") then
};
};
};
-
- };
-
-
- IL_Vehicle_Chat =
- {
- private["_v", "_msg", "_mass_info", "_text", "_cargo_mass", "_v_def_mass"];
- _v = _this select 0;
- _msg = _this select 1;
- _mass_info = if (count _this > 2) then {_this select 2} else {false};
-
- _v vehicleChat _msg;
- if (_mass_info && IL_Mass) then
- {
- _cargo_mass = 0;
- _v_def_mass = [_v] call IL_GetDefaultMass;
- _cargo_mass = [_v] call IL_GetCargoMass;
-
- _text = Format["", getText(configFile >> "cfgVehicles" >> typeOf _v >> "picture")];
- _text = _text + Format ["%1
", getText(configFile >> "cfgVehicles" >> typeOf _v >> "displayName")];
-
- _text = _text + "Default mass: ";
- _text = _text + Format ["%1
", _v_def_mass];
-
- _text = _text + "Cargo mass: ";
- _text = _text + Format ["%1
", _cargo_mass];
-
- _text = _text + "Current mass: ";
- _text = _text + Format ["%1
", _v_def_mass + _cargo_mass];
- };
- if (vehicle Player != _v) then
- {
- if (_mass_info && IL_Mass) then
- {
- _text = _text + _msg;
- hint parseText (_text);
- }
- else
- {
- Hint Format ["%1", _msg];
- };
- }
- else
- {
- if (_mass_info && IL_Mass) then
- {
- hint parseText (_text);
- };
- };
};
@@ -756,56 +635,33 @@ if (isnil "IL_Procedures") then
_to = _this select 3;
_step = _this select 4;
_turn = if (count _this > 5) then {_this select 5} else {false};
-
+
_from_x = _from select 0;
_from_y = _from select 1;
_from_z = _from select 2;
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". IL_Move_Attach _from_x =""%2"", _from_y =""%3"", _from_z =""%4""", IL_Script_Inst, _from_x, _from_y, _from_z];
- };
-
+
_to_x = _to select 0;
_to_y = _to select 1;
_to_z = _to select 2;
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". IL_Move_Attach _to_x =""%2"", _to_y =""%3"", _to_z =""%4""", IL_Script_Inst, _to_x, _to_y, _to_z];
- };
_x = _to_x - _from_x;
_y = _to_y - _from_y;
_z = _to_z - _from_z;
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". IL_Move_Attach _x =""%2"", _y =""%3"", _z =""%4""", IL_Script_Inst, _x, _y, _z];
- };
if (((abs _x) > (abs _y)) && ((abs _x) > (abs _z))) then
{
- _steps = round ((abs _x) / _step);
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". IL_Move_Attach _x > _y and _z, _steps =""%2""", IL_Script_Inst, _steps];
- };
+ _steps = round ((abs _x) / _step);
}
else
{
if ((abs _y) > (abs _z)) then
{
- _steps = round ((abs _y) / _step);
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". IL_Move_Attach _y > _z, _steps =""%2""", IL_Script_Inst, _steps];
- };
+ _steps = round ((abs _y) / _step);
}
else
{
_steps = round ((abs _z) / _step);
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". IL_Move_Attach _z > _y, _steps =""%2""", IL_Script_Inst, _steps];
- };
+
};
};
@@ -821,24 +677,14 @@ if (isnil "IL_Procedures") then
[_obj, _veh, -90] call IL_Rotate;
_turn = false;
};
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". IL_Move_Attach _pos =""%2""", IL_Script_Inst, _pos];
- };
sleep 0.25;
};
_obj AttachTo [_veh, _to];
-
};
-
IL_Create_And_Attach =
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"" in IL_Create_And_Attach", IL_Script_Inst];
- };
_type = _this select 0;
_to = _this select 1;
_x = if (count _this > 2) then {_this select 2} else {0};
@@ -849,19 +695,14 @@ if (isnil "IL_Procedures") then
_m
};
-
- IL_Cargo_Para =
+ IL_Server_Cargo_Para =
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"" in IL_Cargo_Para", IL_Script_Inst];
- };
-
- [Player, IL_Unload_Score] call IL_Score;
- private ["_smoke", "_light", "_damage", "_smoke_type", "_chemlight_type", "_cargo_pos", "_last_attach_pos", "_dist", "_velocity", "_tmp"];
- _cargo = _this select 0;
- _v = _this select 1;
- _last_attach_pos = _this select 2;
+ private ["_smoke", "_player_velocity", "_light", "_damage", "_smoke_type", "_chemlight_type", "_cargo_pos", "_last_attach_pos", "_dist", "_velocity", "_tmp"];
+ _vars = _this select 1;
+ _cargo = _vars select 0;
+ _v = _vars select 1;
+ _last_attach_pos = _vars select 2;
+ _player_velocity = _vars select 3;
if (((IL_Para_Smoke) || (IL_Para_Smoke_Add)) && (_cargo isKindOf "AllVehicles")) then
{
_smoke_type = IL_Para_Smoke_Veh;
@@ -879,10 +720,11 @@ if (isnil "IL_Procedures") then
_chemlight_type = IL_Para_Light_Default;
};
- _cargo_pos = [0,0,0];
-
+ _cargo_pos = [0,0,-2.3];
+
_damage = getDammage _cargo;
detach _cargo;
+ _cargo setVelocity _player_velocity;
_dist = _v distance _cargo;
_tmp = [_cargo] spawn
{
@@ -902,81 +744,87 @@ if (isnil "IL_Procedures") then
sleep 0.2;
};
};
- _chute = createVehicle ["B_Parachute_02_F", position _cargo, [], 0, "CAN_COLLIDE"];
- _chute attachTo [_cargo, _cargo_pos];
- _velocity = velocity _cargo;
- detach _chute;
- if (IL_Para_Drop_Velocity) then
- {
- _chute setVelocity _velocity;
- };
- _cargo attachTo [_chute, _cargo_pos];
-
- if (IL_Para_Smoke) then
- {
- _smoke = [_smoke_type, _cargo] call IL_Create_And_Attach;
- };
- if (IL_Para_Light) then
- {
- _light = [_chemlight_type, _cargo] call IL_Create_And_Attach;
- };
- while {(getPos _cargo) select 2 > 2} do
- {
- sleep 0.2;
- };
- detach _cargo;
- if (IL_Para_Smoke) then
- {
- _smoke attachTo [_cargo,[0,0,2]];
- detach _smoke;
- };
- if (IL_Para_Light) then
- {
- _light attachTo [_cargo,[0,0,2]];
- detach _light;
- };
- //Zusätliche Config für Lichter und Rauch
- //Additional lights and smoke
- if (IL_Para_Smoke_Add) then
- {
- _smoke = [_smoke_type, _cargo] call IL_Create_And_Attach;
- _smoke attachTo [_cargo,[0,0,2]];
- detach _smoke;
- };
- if (IL_Para_Light_Add) then
- {
- _light = [_chemlight_type, _cargo] call IL_Create_And_Attach;
- _light attachTo [_cargo,[0,0,2]];
- detach _light;
- };
-
- _cargo setPosASL getPosASL _cargo;
-
- if (IL_CDamage == 0) then
- {
- _cargo setDamage 0;
- };
-
- if (IL_CDamage == 1) then
- {
- _cargo setDamage _damage;
- if (_damage != (getDammage _cargo)) then
- {
- sleep 1;
- _cargo setDamage _damage;
- };
- };
+ _chute = createVehicle ["B_Parachute_02_F", position _cargo, [], 0, "CAN_COLLIDE"];
+ _chute attachTo [_cargo, _cargo_pos];
+ detach _chute;
+
+ if (IL_Para_Drop_Velocity) then
+ {
+ _chute setVelocity _player_velocity;
+ };
+ _cargo attachTo [_chute, _cargo_pos];
+
+ if (IL_Para_Smoke) then
+ {
+ _smoke = [_smoke_type, _cargo] call IL_Create_And_Attach;
+ };
+ if (IL_Para_Light) then
+ {
+ _light = [_chemlight_type, _cargo] call IL_Create_And_Attach;
+ };
+ while {(getPos _cargo) select 2 > 2} do
+ {
+ sleep 0.2;
+ };
+ detach _cargo;
+ if (IL_Para_Smoke) then
+ {
+ _smoke attachTo [_cargo,[0,0,2]];
+ detach _smoke;
+ };
+ if (IL_Para_Light) then
+ {
+ _light attachTo [_cargo,[0,0,2]];
+ detach _light;
+ };
+ if (IL_Para_Smoke_Add) then
+ {
+ _smoke = [_smoke_type, _cargo] call IL_Create_And_Attach;
+ _smoke attachTo [_cargo,[0,0,2]];
+ detach _smoke;
+ };
+ if (IL_Para_Light_Add) then
+ {
+ _light = [_chemlight_type, _cargo] call IL_Create_And_Attach;
+ _light attachTo [_cargo,[0,0,2]];
+ detach _light;
+ };
+
+ _cargo setPosASL getPosASL _cargo;
+
+ if (IL_CDamage == 0) then
+ {
+ _cargo setDamage 0;
+ };
+
+ if (IL_CDamage == 1) then
+ {
+ _cargo setDamage _damage;
+ if (_damage != (getDammage _cargo)) then
+ {
+ sleep 1;
+ _cargo setDamage _damage;
+ };
+ };
};
+ IL_Cargo_Para = {
+ IL_CLient_Cargo_Para = _this;
+ if (isServer) then
+ {
+ IL_CLient_Cargo_Para spawn IL_Server_Cargo_Para;
+ }
+ else
+ {
+ [Player, IL_Unload_Score] call IL_Score;
+ publicVariableServer "IL_Client_Cargo_Para";
+ };
+ };
+ "IL_Client_Cargo_Para" addPublicVariableEventHandler IL_Cargo_Para;
IL_Do_Load =
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"" in IL_Do_Load", IL_Script_Inst];
- };
-
private["_NoBoxHint", "_v", "_supported_cargo", "_zload", "_x_cargo_offset", "_cargo_offset", "_sdist", "_spoint", "_slot_num", "_counter", "_done", "_obj_lst", "_damage", "_obj_type", "_doors", "_box_num", "_dummy", "_nic", "_turn", "_force", "_cargo"];
_NoBoxHint = "The box is in the vicinity. Perhaps it is outside of the loading area.";
_v = _this select 0;
@@ -984,7 +832,7 @@ if (isnil "IL_Procedures") then
_doors = if (count _this > 2) then {_this select 2} else {"B"};
_force = if (count _this > 3) then {_this select 3} else {false};
_cargo = if (count _this > 4) then {_this select 4} else {ObjNull};
-
+
_v setVariable["can_load", false, true];
_zload = _v getVariable "zload";
_obj_type = (typeOf _v);
@@ -996,10 +844,6 @@ if (isnil "IL_Procedures") then
if ((_obj_type in IL_Supported_Vehicles_VAN) && (_doors == "B")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL;
_spoint = _v modelToWorld [0,-4.5,-1.6];
_box_num = _v getVariable "box_num";
@@ -1007,10 +851,6 @@ if (isnil "IL_Procedures") then
};
if ((_obj_type in IL_Supported_Vehicles_OFFROAD) && (_doors == "B")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL;
_spoint = _v modelToWorld [0,-4.5,-1.6];
_box_num = _v getVariable "box_num";
@@ -1018,10 +858,6 @@ if (isnil "IL_Procedures") then
};
if ((_obj_type in IL_Supported_Vehicles_KAMAZ) && (_doors == "B")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL;
_spoint = _v modelToWorld [0,-6 - (_v getVariable "load_offset"),0];
_box_num = _v getVariable "box_num";
@@ -1029,10 +865,6 @@ if (isnil "IL_Procedures") then
};
if ((_obj_type in IL_Supported_Vehicles_HEMTT) && (_doors == "B")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL;
_spoint = _v modelToWorld [0,-7 - (_v getVariable "load_offset"),0];
_box_num = _v getVariable "box_num";
@@ -1040,10 +872,6 @@ if (isnil "IL_Procedures") then
};
if ((_obj_type in IL_Supported_Vehicles_TEMPEST) && (_doors == "B")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL;
_spoint = _v modelToWorld [0,-6.5 - (_v getVariable "load_offset"),0];
_box_num = _v getVariable "box_num";
@@ -1051,10 +879,6 @@ if (isnil "IL_Procedures") then
};
if ((_obj_type in IL_Supported_Vehicles_C130J) && (_doors == "B")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL + IL_SDistL_Heli_offset;
_spoint = _v modelToWorld [0,-9,-5.4];
_box_num = _v getVariable "box_num";
@@ -1062,21 +886,13 @@ if (isnil "IL_Procedures") then
};
if ((_obj_type in IL_Supported_Vehicles_C17) && (_doors == "B")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL + IL_SDistL_Heli_offset;
- _spoint = _v modelToWorld [0,-16.5,-3];//Ramp end [0,-13.5,-3.2]
+ _spoint = _v modelToWorld [0,-16.5,-3];
_box_num = _v getVariable "box_num";
_slot_num = _v getVariable "slots_num";
};
if ((_obj_type in IL_Supported_Vehicles_CHINOOK) && (_doors == "B")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL + IL_SDistL_Heli_offset;
_spoint = _v modelToWorld [0,-9,-3];
_box_num = _v getVariable "box_num";
@@ -1084,10 +900,6 @@ if (isnil "IL_Procedures") then
};
if ((_obj_type in IL_Supported_Vehicles_MOHAWK) && (_doors == "B")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL + IL_SDistL_Heli_offset;
_spoint = _v modelToWorld [0,-6,-3];
_box_num = _v getVariable "box_num";
@@ -1095,10 +907,6 @@ if (isnil "IL_Procedures") then
};
if ((_obj_type in IL_Supported_Vehicles_MH9) && (_doors == "L")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL + IL_SDistL_Heli_offset;
_spoint = _v modelToWorld [0-3,1.3,-1.3];
_box_num = _v getVariable "box_num_l";
@@ -1106,16 +914,12 @@ if (isnil "IL_Procedures") then
};
if ((_obj_type in IL_Supported_Vehicles_MH9) && (_doors == "R")) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Do_load vehicle type: ""%2"" and doors: ""%3""", IL_Script_Inst, _obj_type, _doors];
- };
_sdist = IL_SDistL + IL_SDistL_Heli_offset;
_spoint = _v modelToWorld [0+3,1.3,-1.3];
_box_num = _v getVariable "box_num_r";
_slot_num = _v getVariable "slots_num_r";
};
-
+
if !(_force) then
{
_obj_lst = nearestObjects[ _spoint, _supported_cargo, _sdist];
@@ -1128,41 +932,28 @@ if (isnil "IL_Procedures") then
if (count (_obj_lst) > 0) then
{
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Cargo: ""%2"" found.", IL_Script_Inst, _x];
- };
if (isNil {_x getVariable "attachedPos"}) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". Init box: ""%2"".", IL_Script_Inst, _x];
- };
[_x] call IL_Init_Box;
};
if ((typeOf _x) in (IL_Supported_Cargo20 + ["Land_WaterTank_F"])) then
{
_turn = true;
};
- //Erlaubt dir größere sachen aufzuladen aber die müssen in der Cargo liste sein!!
- //It allows you to load oversize loads, but they must be on the list of supported cargo!!!
- if ((abs(_slot_num - _box_num) < (_x getVariable "slots")) && (_box_num != 0)) then
- {
- [_v, "This cargo is to big. "] call IL_Vehicle_Chat;
- }
- else
- {
- if (IL_DevMod) then
- {
- Player globalChat Format ["IgiLoad ""%1"". _box_num: ""%2"" _slot_num: ""%3""", IL_Script_Inst, _box_num, _slot_num];
- };
- if (_obj_type in IL_Supported_Vehicles_MH9) then
- {
+
+
+ _lock1 = locked _v;
+ _lock2 = locked _x;
+ if (_lock1 <= 1) then
+ {
+ if (_lock2 <= 1) then
+ {
+ if (_obj_type in IL_Supported_Vehicles_MH9) then
+ {
_turn = !_turn;
- };
- if ((_box_num > _slot_num) && !_done) then
- {
- [_v, Format ["Loading ""%1"" on ""%2"" started", getText(configFile >> "cfgVehicles" >> typeOf _x >> "displayName"), getText(configFile >> "cfgVehicles" >> typeOf _v >> "displayName")]] call IL_Vehicle_Chat;
+ };
+ if ((_box_num > _slot_num) && !_done) then
+ {
_done = true;
_counter = (_box_num);
_zload = (_v getVariable "zload") + (_x getVariable "zload_cargo");
@@ -1175,20 +966,14 @@ if (isnil "IL_Procedures") then
{
_x_cargo_offset = 0;
};
-
- if ((typeOf _x) in IL_Supported_Pods) then
- {
- _x_cargo_offset = 0.05;
- };
_damage = getDammage _x;
-
+
if ((typeOf _x) in IL_Supported_SDV) then
{
- _x animate ["periscope", 3];
- _x animate ["Antenna", 3];
- _x animate ["HideScope", 3];
+ _x animate ["periscope", 3];
+ _x animate ["Antenna", 3];
+ _x animate ["HideScope", 3];
_x animate["display_on_R", 1];
- [_v, "Waiting for periscope."] call IL_Vehicle_Chat;
while {_x animationPhase "periscope" < 3} do
{
sleep 1;
@@ -1264,23 +1049,23 @@ if (isnil "IL_Procedures") then
_v setVariable["box_num_r", _counter, true];
_v setVariable["box_r", _x, true];
};
-
+
[_v] call IL_SetNewMass;
-
+
if (_x isKindOf "AllVehicles") then
{
_x forceSpeed 0;
};
-
+
_x setVariable["attachedPos", _counter, true];
_x setVariable["attachedTruck", _v, true];
_x setVariable["doors", _doors, true];
-
+
if (IL_CDamage == 0) then
{
_x setDamage 0;
};
-
+
if (IL_CDamage == 1) then
{
_x setDamage _damage;
@@ -1290,49 +1075,36 @@ if (isnil "IL_Procedures") then
_x setDamage _damage;
};
};
-
- if (_counter > _slot_num) then
- {
- [_v, Format ["""%1"" is loaded onto ""%2"". Free slots: ""%3"".", getText(configFile >> "cfgVehicles" >> typeOf _x >> "displayName"), getText(configFile >> "cfgVehicles" >> typeOf _v >> "displayName"), abs(_slot_num - _counter)], true] call IL_Vehicle_Chat;
- }
- else
- {
- [_v, Format ["""%1"" is loaded onto ""%2"" There is no more space.", getText(configFile >> "cfgVehicles" >> typeOf _x >> "displayName"), getText(configFile >> "cfgVehicles" >> typeOf _v >> "displayName")], true] call IL_Vehicle_Chat;
- };
-
+
+ _IL_noti = getText(configFile >> "cfgVehicles" >> typeOf _x >> "displayName");
+ ["Success", format ["%1 successfully loaded!",_IL_noti]] call ExileClient_gui_notification_event_addNotification;
[Player, IL_Load_Score] call IL_Score;
- }
- else
- {
- if ((_box_num > _slot_num) && !_done) then
- {
- [_v, _NoBoxHint] call IL_Vehicle_Chat;
};
- };
+ }
+ else
+ {
+ ["Whoops", ["Locked vehicles can't be loaded!"]] call ExileClient_gui_notification_event_addNotification;
+ };
+ }
+ else
+ {
+ ["Whoops", ["Locked vehicles can't load Cargo!"]] call ExileClient_gui_notification_event_addNotification;
};
+
if (_done) exitWith {};
} forEach (_obj_lst);
- }
- else
- {
- [_v, _NoBoxHint] call IL_Vehicle_Chat;
+
};
_v setVariable["can_load", true, true];
};
-
IL_Do_Unload =
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" IL_Do_Unload.", IL_Script_Inst];
- };
-
private ["_v", "_para", "_supported_cargo", "_doors", "_counter", "_done", "_obj_lst", "_zload", "_x_cargo_offset", "_cargo_offset", "_obj_type", "_damage", "_nic", "_free_slots", "_turn", "_skip", "_last_attach_pos"];
_v = _this select 0;
_para = if (count _this > 1) then {_this select 1} else {false};
_doors = if (count _this > 2) then {_this select 2} else {"B"};
-
+
_v setVariable["can_load", false, true];
_counter = 0;
_done = false;
@@ -1356,12 +1128,12 @@ if (isnil "IL_Procedures") then
{
_obj_lst = attachedObjects _v;
};
-
+
if (count (_obj_lst) > 0) then
{
{
_obj_type = (typeOf _v);
-
+
if (_x getVariable "doors" == _doors) then
{
if (_doors == "B") then
@@ -1378,7 +1150,6 @@ if (isnil "IL_Procedures") then
};
if (((_x getVariable "attachedTruck") == _v) && ((_x getVariable "attachedPos") == (_counter)) && (_counter < 0) && !_done) then
{
- [_v, Format ["Unloading ""%1"" from ""%2"" started", getText(configFile >> "cfgVehicles" >> typeOf _x >> "displayName"), getText(configFile >> "cfgVehicles" >> typeOf _v >> "displayName")]] call IL_Vehicle_Chat;
_done = true;
_skip = false;
_zload = (_v getVariable "zload") + (_x getVariable "zload_cargo");
@@ -1392,17 +1163,8 @@ if (isnil "IL_Procedures") then
{
_x_cargo_offset = 0;
};
- // Links rechts positionierung der Cargo Container - geht nach links + nach rechts
- //CARGO CONTAINERS - the left and right offset - negative values move the cargo to the left, positive values to the right
- if ((typeOf _x) in IL_Supported_Pods) then
- {
- _x_cargo_offset = 0.1;
- };
_obj_type = (typeOf _v);
-
-
-
if ((_obj_type in IL_Supported_Vehicles_VAN) && (_doors == "B")) then
{
[_v, _x, [_x_cargo_offset,_counter + 0.25 - _cargo_offset,_zload], [_x_cargo_offset,-4.5,_zload], 1, _turn] call IL_Move_Attach;
@@ -1493,10 +1255,11 @@ if (isnil "IL_Procedures") then
_last_attach_pos = [_x_cargo_offset+3,1.3,-0.75 + _zload];
};
};
-
+
if ((_para) && (_obj_type in IL_Para_Drop_Vehicles)) then
{
- [_x, _v, _last_attach_pos] spawn IL_Cargo_Para;
+ _player_velocity = velocity (vehicle player);
+ [_x, _v, _last_attach_pos, _player_velocity] spawn IL_Cargo_Para;
}
else
{
@@ -1509,7 +1272,7 @@ if (isnil "IL_Procedures") then
{
_x forceSpeed -1;
};
-
+
_counter = _counter + (_x getVariable "slots");
if (_doors == "B") then
{
@@ -1528,9 +1291,9 @@ if (isnil "IL_Procedures") then
_v setVariable["box_r", _v, true];
_free_slots = abs((_v getVariable "slots_num_r") - (_v getVariable "box_num_r"));
};
-
+
[_v] call IL_SetNewMass;
-
+
_x setVariable["attachedPos", 0, true];
_x setVariable["attachedTruck", _x, true];
_x setVariable["doors", "N", true];
@@ -1539,7 +1302,7 @@ if (isnil "IL_Procedures") then
{
_x setDamage 0;
};
-
+
if (IL_CDamage == 1) then
{
_x setDamage _damage;
@@ -1549,22 +1312,23 @@ if (isnil "IL_Procedures") then
_x setDamage _damage;
};
};
- [_v, Format ["""%1"" was unloaded from the ""%2"". Free slots: ""%3"".", getText(configFile >> "cfgVehicles" >> typeOf _x >> "displayName"), getText(configFile >> "cfgVehicles" >> typeOf _v >> "displayName"), _free_slots], true] call IL_Vehicle_Chat;
[Player, IL_Unload_Score] call IL_Score;
sleep 1;
};
};
+ _IL_noti = getText(configFile >> "cfgVehicles" >> typeOf _x >> "displayName");
+ ["Success", format ["%1 successfully unloaded!",_IL_noti]] call ExileClient_gui_notification_event_addNotification;
+
if (_done) exitWith {};
} forEach (_obj_lst);
if (_skip) then
{
- [_v, "Can not find cargo. Try again."] call IL_Vehicle_Chat;
-
+
if (_counter < 0) then
{
_counter = _counter + 1;
};
-
+
if (_doors == "B") then
{
_v setVariable["box_num", _counter, true];
@@ -1586,25 +1350,19 @@ if (isnil "IL_Procedures") then
}
else
{
- [_v, "BOX 404 error. Box not found O.o. Vehicle data reset..."] call IL_Vehicle_Chat;
[_v, true] call IL_Init_Veh;
- [_v, "Vehicle data reset done."] call IL_Vehicle_Chat;
};
[_v] call IL_SetNewMass;
_v setVariable["can_load", true, true];
};
- IL_GetOut =
+ IL_Server_GetOut =
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" IL_GetOut.", IL_Script_Inst];
- };
-
private ["_v", "_player", "_para", "_chute", "_backpack", "_pos", "_x_offset", "_dist", "_dist_out", "_dist_out_para", "_velocity"];
- _v = _this select 0;
- _player = _this select 1;
+ _vars = _this select 1;
+ _v = _vars select 0;
+ _player = _vars select 1;
_para = if (count _this > 2) then {_this select 2} else {false};
if ((typeOf _v) in IL_Supported_Vehicles_MH9) then
@@ -1632,7 +1390,7 @@ if (isnil "IL_Procedures") then
_dist_out = 15;
_dist_out_para = 20;
};
-
+
_pos = (_v worldToModel (getPosATL _player));
_x_offset = _pos select 0;
if (_x_offset < 0) then
@@ -1657,13 +1415,13 @@ if (isnil "IL_Procedures") then
_x_offset = -8;
};
};
-
+
_player allowDamage false;
sleep 0.2;
unassignVehicle _player;
_player action ["EJECT",vehicle _player];
sleep 0.5;
-
+
if !(_para) then
{
_player setDir ((getDir _v) + 180);
@@ -1702,26 +1460,29 @@ if (isnil "IL_Procedures") then
};
};
_player allowDamage true;
-
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" IL_GetOut.", IL_Script_Inst];
- };
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" IL_GetOut. Player ATL: ""%2""", IL_Script_Inst, _pos];
- };
+
};
+ IL_GetOut = {
+ private ["_cargo", "_v", "_last_attach_pos"];
+ IL_Client_GetOut = _this;
+ if (isServer) then
+ {
+ IL_Client_GetOut spawn IL_Server_GetOut;
+ }
+ else
+ {
+ publicVariableServer "IL_Client_GetOut";
+ };
+ };
+ "IL_Client_GetOut" addPublicVariableEventHandler IL_GetOut;
+
};
-// Beschrieftung der Scrollrad Actions!!
+
_vsupported = false;
if (_obj_main_type in IL_Supported_Vehicles_MOHAWK) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_MOHAWK.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
@@ -1748,7 +1509,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MOHAWK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_this in (nearestObjects[ _target modelToWorld [0,-6,-3], [], IL_SDistL + IL_SDistL_Heli_offset])) && ((_target emptyPositions 'cargo') > 0) && (abs(speed _target) <= IL_LU_Speed) && (((getPos _target) select 2) <= IL_LU_Alt) && (_target animationPhase 'CargoRamp_Open' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
"Get out CH-49",
{
@@ -1764,7 +1525,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MOHAWK) then
},[],IL_Action_LU_Priority,false,true,"",
"('cargo' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (((getPosATL _target) select 2) >= IL_Para_Jump_ATL) && (_target animationPhase 'CargoRamp_Open' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
" Unload cargo from CH-49",
{
@@ -1780,7 +1541,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MOHAWK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num' < 0) && ((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot'))) && (_target getVariable 'can_load') && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL) && (_target animationPhase 'CargoRamp_Open' == 1)"
];
-
+
_obj_main addAction [
" Unload ALL cargo with parachute",
{
@@ -1807,7 +1568,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MOHAWK) then
},[],IL_Action_O_Priority,false,true,"",
"((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot')) || ((_this in (nearestObjects[ _target modelToWorld [0,-6,-3], [], IL_SDistL + IL_SDistL_Heli_offset])) && (_target getVariable 'can_outside'))) && (_target animationPhase 'CargoRamp_Open' == 1) && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
"Enable loading for Co-Pilot",
{
@@ -1823,7 +1584,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MOHAWK) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && (_target getVariable 'can_copilot') && IL_Can_CoPilot)"
];
-
+
_obj_main addAction [
"Enable loading from outside",
{
@@ -1858,10 +1619,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MOHAWK) then
};
if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_CHINOOK.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
@@ -1890,7 +1648,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_this in (nearestObjects[ _target modelToWorld [0,-9,-3], [], IL_SDistL + IL_SDistL_Heli_offset])) && ((_target emptyPositions 'cargo') > 0) && (abs(speed _target) <= IL_LU_Speed) && (((getPos _target) select 2) <= IL_LU_Alt) && (_target animationPhase 'ani_ramp' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
"Get in Chinook",
{
@@ -1901,7 +1659,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_this in (nearestObjects[ _target modelToWorld [0,-9,-3], [], IL_SDistL + IL_SDistL_Heli_offset])) && ((_target emptyPositions 'cargo') > 0) && (abs(speed _target) <= IL_LU_Speed) && (((getPos _target) select 2) <= IL_LU_Alt) && (_target animationPhase 'ani_ramp' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
"Get out Chinook",
{
@@ -1917,7 +1675,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"('cargo' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (((getPosATL _target) select 2) >= IL_Para_Jump_ATL) && (_target animationPhase 'ani_ramp' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
" Unload cargo from Chinook",
{
@@ -1933,7 +1691,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num' < 0) && ((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot'))) && (_target getVariable 'can_load') && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL) && (_target animationPhase 'ani_ramp' == 1)"
];
-
+
_obj_main addAction [
" Unload ALL cargo with parachute",
{
@@ -1988,7 +1746,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_this in (nearestObjects[ _target modelToWorld [0,-9,-3], [], IL_SDistL + IL_SDistL_Heli_offset])) && ((_target emptyPositions 'cargo') > 0) && (abs(speed _target) <= IL_LU_Speed) && (((getPos _target) select 2) <= IL_LU_Alt) && (_target animationPhase 'Ramp' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
"Get in Chinook",
{
@@ -1999,7 +1757,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_this in (nearestObjects[ _target modelToWorld [0,-9,-3], [], IL_SDistL + IL_SDistL_Heli_offset])) && ((_target emptyPositions 'cargo') > 0) && (abs(speed _target) <= IL_LU_Speed) && (((getPos _target) select 2) <= IL_LU_Alt) && (_target animationPhase 'Ramp' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
"Get out Chinook",
{
@@ -2015,7 +1773,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"('cargo' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (((getPosATL _target) select 2) >= IL_Para_Jump_ATL) && (_target animationPhase 'Ramp' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
" Unload cargo from Chinook",
{
@@ -2031,7 +1789,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num' < 0) && ((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot'))) && (_target getVariable 'can_load') && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL) && (_target animationPhase 'Ramp' == 1)"
];
-
+
_obj_main addAction [
" Unload ALL cargo with parachute",
{
@@ -2084,7 +1842,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_this in (nearestObjects[ _target modelToWorld [0,-9,-3], [], IL_SDistL + IL_SDistL_Heli_offset])) && ((_target emptyPositions 'cargo') > 0) && (abs(speed _target) <= IL_LU_Speed) && (((getPos _target) select 2) <= IL_LU_Alt) && (_target animationPhase 'Ani_Ramp' < 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
"Get in Chinook",
{
@@ -2095,7 +1853,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_this in (nearestObjects[ _target modelToWorld [0,-9,-3], [], IL_SDistL + IL_SDistL_Heli_offset])) && ((_target emptyPositions 'cargo') > 0) && (abs(speed _target) <= IL_LU_Speed) && (((getPos _target) select 2) <= IL_LU_Alt) && (_target animationPhase 'Ani_Ramp' < 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
"Get out Chinook",
{
@@ -2111,7 +1869,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"('cargo' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (((getPosATL _target) select 2) >= IL_Para_Jump_ATL) && (_target animationPhase 'Ani_Ramp' < 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
" Unload cargo from Chinook",
{
@@ -2127,7 +1885,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num' < 0) && ((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot'))) && (_target getVariable 'can_load') && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL) && (_target animationPhase 'Ani_Ramp' < 0.43)"
];
-
+
_obj_main addAction [
" Unload ALL cargo with parachute",
{
@@ -2155,7 +1913,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
"((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot')) || ((_this in (nearestObjects[ _target modelToWorld [0,-9,-3], [], IL_SDistL + IL_SDistL_Heli_offset])) && (_target getVariable 'can_outside'))) && (_target animationPhase 'Ani_Ramp' == 0) && (_target getVariable 'can_load')"
];
};
-
+
_obj_main addAction [
"Enable loading for Co-Pilot",
{
@@ -2171,7 +1929,7 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && (_target getVariable 'can_copilot') && IL_Can_CoPilot)"
];
-
+
_obj_main addAction [
"Enable loading from outside",
{
@@ -2206,13 +1964,10 @@ if (_obj_main_type in IL_Supported_Vehicles_CHINOOK) then
};
if (_obj_main_type in IL_Supported_Vehicles_C130J) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_C130J.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
-
+
if (_obj_main_type == "C130J") then
{
_obj_main addAction [
@@ -2231,7 +1986,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C130J) then
"('cargo' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL) && (_target animationPhase 'ramp_bottom' > 0.9) && (_target getVariable 'usable_ramp')"
];
};
-
+
_obj_main addAction [
" Load cargo on C-130J",
{
@@ -2263,7 +2018,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C130J) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num' < 0) && ((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot'))) && (_target getVariable 'can_load') && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL) && (_target animationPhase 'ramp_bottom' == 1) && (_target animationPhase 'ramp_top' == 1)"
];
-
+
_obj_main addAction [
" Unload ALL cargo with parachute",
{
@@ -2274,9 +2029,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C130J) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num' < 0) && ((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot'))) && (_target getVariable 'can_load') && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL) && (_target animationPhase 'ramp_bottom' == 1) && (_target animationPhase 'ramp_top' == 1)"
];
-
-
-
+
_obj_main addAction [
"Enable loading for Co-Pilot",
{
@@ -2292,7 +2045,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C130J) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && (_target getVariable 'can_copilot') && IL_Can_CoPilot)"
];
-
+
_obj_main addAction [
"Enable loading from outside",
{
@@ -2327,10 +2080,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C130J) then
};
if (_obj_main_type in IL_Supported_Vehicles_C17) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_C17.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
@@ -2357,7 +2107,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C17) then
},[],IL_Action_LU_Priority,false,true,"",
"(_this in (nearestObjects[ _target modelToWorld [0,-16.5 + IL_SDistL + IL_SDistL_Heli_offset,-2], [], IL_SDistL + IL_SDistL_Heli_offset])) && ((_target emptyPositions 'cargo') > 0) && (abs(speed _target) <= IL_LU_Speed) && (((getPos _target) select 2) <= IL_LU_Alt) && (_target animationPhase 'back_ramp' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
"Get out C17",
{
@@ -2373,7 +2123,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C17) then
},[],IL_Action_LU_Priority,false,true,"",
"('cargo' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL) && (_target animationPhase 'back_ramp' > 0.43) && (_target getVariable 'usable_ramp')"
];
-
+
_obj_main addAction [
" Unload cargo from C17",
{
@@ -2389,7 +2139,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C17) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num' < 0) && ((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot'))) && (_target getVariable 'can_load') && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL) && (_target animationPhase 'back_ramp' == 1)"
];
-
+
_obj_main addAction [
" Unload ALL cargo with parachute",
{
@@ -2407,7 +2157,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C17) then
_this select 0 animate ['back_ramp', 1];
_this select 0 animate ['back_ramp_door_main', 1];
_this select 0 animate ['back_ramp_st', 1];
-
+
},[],IL_Action_O_Priority,false,true,"",
"((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot')) || ((_this in (nearestObjects[ _target modelToWorld [0,-16.5 + IL_SDistL + IL_SDistL_Heli_offset,-2], [], IL_SDistL + IL_SDistL_Heli_offset])) && (_target getVariable 'can_outside'))) && (_target animationPhase 'back_ramp' == 0) && (_target getVariable 'can_load')"
];
@@ -2421,7 +2171,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C17) then
},[],IL_Action_O_Priority,false,true,"",
"((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot')) || ((_this in (nearestObjects[ _target modelToWorld [0,-16.5 + IL_SDistL + IL_SDistL_Heli_offset,-2], [], IL_SDistL + IL_SDistL_Heli_offset])) && (_target getVariable 'can_outside'))) && (_target animationPhase 'back_ramp' == 1) && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
"Enable loading for Co-Pilot",
{
@@ -2437,7 +2187,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C17) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && (_target getVariable 'can_copilot') && IL_Can_CoPilot)"
];
-
+
_obj_main addAction [
"Enable loading from outside",
{
@@ -2472,10 +2222,7 @@ if (_obj_main_type in IL_Supported_Vehicles_C17) then
};
if (_obj_main_type in IL_Supported_Vehicles_MH9) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_MH9.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
@@ -2505,7 +2252,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MH9) then
_obj_main addAction [
" Unload cargo from right MH-9",
- {
+ {
[_this select 0, false, "R"] call IL_Do_Unload;
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num_r' < 0) && ((IL_Can_Inside && (driver _target == _this)) || (IL_Can_Inside && ('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot')) || (((_this in (nearestObjects[ _target modelToWorld [0+3,1,-1.3], [], IL_SDistL + IL_SDistL_Heli_offset])) && (_target getVariable 'can_outside')))) && (_target getVariable 'can_load') && (abs(speed _target) <= IL_LU_Speed) && (((getPos _target) select 2) <= IL_LU_Alt)"
@@ -2518,7 +2265,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MH9) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num_l' < 0) && ((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot'))) && (_target getVariable 'can_load') && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL)"
];
-
+
_obj_main addAction [
" Unload cargo with parachute right MH-9",
{
@@ -2526,7 +2273,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MH9) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num_r' < 0) && ((driver _target == _this) || (('Turret' in (assignedVehicleRole _this)) && (vehicle _this == _target) && (_target getVariable 'can_copilot'))) && (_target getVariable 'can_load') && (((getPosATL _target) select 2) >= IL_Para_Drop_ATL)"
];
-
+
_obj_main addAction [
" Unload ALL cargo with parachute",
{
@@ -2559,7 +2306,7 @@ if (_obj_main_type in IL_Supported_Vehicles_MH9) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && (_target getVariable 'can_copilot') && IL_Can_CoPilot)"
];
-
+
_obj_main addAction [
"Enable loading from outside",
{
@@ -2595,13 +2342,10 @@ if (_obj_main_type in IL_Supported_Vehicles_MH9) then
};
if (_obj_main_type in IL_Supported_Vehicles_OFFROAD) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_OFFROAD.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
-
+
_obj_main addAction [
" Load cargo on Offroad",
{
@@ -2609,7 +2353,7 @@ if (_obj_main_type in IL_Supported_Vehicles_OFFROAD) then
},[],IL_Action_LU_Priority,true,true,"",
"(count(nearestObjects[ _target modelToWorld [0,-4.5,0], IL_Supported_Cargo_NonVeh_OFFROAD, IL_SDistL]) > 0) && (abs(speed _target) <= IL_LU_Speed) && ((IL_Can_Inside && (driver _target == _this)) || ((((_this in (nearestObjects[ _target modelToWorld [0,-4.5,0], [], IL_SDistL + IL_SDistL_Heli_offset]))) && (_target getVariable 'can_outside')))) && (_target getVariable 'box_num' > _target getVariable 'slots_num') && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
" Load vehicle on Offroad",
{
@@ -2617,7 +2361,7 @@ if (_obj_main_type in IL_Supported_Vehicles_OFFROAD) then
},[],IL_Action_LU_Priority,true,true,"",
"(count(nearestObjects[ _target modelToWorld [0,-4.5,0], IL_Supported_Cargo_Veh_OFFROAD, IL_SDistL]) > 0) && (abs(speed _target) <= IL_LU_Speed) && ((IL_Can_Inside && (driver _target == _this)) || ((((_this in (nearestObjects[ _target modelToWorld [0,-4.5,0], [], IL_SDistL + IL_SDistL_Heli_offset]))) && (_target getVariable 'can_outside')))) && (_target getVariable 'box_num' > _target getVariable 'slots_num') && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
" Unload cargo from Offroad",
{
@@ -2632,7 +2376,7 @@ if (_obj_main_type in IL_Supported_Vehicles_OFFROAD) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && !(_target getVariable 'can_outside') && IL_Can_Outside)"
];
-
+
_obj_main addAction [
"Disable loading from outside",
{
@@ -2643,13 +2387,10 @@ if (_obj_main_type in IL_Supported_Vehicles_OFFROAD) then
};
if (_obj_main_type in IL_Supported_Vehicles_VAN) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_VAN.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
-
+
_obj_main addAction [
" Load cargo on VAN",
{
@@ -2657,7 +2398,7 @@ if (_obj_main_type in IL_Supported_Vehicles_VAN) then
},[],IL_Action_LU_Priority,true,true,"",
"(count(nearestObjects[ _target modelToWorld [0,-4.5,0], IL_Supported_Cargo_NonVeh_VAN, IL_SDistL]) > 0) && (abs(speed _target) <= IL_LU_Speed) && ((IL_Can_Inside && (driver _target == _this)) || ((((_this in (nearestObjects[ _target modelToWorld [0,-4.5,0], [], IL_SDistL + IL_SDistL_Heli_offset]))) && (_target getVariable 'can_outside')))) && (_target getVariable 'box_num' > _target getVariable 'slots_num') && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
" Load vehicle on VAN",
{
@@ -2665,7 +2406,7 @@ if (_obj_main_type in IL_Supported_Vehicles_VAN) then
},[],IL_Action_LU_Priority,true,true,"",
"(count(nearestObjects[ _target modelToWorld [0,-4.5,0], IL_Supported_Cargo_Veh_VAN, IL_SDistL]) > 0) && (abs(speed _target) <= IL_LU_Speed) && ((IL_Can_Inside && (driver _target == _this)) || ((((_this in (nearestObjects[ _target modelToWorld [0,-4.5,0], [], IL_SDistL + IL_SDistL_Heli_offset]))) && (_target getVariable 'can_outside')))) && (_target getVariable 'box_num' > _target getVariable 'slots_num') && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
" Unload cargo from VAN",
{
@@ -2673,7 +2414,7 @@ if (_obj_main_type in IL_Supported_Vehicles_VAN) then
},[],IL_Action_LU_Priority,false,true,"",
"(_target getVariable 'box_num' < 0) && ((IL_Can_Inside && (driver _target == _this)) || (((_this in (nearestObjects[ _target modelToWorld [0,-4.5,0], [], IL_SDistL + IL_SDistL_Heli_offset])) && (_target getVariable 'can_outside')))) && (_target getVariable 'can_load') && (abs(speed _target) <= IL_LU_Speed)"
];
-
+
_obj_main addAction [
"Enable loading from outside",
{
@@ -2681,7 +2422,7 @@ if (_obj_main_type in IL_Supported_Vehicles_VAN) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && !(_target getVariable 'can_outside') && IL_Can_Outside)"
];
-
+
_obj_main addAction [
"Disable loading from outside",
{
@@ -2692,13 +2433,10 @@ if (_obj_main_type in IL_Supported_Vehicles_VAN) then
};
if (_obj_main_type in IL_Supported_Vehicles_KAMAZ) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_KAMAZ.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
-
+
_obj_main addAction [
" Load cargo on ZAMAK",
{
@@ -2706,7 +2444,7 @@ if (_obj_main_type in IL_Supported_Vehicles_KAMAZ) then
},[],IL_Action_LU_Priority,true,true,"",
"(count(nearestObjects[ _target modelToWorld [0,-6 - (_target getVariable 'load_offset'),0], IL_Supported_Cargo_NonVeh_Kamaz, IL_SDistL]) > 0) && (abs(speed _target) <= IL_LU_Speed) && ((IL_Can_Inside && (driver _target == _this)) || ((((_this in (nearestObjects[ _target modelToWorld [0,-6 - (_target getVariable 'load_offset'),0], [], IL_SDistL + IL_SDistL_Heli_offset]))) && (_target getVariable 'can_outside')))) && (_target getVariable 'box_num' > _target getVariable 'slots_num') && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
" Load vehicle on ZAMAK",
{
@@ -2714,7 +2452,7 @@ if (_obj_main_type in IL_Supported_Vehicles_KAMAZ) then
},[],IL_Action_LU_Priority,true,true,"",
"(count(nearestObjects[ _target modelToWorld [0,-6 - (_target getVariable 'load_offset'),0], IL_Supported_Cargo_Veh_Kamaz, IL_SDistL]) > 0) && (abs(speed _target) <= IL_LU_Speed) && ((IL_Can_Inside && (driver _target == _this)) || ((((_this in (nearestObjects[ _target modelToWorld [0,-6 - (_target getVariable 'load_offset'),0], [], IL_SDistL + IL_SDistL_Heli_offset]))) && (_target getVariable 'can_outside')))) && (_target getVariable 'box_num' > _target getVariable 'slots_num') && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
" Unload cargo from ZAMAK",
{
@@ -2729,7 +2467,7 @@ if (_obj_main_type in IL_Supported_Vehicles_KAMAZ) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && !(_target getVariable 'can_outside') && IL_Can_Outside)"
];
-
+
_obj_main addAction [
"Disable loading from outside",
{
@@ -2740,13 +2478,10 @@ if (_obj_main_type in IL_Supported_Vehicles_KAMAZ) then
};
if (_obj_main_type in IL_Supported_Vehicles_TEMPEST) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_TEMPEST.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
-
+
_obj_main addAction [
" Load cargo on TEMPEST",
{
@@ -2754,7 +2489,7 @@ if (_obj_main_type in IL_Supported_Vehicles_TEMPEST) then
},[],IL_Action_LU_Priority,true,true,"",
"(count(nearestObjects[ _target modelToWorld [0,-6.5 - (_target getVariable 'load_offset'),0], IL_Supported_Cargo_NonVeh_TEMPEST, IL_SDistL]) > 0) && (abs(speed _target) <= IL_LU_Speed) && ((IL_Can_Inside && (driver _target == _this)) || ((((_this in (nearestObjects[ _target modelToWorld [0,-6.5 - (_target getVariable 'load_offset'),0], [], IL_SDistL + IL_SDistL_Heli_offset]))) && (_target getVariable 'can_outside')))) && (_target getVariable 'box_num' > _target getVariable 'slots_num') && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
" Load vehicle on TEMPEST",
{
@@ -2762,7 +2497,7 @@ if (_obj_main_type in IL_Supported_Vehicles_TEMPEST) then
},[],IL_Action_LU_Priority,true,true,"",
"(count(nearestObjects[ _target modelToWorld [0,-6.5 - (_target getVariable 'load_offset'),0], IL_Supported_Cargo_Veh_TEMPEST, IL_SDistL]) > 0) && (abs(speed _target) <= IL_LU_Speed) && ((IL_Can_Inside && (driver _target == _this)) || ((((_this in (nearestObjects[ _target modelToWorld [0,-6.5 - (_target getVariable 'load_offset'),0], [], IL_SDistL + IL_SDistL_Heli_offset]))) && (_target getVariable 'can_outside')))) && (_target getVariable 'box_num' > _target getVariable 'slots_num') && (_target getVariable 'can_load')"
];
-
+
_obj_main addAction [
" Unload cargo from TEMPEST",
{
@@ -2777,7 +2512,7 @@ if (_obj_main_type in IL_Supported_Vehicles_TEMPEST) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && !(_target getVariable 'can_outside') && IL_Can_Outside)"
];
-
+
_obj_main addAction [
"Disable loading from outside",
{
@@ -2788,10 +2523,7 @@ if (_obj_main_type in IL_Supported_Vehicles_TEMPEST) then
};
if (_obj_main_type in IL_Supported_Vehicles_HEMTT) then
{
- if (IL_DevMod) then
- {
- Player globalChat Format["IgiLoad ""%1"" Vehicle is in IL_Supported_Vehicles_HEMTT.", IL_Script_Inst];
- };
+
_vsupported = true;
[_obj_main] call IL_Init_Veh;
@@ -2834,15 +2566,4 @@ if (_obj_main_type in IL_Supported_Vehicles_HEMTT) then
},[],IL_Action_S_Priority,false,true,"",
"((driver _target == _this) && (_target getVariable 'can_outside') && IL_Can_Outside)"
];
-};
-
-if (!(_vsupported) && (IL_DevMod)) then
-{
- Player globalChat Format["Object type: ""%1"" is not supported.", _obj_main_type];
-};
-
-if (IL_DevMod) then
-{
- Player globalChat Format["IgiLoad ""%1"" END.", IL_Script_Inst];
-};
-// EOF
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/Igiload/IgiLoadInit.sqf b/Igiload/IgiLoadInit.sqf
index 871218d..a0c58b5 100644
--- a/Igiload/IgiLoadInit.sqf
+++ b/Igiload/IgiLoadInit.sqf
@@ -7,10 +7,11 @@ waitUntil { time > 0 };
IL_EV_Count = 0;
IL_Veh_Array = [];
-cutText ["IgiLoad is loading. Please wait...","PLAIN",2];
+
+//cutText ["IgiLoad is loading. Please wait...","PLAIN",2];
sleep (random 30);
-cutText [Format ["IgiLoad init Player: %1", Player],"PLAIN",2];
+//cutText [Format ["IgiLoad init Player: %1", Player],"PLAIN",2];
_null = [Player] execVM "IgiLoad\IgiLoad.sqf";
waitUntil {scriptDone _null};
@@ -26,7 +27,8 @@ sleep (random (IL_Check_Veh_Max - IL_Check_Veh_Min));
};
} forEach (vehicles);
-cutText ["IgiLoad loaded. Have fun :)","PLAIN",2];
+call compileFinal preprocessFileLineNumbers "IgiLoad\IgiLoadTaru.sqf";
+//cutText ["IgiLoad loaded. Have fun :)","PLAIN",2];
while {true} do
{
diff --git a/Igiload/IgiLoadTaru.sqf b/Igiload/IgiLoadTaru.sqf
new file mode 100644
index 0000000..c92a8b1
--- /dev/null
+++ b/Igiload/IgiLoadTaru.sqf
@@ -0,0 +1,478 @@
+/*
+This script is based on Xeno Taru mod from NorX Aengell.
+http://www.armaholic.com/page.php?id=27532
+
+Original author: NorX Aengell
+Rewrite and Epoch adaptation: Slayer
+
+*/
+
+IL_Taru_DevMod = false;
+
+//above this altitude dropping with parachute
+IL_Taru_Parachute_Altitude = 70;
+
+//open parachute when altitude is less or equal this parameter
+IL_Taru_Parachute_Open_Altitude = 120;
+//IL_Taru_Parachute_Altitude must be greater then IL_Taru_Parachute_Open_Altitude
+
+IL_Taru_Disable_Deattaching_Altitude = 3;
+//Not posible to deattach when altitude is extrely low, because new position of pod will be under terrain level.
+//Recomended values are between 3 and 10.
+
+if (hasInterface && !isDedicated) then {
+ if (IL_Taru_DevMod) then {
+ diag_log "Igi Load Taru started";
+ };
+
+ IL_Taru_Init =
+ {
+ waituntil
+ {
+ sleep 2;
+
+ {
+ if (isnil {_x getVariable "IL_Taru_Action_Attach"}) then
+ {
+ _x setVariable ["IL_Taru_Action_Attach",true,false];
+
+ IL_Taru_Action_Attach = _x addAction [" Attach the Pod", "[""attach"",_this] call IL_Taru_Do_Action;", nil, 2, false, true, "",
+ "[_this] call IL_Verify_Heli and {[vehicle _this] call IL_Verify_Pod} and {!([vehicle _this] call IL_Verify_Attached_Object)}"];
+ };
+
+ if (isnil {_x getVariable "IL_Taru_Action_Deattach"}) then
+ {
+ _x setVariable ["IL_Taru_Action_Deattach",true,false];
+
+ IL_Taru_Action_Deattach = _x addAction [" Detach the Pod", "[""deattach"",_this] call IL_Taru_Do_Action;", nil, 2, false, true, "",
+ "[_this] call IL_Verify_Heli and [_this] call IL_Verify_Altitude and {[vehicle _this] call IL_Verify_Attached_Object}"];
+ };
+
+ if (isnil {_x getVariable "IL_Taru_Action_Drop"}) then
+ {
+ _x setVariable ["IL_Taru_Action_Drop",true,false];
+
+ IL_Taru_Action_Drop = _x addAction [" Drop the Pod", "[""drop"",_this] call IL_Taru_Do_Action;", nil, 2, false, true, "",
+ "[_this] call IL_Verify_Heli and {[vehicle _this] call IL_Verify_Attached_Object}"];
+ };
+ } foreach units group player;
+ };
+ };
+
+ IL_Verify_Attached_Object =
+ {
+ if (IL_Taru_DevMod) then {
+ diag_log "IL_Verify_Attached_Object called";
+ };
+ _helico = (_this select 0);
+ _object_Verifier = false;
+ if (count (attachedObjects _helico) isEqualTo 0) exitwith {_object_Verifier};
+ {
+ if (_x isKindOf "Pod_Heli_Transport_04_base_F") exitwith {_object_Verifier = true;};
+ } foreach attachedObjects _helico;
+ if (IL_Taru_DevMod) then {
+ diag_log format["IL_Verify_Attached_Object returns %1",_object_Verifier];
+ };
+ _object_Verifier
+ };
+
+ IL_Verify_Pod =
+ {
+ if (IL_Taru_DevMod) then {
+ diag_log "IL_Verify_Pod called";
+ };
+ _pod = getSlingLoad (_this select 0);
+ _pod_Verifier = false;
+ if (isnull (getSlingLoad vehicle player)) exitwith {_pod_Verifier};
+ if (_pod isKindOf "Pod_Heli_Transport_04_base_F") then {_pod_Verifier = true;};
+ if (IL_Taru_DevMod) then {
+ diag_log format["IL_Verify_Pod returns %1",_pod_Verifier];
+ };
+ _pod_Verifier
+ };
+
+ IL_Verify_Heli =
+ {
+ if (IL_Taru_DevMod) then {
+ diag_log "IL_Verify_Heli called";
+ };
+ _helico = vehicle (_this select 0);
+ _helico_Verifier = false;
+ if (_helico isKindOf "Heli_Transport_04_base_F") then {_helico_Verifier = true;};
+ if (IL_Taru_DevMod) then {
+ diag_log format["IL_Verify_Heli returns %1",_helico_Verifier];
+ };
+ _helico_Verifier
+ };
+
+ IL_Verify_Altitude = {
+ if (IL_Taru_DevMod) then {
+ diag_log "IL_Verify_Altitude called";
+ };
+ _helico = vehicle (_this select 0);
+ _allow_deattach = false;
+ if ((getPosATL _helico) select 2 > IL_Taru_Disable_Deattaching_Altitude) then {_allow_deattach = true;};
+ if (IL_Taru_DevMod) then {
+ diag_log format["IL_Verify_Altitude returns %1",_allow_deattach];
+ };
+ _allow_deattach
+ };
+
+ IL_Taru_Do_Action =
+ {
+ _action = _this select 0;
+ _helico = "";
+
+ if (typename (_this select 1) isEqualTo "OBJECT") then {_helico = vehicle (_this select 1);};
+ if (typename (_this select 1) isEqualTo "ARRAY") then {_helico = vehicle ((_this select 1) select 0);};
+
+ _cables = ropes _helico;
+
+ if (ropeUnwound (_cables select 0)) then
+ {
+ [_action, _helico] call IL_Pod_Manager;
+ };
+ };
+
+ IL_Taru_Transmission =
+ {
+ private ["_soundToPlay", "_helico", "_soundToPlay","_args","_pod"];
+ _args = _this select 1;
+ _helico = vehicle (_args select 1);
+ _soundPath = [(str missionConfigFile), 0, -15] call BIS_fnc_trimString;
+
+ switch (_args select 0) do {
+ case 'rope_unwind': {
+ _pod = _args select 2;
+ _helico disableCollisionWith _pod;
+ {ropeUnwind [_x, _args select 3, _args select 4];} foreach ropes _helico;
+ sleep 4;
+ _helico enableCollisionWith _pod;
+ };
+ case 'rope_unwind_and_wait': {
+ _pod = _args select 2;
+ _helico disableCollisionWith _pod;
+ {ropeUnwind [_x, _args select 3, _args select 4];} foreach ropes _helico;
+ waituntil {ropeLength ((ropes _helico) select 0) isEqualTo 1};
+ sleep 4;
+ _helico enableCollisionWith _pod;
+ };
+ case 'chat_attach': {
+ if (!(player in crew _helico)) exitWith{};
+ ["Success",["Pod successfully attached!"]] call ExileClient_gui_notification_event_addNotification;
+ };
+ case 'chat_deattach': {
+ if (!(player in crew _helico)) exitWith{};
+ ["Success",["Pod successfully dettached!"]] call ExileClient_gui_notification_event_addNotification;
+ };
+ case 'chat_drop_with_parachute': {
+ if (!(player in crew _helico)) exitWith{};
+ ["Success",["Pod Paradropt!"]] call ExileClient_gui_notification_event_addNotification;
+ };
+ case 'chat_drop_without_parachute': {
+ if (!(player in crew _helico)) exitWith{};
+ ["Success",["Pod drop without Parachut!"]] call ExileClient_gui_notification_event_addNotification;
+ };
+ case 'sound_attach': {
+ if (!(player in crew _helico)) exitWith{};
+ _soundToPlay = _soundPath + "IgiLoad\sounds\attach.wss";
+ playSound3D [_soundToPlay, _helico, false, getPosATL _helico, 10, 1, 0];
+ };
+ case 'sound_deattach': {
+ if (!(player in crew _helico)) exitWith{};
+ _soundToPlay = _soundPath + "IgiLoad\sounds\deattach.wss";
+ playSound3D [_soundToPlay, _helico, false, getPosATL _helico, 10, 1, 0];
+ };
+ case 'sound_drop': {
+ if (!(player in crew _helico)) exitWith{};
+ _soundToPlay = _soundPath + "IgiLoad\sounds\drop.wss";
+ playSound3D [_soundToPlay, _helico, false, getPosATL _helico, 10, 1, 0];
+ };
+ };
+ };
+
+ waitUntil {!isNull player};
+ [] spawn IL_Taru_Init;
+ IL_Taru_EH_Respawn = player addEventHandler ["Respawn", "[] spawn IL_Taru_Init;"];
+};
+
+IL_Pod_Manager = {
+ IL_CLient_Pod_Manager = _this;
+ if (isDedicated || isServer) then
+ {
+ IL_CLient_Pod_Manager spawn IL_Server_Pod_Manager;
+ }
+ else
+ {
+ publicVariableServer "IL_CLient_Pod_Manager";
+ };
+};
+"IL_Client_Pod_Manager" addPublicVariableEventHandler IL_Pod_Manager;
+
+IL_Client_Control = {
+ private ["_nearBy","_heli","_heli_pos"];
+ IL_Server_Client_Control = _this;
+ if (hasInterface && !isDedicated) then
+ {
+ IL_Server_Client_Control spawn IL_Taru_Transmission; Exile_
+ }
+ else
+ {
+ _heli = IL_Server_Client_Control select 1;
+ _nearBy = (getPosATL _heli) nearEntities [["Exile_Unit_Player","LandVehicle","Ship","Air"], 300];
+ {
+ if (isPlayer _x) then {
+ (owner _x) publicVariableClient "IL_Server_Client_Control";
+ };
+ } forEach _nearBy;
+ };
+};
+"IL_Server_Client_Control" addPublicVariableEventHandler IL_Client_Control;
+
+
+if (isDedicated || isServer) then {
+ if (IL_Taru_DevMod) then {
+ diag_log "Igi Load Taru started";
+ };
+
+ IL_Server_Pod_Manager = {
+ private ["_args"];
+ _args = _this select 1;
+ switch (_args select 0) do {
+ case "attach": {
+ [_args select 1] spawn IL_Taru_Attach_Pod;
+ };
+ case "deattach": {
+ [_args select 1] spawn IL_Taru_Deattach_Pod;
+ };
+ case "drop": {
+ [_args select 1] spawn IL_Taru_Drop_Pod;
+ };
+ };
+ };
+
+ IL_Taru_Attach_Pod =
+ {
+ _helico = _this select 0;
+ _pod = getSlingLoad _helico;
+ _mass_of_pod = getmass getSlingLoad _helico;
+ _mass_of_heli = getmass _helico;
+
+ if (!isTouchingGround _helico) then
+ {
+
+ ["sound_attach", _helico] call IL_Client_Control;
+ ["rope_unwind_and_wait", _helico, _pod, 1.9, 1, 1] call IL_Client_Control;
+ sleep 1;
+ {ropeUnwind [_x, 1.9, 1];} foreach ropes _helico;
+
+ waituntil {ropeLength (ropes _helico select 0) isEqualTo 1};
+
+ };
+
+ _helico disableCollisionWith _pod;
+ [] call {
+ _pod_type = typeOf _pod;
+ if (_pod_type isEqualTo "Land_Pod_Heli_Transport_04_bench_F") exitwith
+ {
+ _pod attachTo [_helico,[0,0.1,-1.13]];
+ _helico setCustomWeightRTD 680;
+ _helico setmass _mass_of_pod + _mass_of_heli;
+ };
+
+ if (_pod_type isEqualTo "Land_Pod_Heli_Transport_04_covered_F") exitwith
+ {
+ _pod attachTo [_helico,[-0.1,-1.05,-0.82]];
+ _helico setCustomWeightRTD 1413;
+ _helico setmass _mass_of_pod + _mass_of_heli;
+ };
+
+ if (_pod_type isEqualTo "Land_Pod_Heli_Transport_04_fuel_F") exitwith
+ {
+ _pod attachTo [_helico,[0,-0.282,-1.25]];
+ _helico setCustomWeightRTD 13311;
+ _helico setmass _mass_of_pod + _mass_of_heli;
+ };
+
+ if (_pod_type isEqualTo "Land_Pod_Heli_Transport_04_medevac_F") exitwith
+ {
+ _pod attachTo [_helico,[-0.14,-1.05,-0.92]];
+ _helico setCustomWeightRTD 1321;
+ _helico setmass _mass_of_pod + _mass_of_heli;
+ };
+
+ if (_pod_type in ["Land_Pod_Heli_Transport_04_repair_F","Land_Pod_Heli_Transport_04_box_F","Land_Pod_Heli_Transport_04_ammo_F"]) exitwith
+ {
+ _pod attachTo [_helico,[-0.09,-1.05,-1.1]];
+ _helico setCustomWeightRTD 1270;
+ _helico setmass _mass_of_pod + _mass_of_heli;
+ };
+ };
+
+ ["rope_unwind", _helico, _pod, 250, 1] call IL_Client_Control;
+ sleep 1;
+ {ropeUnwind [_x, 250, 1];} foreach ropes _helico;
+ _helico enableCollisionWith _pod;
+ ["sound_attach", _helico] call IL_Client_Control;
+ ["chat_attach", _helico] call IL_Client_Control;
+
+ if (isnil {_helico getVariable "EH_GetOut_Taru"}) then
+ {
+ _helico addEventHandler ["Getin", "[_this] spawn IL_Taru_GetIn;"];
+ _helico setVariable ["EH_GetIn_Taru", true, false];
+ };
+ };
+
+ IL_Taru_Deattach_Pod =
+ {
+ _helico = _this select 0;
+ _attached_object = [];
+ _mass_of_heli = getmass _helico;
+ {
+ if (_x isKindOf "Pod_Heli_Transport_04_base_F") exitwith {_attached_object = _x;};
+ } foreach attachedObjects _helico;
+
+ _mass_of_pod = getmass _attached_object;
+ _helico disableCollisionWith _attached_object;
+
+ [] call {
+ _pod_type = typeOf _attached_object;
+ if (_pod_type isEqualTo "Land_Pod_Heli_Transport_04_bench_F") exitwith
+ {
+ _attached_object attachTo [_helico,[0,0.1,-2.83]];
+ };
+
+ if (_pod_type isEqualTo "Land_Pod_Heli_Transport_04_covered_F") exitwith
+ {
+ _attached_object attachTo [_helico,[-0.1,-1.05,-2.52]];
+ };
+
+ if (_pod_type isEqualTo "Land_Pod_Heli_Transport_04_fuel_F") exitwith
+ {
+ _attached_object attachTo [_helico,[0,-0.282,-3.05]];
+ };
+
+ if (_pod_type isEqualTo "Land_Pod_Heli_Transport_04_medevac_F") exitwith
+ {
+ _attached_object attachTo [_helico,[-0.14,-1.05,-2.62]];
+ };
+
+ if (_pod_type in ["Land_Pod_Heli_Transport_04_repair_F","Land_Pod_Heli_Transport_04_box_F","Land_Pod_Heli_Transport_04_ammo_F"]) exitwith
+ {
+ _attached_object attachTo [_helico,[-0.09,-1.05,-2.8]];
+ };
+ };
+
+ ["rope_unwind", _helico, _attached_object, 1,9, 10] call IL_Client_Control;
+ sleep 1;
+ {
+ ropeUnwind [_x, 1.9, 10];
+ } foreach ropes _helico;
+ ["sound_deattach", _helico] call IL_Client_Control;
+
+ _helico setCustomWeightRTD 0;
+ _helico setmass _mass_of_heli - _mass_of_pod;
+ ["sound_deattach", _helico] call IL_Client_Control;
+ ["chat_deattach", _helico] call IL_Client_Control;
+ detach _attached_object;
+ sleep 4;
+ _helico enableCollisionWith _attached_object;
+ //if (!isTouchingGround _helico) then {waituntil {ropeLength (ropes _helico select 0) isEqualTo 10};};
+ };
+
+ IL_Taru_Drop_Pod =
+ {
+ _helico = _this select 0;
+ _attached_object = [];
+
+ {
+ if (_x isKindOf "Pod_Heli_Transport_04_base_F") exitwith {_attached_object = _x;};
+ } foreach attachedObjects _helico;
+
+ _helico disableCollisionWith _attached_object;
+ {ropeCut [_x, 0];} foreach ropes _helico;
+ _helico setCustomWeightRTD 0;
+ ["sound_drop", _helico] call IL_Client_Control;
+ detach _attached_object;
+ sleep 4;
+ _helico enableCollisionWith _attached_object;
+
+ sleep 0.5;
+
+ if ((getPosATL _attached_object) select 2 >= IL_Taru_Parachute_Altitude) exitwith
+ {
+ ["chat_drop_with_parachute", _helico] call IL_Client_Control;
+
+ waituntil {(getPosATL _attached_object) select 2 <= IL_Taru_Parachute_Open_Altitude};
+
+ _parachute = createVehicle ["B_Parachute_02_F",getposatl _attached_object, [], 0, "CAN COLLIDE"];
+ _parachute attachTo [_attached_object,[0,0,-1]];
+
+ [_attached_object,_parachute,_helico] spawn
+ {
+ _attached_object = _this select 0;
+ _parachute = _this select 1;
+ _helico = _this select 2;
+
+ waituntil
+ {
+ if ((getPosATL _attached_object) select 2 <= 5) exitwith
+ {
+ detach _attached_object;
+ _vitesse_nacelle = velocity _attached_object;
+ _parachute setVelocity [_vitesse_nacelle select 0 + 1, _vitesse_nacelle select 1 + 1, 0];
+ true
+ };
+ false
+ };
+ };
+
+ waituntil
+ {
+ if (getposasl _helico distance getposasl _attached_object >= 50) exitwith
+ {
+ detach _parachute;
+ _attached_object attachTo [_parachute,[0,0,-1]];
+ true
+ };
+ false
+ };
+ };
+
+ ["chat_drop_without_parachute", _helico] call IL_Client_Control;
+ };
+
+ IL_Taru_GetIn =
+ {
+ _vehicle = _this select 0 select 0;
+ if ([_vehicle] call IL_Verify_Heli) then
+ {
+ if (count attachedObjects _vehicle > 0) then
+ {
+ _time = time + 2;
+ waituntil
+ {
+ _vehicle setvelocity [0, 0, 0];
+ if (time > _time or {time > _time + 15}) exitwith {true};
+ };
+ };
+ };
+ };
+
+ IL_Save_Pod_Position =
+ {
+ while{true}do {
+ sleep 20;
+ {
+ sleep 2;
+ //when you dropping with parachute or deattaching pod without player, new position of the pod is not saved to db.
+ //with following ugly hack we are saving pod position every 20 seconds
+ if (_x isKindOf "Pod_Heli_Transport_04_base_F") then {
+ _x call ExileServer_object_vehicle_database_update;
+ };
+ } forEach vehicles;
+ };
+ };
+
+ [] spawn IL_Save_Pod_Position;
+};
diff --git a/Igiload/sounds/attach.wss b/Igiload/sounds/attach.wss
new file mode 100644
index 0000000..2f66405
Binary files /dev/null and b/Igiload/sounds/attach.wss differ
diff --git a/Igiload/sounds/deattach.wss b/Igiload/sounds/deattach.wss
new file mode 100644
index 0000000..994115d
Binary files /dev/null and b/Igiload/sounds/deattach.wss differ
diff --git a/Igiload/sounds/drop.wss b/Igiload/sounds/drop.wss
new file mode 100644
index 0000000..492b6a9
Binary files /dev/null and b/Igiload/sounds/drop.wss differ