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