/****************************************************************************** * ,1 ,-===========. * /,| ___________((____________\\_ _ * ,========.________//_|/===========._#############L_Y_....-----====// * (#######(==========\################\=======.______ --############(( * `=======`" ` ===============|::::.___|[ ))[JW]#############\\ * |####| ""\###| :##########\\ * /####/ \##\ ```"""=,,,)) * C R E A T E D B Y B T K /####/ \##\ * '====' `=` ******************************************************************************* * * The main script engine. This file executes the load AND drop functions... * ******************************************************************************/ /// Include the Objects Setup #include "Settings_Objects.sqf"; //// Variables _Transporter = _this select 0; _TransporterType = typeOf _Transporter; _TransporterName = getText (configFile >> "CfgVehicles" >> (typeOf _Transporter) >> "displayName"); _Unit = _this select 1; _Action = _this select 2; _Selected = (_this select 3) select 0; //_Dir = random 359; /// Create variables for Transporter Setup detection _SelectedTransporterTypeS = false;_SelectedTransporterTypeM = false;_SelectedTransporterTypeL = false;_SelectedTransporterTypeXL = false; /// Include the Transporter Setup #include "Settings_Transporter.sqf"; OL_Tow_Vcl_Settings = [ [["tahoe_pink", "nigga2", "nigga3"], [0,0,0]], [["faggot1", "faggot2", "faggot3"], [0,0,1]], [["asshole1", "asshole2", "asshole3"], [0,1,0]] ]; fnc_GetVclArrayIndex = { _vcl = _this select 0; for[{_c=0},{_c < count OL_Tow_Vcl_Settings},{_c=_c+1}]do{ _index = OL_Tow_Vcl_Settings select _c; { if (_x == _vcl) then { exitWith { (_index) select 1;}; } } foreach _index select 0; }; false; }; //// Supported types if (!(_SelectedTransporterTypeS) && !(_SelectedTransporterTypeM) && !(_SelectedTransporterTypeL) && !(_SelectedTransporterTypeXL)) exitWith { //// BTK_Hint - Not supported hint parseText format [" Cargo Drop This vehicle does not support cargo transports! "]; _Transporter removeAction _Action; }; sleep 1; //// Unit in transporter if ((_Unit in _Transporter) && !(_Selected == "UnloadCargo")) exitWith { //// BTK_Hint - You have to get out hint parseText format [" Cargo Drop You have to get out to load cargo! "]; _Transporter removeAction _Action; }; //// Unload function if (_Selected == "UnloadCargo") exitWith { //// 2low if (!((getpos _Transporter) select 2 <= 2.1) && ((getpos _Transporter) select 2 <= 50)) exitWith { //// BTK_Hint - Flying too low hint parseText format [" Cargo Drop You have to fly above 50m to drop the cargo!
Or hover below 2m to unload the cargo! "]; }; _Transporter removeAction _Action; if ((getpos _Transporter) select 2 <= 1.5) then { UnloadCargo = true; DoUnload = true; _Transporter setVariable ["BTK_CargoDrop_ActionAdded", false]; _Transporter setVariable ["BTK_CargoDrop_TransporterLoaded", false]; } else { UnloadCargo = true; DoDrop = true; _Transporter setVariable ["BTK_CargoDrop_ActionAdded", false]; _Transporter setVariable ["BTK_CargoDrop_TransporterLoaded", false]; }; }; /****************************************************************************** * Load in - Small ******************************************************************************/ if ((_Selected == "LoadCargo") && (_SelectedTransporterTypeS)) exitWith { //// Get nearest objects _TransporterPos = _Transporter modelToWorld [0,0,0]; _ObjectsInRange = nearestObjects [_Transporter, _ObjectsS, 15]; //// If no objects, exit with if (count _ObjectsInRange < 1) exitWith { //// BTK_Hint - Nothing to load in range hint parseText format [" Cargo Drop Nothing to load in range!

