diff --git a/addons/vehicles/CfgEventHandlers.hpp b/addons/vehicles/CfgEventHandlers.hpp index ccc1e1b7ce..049b154088 100644 --- a/addons/vehicles/CfgEventHandlers.hpp +++ b/addons/vehicles/CfgEventHandlers.hpp @@ -5,6 +5,12 @@ class Extended_PreInit_EventHandlers { }; }; +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; + class Extended_Engine_EventHandlers { class Car { class ACE_EngineStartDelay { diff --git a/addons/vehicles/XEH_postInit.sqf b/addons/vehicles/XEH_postInit.sqf new file mode 100644 index 0000000000..efff70306f --- /dev/null +++ b/addons/vehicles/XEH_postInit.sqf @@ -0,0 +1,25 @@ +// by CAA-Picard +#include "script_component.hpp" + +if !(hasInterface) exitWith {}; + +// Add keybinds +["ACE3", + localize "STR_ACE_SpeedLimiter", + { + // Conditions: canInteract + _exceptions = []; + if !(_exceptions call EGVAR(common,canInteract)) exitWith {false}; + // Conditions: specific + if !(ACE_player == driver vehicle ACE_player && + {vehicle ACE_player isKindOf 'Car' || + {vehicle ACE_player isKindOf 'Tank'}}) exitWith {false}; + + // Statement + [ACE_player, vehicle ACE_player] call FUNC(speedLimiter); + true + }, + [211, [false, false, false]], + false, + "keydown" +] call cba_fnc_registerKeybind; diff --git a/addons/vehicles/config.cpp b/addons/vehicles/config.cpp index e9543e9b94..a3641a7b5b 100644 --- a/addons/vehicles/config.cpp +++ b/addons/vehicles/config.cpp @@ -16,15 +16,3 @@ class CfgPatches { #include "CfgAmmo.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" - -class ACE_Default_Keys { - class speedLimiter { - displayName = "$STR_ACE_SpeedLimiter"; - condition = QUOTE(_player == driver _vehicle && {_vehicle isKindOf 'Car' || {_vehicle isKindOf 'Tank'}}); - statement = QUOTE([ARR_2(_player, _vehicle)] call FUNC(speedLimiter)); - key = 211; - shift = 0; - control = 0; - alt = 0; - }; -};