diff --git a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/CfgFunctions.cpp b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/CfgFunctions.cpp
index 905a04f..4179438 100644
--- a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/CfgFunctions.cpp
+++ b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/CfgFunctions.cpp
@@ -20,7 +20,7 @@
class HaloParachute
{
file = "ExAdClient\HaloParachute\Functions";
- class detachParachute {};
+ class canDetachParachute {};
class ejectPlayer {};
class parachutesafemode {};
class pullParachute {};
diff --git a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_detachParachute.sqf b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_canDetachParachute.sqf
similarity index 80%
rename from mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_detachParachute.sqf
rename to mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_canDetachParachute.sqf
index 540a11b..ddb78d9 100644
--- a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_detachParachute.sqf
+++ b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/Functions/fn_canDetachParachute.sqf
@@ -1,5 +1,5 @@
/*
- fn_detachParachute.sqf
+ fn_showDetachParachute.sqf
Copyright 2016 Jan Babor
@@ -16,6 +16,4 @@
limitations under the License.
*/
- hint "Detach parachute";
-
-true
\ No newline at end of file
+((getPos player) select 2 > ExAd_ACTION_PARACHUTE_HEIGHT && vehicle player isKindOf "Steerable_Parachute_F")
\ No newline at end of file
diff --git a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/postInit.sqf b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/postInit.sqf
index 8ab96c1..640ff3b 100644
--- a/mpmissions/Exile.Altis/ExAdClient/HaloParachute/postInit.sqf
+++ b/mpmissions/Exile.Altis/ExAdClient/HaloParachute/postInit.sqf
@@ -31,7 +31,13 @@ execVM "ExAdClient\HaloParachute\customize.sqf";
ExAd_ACTION_EJECT = player addaction [format["%1", localize "STR_ExAd_HALOPARACHUTE_ACTIONS_HALO"], {call ExAd_fnc_ejectPlayer}, [], 6, false, true, "", "call ExAd_fnc_showEject;"];
if(ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE)then{
- ExAd_ACTION_PARACHUTE_DETACH = player addaction [format["%1", localize "STR_ExAd_HALOPARACHUTE_ACTIONS_DETACH"], {call ExAd_fnc_detachParachute}, [], 6, true, true, "", "call ExAd_fnc_showParachute"];
+ ExAd_ACTION_PARACHUTE_DETACH = (findDisplay 46) displayAddEventHandler ["KeyDown",{
+ if(call ExAd_fnc_canDetachParachute)then{
+ if(_this select 1 == 45 && _this select 2 && _this select 4)then{
+ call ExAd_fnc_ejectPlayer
+ }
+ }
+ }];
};
waitUntil{!alive player};
@@ -39,7 +45,7 @@ execVM "ExAdClient\HaloParachute\customize.sqf";
player removeAction ExAd_ACTION_EJECT;
if(ExAd_HALOPARACHUTE_DETACH_PARACHUTE_MODE)then{
- player removeAction ExAd_ACTION_PARACHUTE_DETACH;
+ (findDisplay 46) displayRemoveEventHandler ["KeyDown", ExAd_ACTION_PARACHUTE_DETACH];
};
};
};
\ No newline at end of file