Please move the object closer to the transporter.
"]; }; //// Else, select the object from list _Object = _ObjectsInRange select 0; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", true]; _Transporter setVariable ["BTK_CargoDrop_TransporterLoaded", true]; //// Get the object name _ObjectName = getText (configFile >> "CfgVehicles" >> (typeOf _Object) >> "displayName"); //// BTK_Hint - Loading in... hint parseText format [" Cargo Drop Loading %1 into %2 ... ",_ObjectName,_TransporterName]; //// remove the Action _Transporter removeAction _Action; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Attach object to transporter sleep 3; _pos = [typeof _Object] call fnc_GetVclArrayIndex; if (_pos != false) then { _Object attachTo [_transporter, _pos]; } else { _Object attachTo [_transporter, [0,-5,0.5]]; } /* //// Chinook/Car fix if (_Object isKindOf "Car" || _Object isKindOf "Truck" || _Object isKindOf "Wheeled_APC") then { if (_Object isKindOf "ATV_US_EP1") then { _Object attachTo [_Transporter,[0,-2.4,2.1]]; }; } else { //// Fix for F35 if (_Transporter isKindOf "F35_base") then { _Object attachTo [_Transporter,[0,0.5,3]]; } else { _Object attachTo [_Transporter,[0,0.5,3]]; }; }; */ _Object enableSimulation false; //// Disable R3F _Object setVariable ["R3F_LOG_disabled", true]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Loaded hint parseText format [" Cargo Drop %1 loaded. ", _ObjectName,_TransporterName]; //// add unload/drop Action _UnloadAction = _Transporter addAction [("" + ("Release Vehicle") + ""),"BTK\Cargo Drop\Engine.sqf",["UnloadCargo"], 5]; //// Wait until unload waitUntil {UnloadCargo || !(alive _Transporter) || !(alive _Object)}; //// If destroyed if (!(alive _Transporter) || !(alive _Object)) exitWith {}; //// If unload if (DoUnload) then { //// Reset variables DoUnload = false; DoDrop = false; UnloadCargo = false; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", false]; _Object enableSimulation true; //// BTK_Hint - Unloading... hint parseText format [" Cargo Drop Unloading %1 from %2 ... ",_ObjectName,_TransporterName]; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Detach object sleep 3; _Object attachTo [_Transporter,[0,-12,0]]; sleep 0.2; deTach _Object; sleep 0.2; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),0]; //// Enable R3F _Object setVariable ["R3F_LOG_disabled", false]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Unloaded hint parseText format [" Cargo Drop %1 unloaded. ",_ObjectName,_TransporterName]; }; //// If drop if (DoDrop) then { //// BTK_Hint - Dropping... hint parseText format [" Cargo Drop Dropping %1 ... ",_ObjectName,_TransporterName]; //// Reset variables DoUnload = false; DoDrop = false; UnloadCargo = false; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", false]; _Object enableSimulation true; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Detach object (drop) sleep 2; _Object setVariable ["R3F_LOG_disabled", false]; deTach _Object; _Object attachTo [_Transporter,[0,-21,0]]; sleep 0.1; deTach _Object; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),(getPos _Object select 2)-6]; //// Create parachute and smoke sleep 2; _Parachute = "ParachuteBigWest" createVehicle position _Object; _Parachute setPos (getPos _Object); _BlueSmoke = "SmokeShellBlue" createVehicle position _Object; _BlueSmoke setPos (getPos _Object); _Object attachTo [_Parachute,[0,0,-1.5]]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Dropped hint parseText format [" Cargo Drop %1 dropped. ",_ObjectName,_TransporterName]; //// Wait until ground reached waitUntil {(getPos _Object select 2) < 2}; deTach _Object; sleep 3; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),0.001]; //// Enable R3F _Object setVariable ["R3F_LOG_disabled", false]; //// Delete parachute and smoke sleep 15; deleteVehicle _BlueSmoke; deleteVehicle _Parachute; }; }; /****************************************************************************** * Load in - Medium ******************************************************************************/ if ((_Selected == "LoadCargo") && (_SelectedTransporterTypeM)) exitWith { //// Get nearest objects _TransporterPos = _Transporter modelToWorld [0,0,0]; _ObjectsInRange = nearestObjects [_Transporter, _ObjectsM, 15]; //// If no objects, exit with if (count _ObjectsInRange < 1) exitWith { //// BTK_Hint - Nothing to load in range hint parseText format [" Cargo Drop Nothing to load in range!

Please move the object closer to the transporter.
"]; }; //// Else, select the object from list _Object = _ObjectsInRange select 0; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", true]; _Transporter setVariable ["BTK_CargoDrop_TransporterLoaded", true]; //// Get the object name _ObjectName = getText (configFile >> "CfgVehicles" >> (typeOf _Object) >> "displayName"); //// BTK_Hint - Loading in... hint parseText format [" Cargo Drop Loading %1 into %2 ... ",_ObjectName,_TransporterName]; //// remove the Action _Transporter removeAction _Action; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Attach object to transporter sleep 3; if (_Transporter isKindOf "il_silverado_red") then { _Object attachTo [_Transporter,[0,-3,2.5]]; }; if (_Transporter isKindOf "il_silverado_black") then { _Object attachTo [_Transporter,[0,-3,2.5]]; }; if (_Transporter isKindOf "il_silverado_orange") then { _Object attachTo [_Transporter,[0,-3,2.5]]; }; if (_Transporter isKindOf "hilux1_civil_1_open") then { _Object attachTo [_Transporter,[0,-2,1]]; }; if (_Transporter isKindOf "datsun1_civil_3_open") then { _Object attachTo [_Transporter,[0,-2,1]]; }; if (_Transporter isKindOf "datsun1_civil_1_open") then { _Object attachTo [_Transporter,[0,-2,1]]; }; if (_Transporter isKindOf "cooter") then { _Object attachTo [_Transporter,[0,-5,-0.2]]; }; // _Object attachTo [_Transporter,[0,-2,1]]; //// Disable R3F _Object setVariable ["R3F_LOG_disabled", true]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Loaded hint parseText format [" Cargo Drop %1 loaded. ", _ObjectName,_TransporterName]; //// add unload/drop Action _UnloadAction = _Transporter addAction [("" + ("Release Vehicle") + ""),"BTK\Cargo Drop\Engine.sqf",["UnloadCargo"], 5]; //// Wait until unload waitUntil {UnloadCargo || !(alive _Transporter) || !(alive _Object)}; //// If destroyed if (!(alive _Transporter) || !(alive _Object)) exitWith {}; //// If unload if (DoUnload) then { //// Reset variables DoUnload = false; DoDrop = false; UnloadCargo = false; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", false]; //// BTK_Hint - Unloading... hint parseText format [" Cargo Drop Unloading %1 from %2 ... ",_ObjectName,_TransporterName]; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Detach object sleep 3; _Object attachTo [_Transporter,[0,-5,-0.2]]; sleep 2; deTach _Object; sleep 2; _Object setPos [(getPos _Transporter select 0)+0,-5,-0.2,(getPos _Transporter select 1),1]; //// Enable R3F _Object setVariable ["R3F_LOG_disabled", false]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Unloaded hint parseText format [" Cargo Drop %1 unloaded. ",_ObjectName,_TransporterName]; }; //// If drop if (DoDrop) then { //// BTK_Hint - Dropping... hint parseText format [" Cargo Drop Dropping %1 ... ",_ObjectName,_TransporterName]; //// Reset variables DoUnload = false; DoDrop = false; UnloadCargo = false; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", false]; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Detach object (drop) sleep 2; _Object setVariable ["R3F_LOG_disabled", false]; deTach _Object; _Object attachTo [_Transporter,[0,-2,1]]; sleep 0.1; deTach _Object; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),(getPos _Object select 2)-6]; //// Create parachute and smoke sleep 2; _Parachute = "ParachuteBigWest" createVehicle position _Object; _Parachute setPos (getPos _Object); _BlueSmoke = "SmokeShellBlue" createVehicle position _Object; _BlueSmoke setPos (getPos _Object); _Object attachTo [_Parachute,[0,0,-1.5]]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Dropped hint parseText format [" Cargo Drop %1 dropped. ",_ObjectName,_TransporterName]; //// Wait until ground reached waitUntil {(getPos _Object select 2) < 2}; deTach _Object; sleep 3; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),0.001]; //// Enable R3F _Object setVariable ["R3F_LOG_disabled", false]; //// Delete parachute and smoke sleep 15; deleteVehicle _BlueSmoke; deleteVehicle _Parachute; }; }; /****************************************************************************** * Load in - Large ******************************************************************************/ if ((_Selected == "LoadCargo") && (_SelectedTransporterTypeL)) exitWith { //// Get nearest objects _TransporterPos = _Transporter modelToWorld [0,0,0]; _ObjectsInRange = nearestObjects [_Transporter, _ObjectsL, 15]; //// If no objects, exit with if (count _ObjectsInRange < 1) exitWith { //// BTK_Hint - Nothing to load in range hint parseText format [" Cargo Drop Nothing to load in range!

Please move the object closer to the transporter.
"]; }; //// Else, select the object from list _Object = _ObjectsInRange select 0; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", true]; _Transporter setVariable ["BTK_CargoDrop_TransporterLoaded", true]; //// Get the object name _ObjectName = getText (configFile >> "CfgVehicles" >> (typeOf _Object) >> "displayName"); //// BTK_Hint - Loading in... hint parseText format [" Cargo Drop Loading %1 into %2 ... ",_ObjectName,_TransporterName]; //// remove the Action _Transporter removeAction _Action; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Attach object to transporter sleep 3; //// Chinook/Car fix if (_Object isKindOf "Car" || _Object isKindOf "Truck" || _Object isKindOf "Wheeled_APC") then { if (_Object isKindOf "Car") then { _Object attachTo [_Transporter,[0,-2,.5]]; }; if (_Object isKindOf "Truck") then { _Object attachTo [_Transporter,[0,-4,1.2]]; }; if (_Object isKindOf "Wheeled_APC") then { _Object attachTo [_Transporter,[0,-2,1.2]]; }; } else { _Object attachTo [_Transporter,[0,-2,1.2]]; }; _object allowdamage false; //// Disable R3F _Object setVariable ["R3F_LOG_disabled", true]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Loaded hint parseText format [" Cargo Drop %1 loaded. ", _ObjectName,_TransporterName]; //// add unload/drop Action _UnloadAction = _Transporter addAction [("" + ("Release Vehicle") + ""),"BTK\Cargo Drop\Engine.sqf",["UnloadCargo"], 5]; //// Wait until unload waitUntil {UnloadCargo || !(alive _Transporter) || !(alive _Object)}; //// If destroyed if (!(alive _Transporter) || !(alive _Object)) exitWith {}; //// If unload if (DoUnload) then { //// Reset variables DoUnload = false; DoDrop = false; UnloadCargo = false; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", false]; //// BTK_Hint - Unloading... hint parseText format [" Cargo Drop Unloading %1 from %2 ... ",_ObjectName,_TransporterName]; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Detach object sleep 3; _Object attachTo [_Transporter,[0,-8,-1.2]]; sleep 2; deTach _Object; sleep 2; _Object setPos [(getPos _Transporter select 0)+0,-5,-0.2,(getPos _Transporter select 1),1]; //// Enable R3F _Object setVariable ["R3F_LOG_disabled", false]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; _object allowdamage true; //// BTK_Hint - Unloaded hint parseText format [" Cargo Drop %1 unloaded. ",_ObjectName,_TransporterName]; }; //// If drop if (DoDrop) then { //// BTK_Hint - Dropping... hint parseText format [" Cargo Drop Dropping %1 ... ",_ObjectName,_TransporterName]; //// Reset variables DoUnload = false; DoDrop = false; UnloadCargo = false; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", false]; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Detach object (drop) sleep 2; _Object setVariable ["R3F_LOG_disabled", false]; deTach _Object; _Object attachTo [_Transporter,[0,-21,0]]; sleep 0.1; deTach _Object; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),(getPos _Object select 2)-6]; //// Create parachute and smoke sleep 2; _Parachute = "ParachuteBigWest" createVehicle position _Object; _Parachute setPos (getPos _Object); _BlueSmoke = "SmokeShellBlue" createVehicle position _Object; _BlueSmoke setPos (getPos _Object); _Object attachTo [_Parachute,[0,0,-1.5]]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Dropped hint parseText format [" Cargo Drop %1 dropped. ",_ObjectName,_TransporterName]; //// Wait until ground reached waitUntil {(getPos _Object select 2) < 2}; deTach _Object; sleep 3; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),0.001]; //// Enable R3F _Object setVariable ["R3F_LOG_disabled", false]; //// Delete parachute and smoke sleep 15; deleteVehicle _BlueSmoke; deleteVehicle _Parachute; }; }; /****************************************************************************** * Load in - Xtra Large ******************************************************************************/ if ((_Selected == "LoadCargo") && (_SelectedTransporterTypeXL)) exitWith { //// Get nearest objects _TransporterPos = _Transporter modelToWorld [0,0,0]; _ObjectsInRange = nearestObjects [_Transporter, _ObjectsXL, 20]; //// If no objects, exit with if (count _ObjectsInRange < 1) exitWith { //// BTK_Hint - Nothing to load in range hint parseText format [" Cargo Drop Nothing to load in range!

Please move the object closer to the transporter.
"]; }; //// Else, select the object from list _Object = _ObjectsInRange select 0; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", true]; _Transporter setVariable ["BTK_CargoDrop_TransporterLoaded", true]; //// Get the object name _ObjectName = getText (configFile >> "CfgVehicles" >> (typeOf _Object) >> "displayName"); //// BTK_Hint - Loading in... hint parseText format [" Cargo Drop Loading %1 into %2 ... ",_ObjectName,_TransporterName]; //// remove the Action _Transporter removeAction _Action; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Attach object to transporter sleep 3; //// Fix for cars/apc/trucks if (_Object isKindOf "Car" || _Object isKindOf "Truck" || _Object isKindOf "Wheeled_APC") then { if (_Object isKindOf "Car") then { _Object attachTo [_Transporter,[0,1,0]]; }; if (_Object isKindOf "Truck") then { _Object attachTo [_Transporter,[0,1.4,0]]; }; if (_Object isKindOf "Wheeled_APC") then { _Object attachTo [_Transporter,[0,2,0]]; }; } else { _Object attachTo [_Transporter,[0,1,0]]; }; _object allowdamage false; //// Disable R3F _Object setVariable ["R3F_LOG_disabled", true]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Loaded hint parseText format [" Cargo Drop %1 loaded. ", _ObjectName,_TransporterName]; //// add unload/drop Action _UnloadAction = _Transporter addAction [("" + ("Unload cargo") + ""),"BTK\Cargo Drop\Engine.sqf",["UnloadCargo"], 5]; //// Wait until unload waitUntil {UnloadCargo || !(alive _Transporter) || !(alive _Object)}; //// If destroyed if (!(alive _Transporter) || !(alive _Object)) exitWith {}; //// If unload if (DoUnload) then { //// Reset variables DoUnload = false; DoDrop = false; UnloadCargo = false; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", false]; //// BTK_Hint - Unloading... hint parseText format [" Cargo Drop Unloading %1 from %2 ... ",_ObjectName,_TransporterName]; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Detach object sleep 3; _Object attachTo [_Transporter,[0,0,1]]; sleep 2; deTach _Object; sleep 2; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),0]; //// Enable R3F _Object setVariable ["R3F_LOG_disabled", false]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; _object allowdamage true; //// BTK_Hint - Unloaded hint parseText format [" Cargo Drop %1 unloaded. ",_ObjectName,_TransporterName]; }; //// If drop if (DoDrop) then { //// BTK_Hint - Dropping... hint parseText format [" Cargo Drop Dropping %1 ... ",_ObjectName,_TransporterName]; //// Reset variables DoUnload = false; DoDrop = false; UnloadCargo = false; _Object setVariable ["BTK_CargoDrop_ObjectLoaded", false]; //// Animate ramp // sleep 1; // _Transporter animate ["ramp_top", 1]; // _Transporter animate ["ramp_bottom", 1]; //// Detach object (drop) sleep 2; _Object setVariable ["R3F_LOG_disabled", false]; deTach _Object; _Object attachTo [_Transporter,[0,-21,0]]; sleep 0.1; deTach _Object; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),(getPos _Object select 2)-6]; //// Create parachute and smoke sleep 2; _Parachute = "ParachuteBigWest" createVehicle position _Object; _Parachute setPos (getPos _Object); _BlueSmoke = "SmokeShellBlue" createVehicle position _Object; _BlueSmoke setPos (getPos _Object); _Object attachTo [_Parachute,[0,0,-1.5]]; //// Animate ramp again // sleep 1; // _Transporter animate ["ramp_top", 0]; // _Transporter animate ["ramp_bottom", 0]; //// BTK_Hint - Dropped hint parseText format [" Cargo Drop %1 dropped. ",_ObjectName,_TransporterName]; //// Wait until ground reached waitUntil {(getPos _Object select 2) < 2}; deTach _Object; sleep 3; _Object setPos [(getPos _Object select 0),(getPos _Object select 1),0.001]; //// Enable R3F _Object setVariable ["R3F_LOG_disabled", false]; //// Delete parachute and smoke sleep 15; deleteVehicle _BlueSmoke; deleteVehicle _Parachute; }; };