ACE3/addons/vehicles/XEH_postInit.sqf
Dystopian 22b93e2d03
Vehicles - Add Resume/Set functionality to speed control (#8967)
* Add Resume/Set functionality to speed control

* Apply suggestions from code review

Co-authored-by: BrettMayson <brett@mayson.io>

---------

Co-authored-by: BrettMayson <brett@mayson.io>
2023-06-28 17:17:14 +03:00

39 lines
1.9 KiB
Plaintext

// by esteldunedain
#include "script_component.hpp"
if (!hasInterface) exitWith {};
GVAR(isSpeedLimiter) = false;
// Add keybinds
["ACE3 Vehicles", QGVAR(speedLimiter), localize LSTRING(SpeedLimiter), {
false call FUNC(toggleSpeedControl)
}, {false}, [DIK_DELETE, [false, false, false]], false] call CBA_fnc_addKeybind;
["ACE3 Vehicles", QGVAR(cruiseControl), localize LSTRING(CruiseControl), {
true call FUNC(toggleSpeedControl)
}, {false}, [DIK_INSERT, [false, false, false]], false] call CBA_fnc_addKeybind;
["ACE3 Vehicles", QGVAR(scrollUp), localize LSTRING(IncreaseSpeedLimit), {
if (GVAR(isSpeedLimiter)) then {
GVAR(speedLimit) = round (GVAR(speedLimit) + GVAR(speedLimiterStep)) max (5 max GVAR(speedLimiterStep));
GVAR(speedLimit) = 5 max GVAR(speedLimiterStep) * floor (GVAR(speedLimit) / GVAR(speedLimiterStep));
[["%1: %2", LSTRING(SpeedLimit), GVAR(speedLimit)]] call EFUNC(common,displayTextStructured);
true
} else {
!isNil QGVAR(speedLimit)
&& {[GVAR(isCruiseControl), true] call FUNC(toggleSpeedControl)} // RESUME
};
}, {false}, [MOUSE_SCROLL_UP, [false, true, false]], false] call CBA_fnc_addKeybind; // Ctrl + Mouse Wheel Scroll Up
["ACE3 Vehicles", QGVAR(scrollDown), localize LSTRING(DecreaseSpeedLimit), {
if (GVAR(isSpeedLimiter)) then {
GVAR(speedLimit) = round (GVAR(speedLimit) - GVAR(speedLimiterStep)) max (5 max GVAR(speedLimiterStep));
GVAR(speedLimit) = 5 max GVAR(speedLimiterStep) * ceil (GVAR(speedLimit) / GVAR(speedLimiterStep));
[["%1: %2", LSTRING(SpeedLimit), GVAR(speedLimit)]] call EFUNC(common,displayTextStructured);
true
} else {
!isNil QGVAR(isCruiseControl)
&& {GVAR(isCruiseControl) call FUNC(toggleSpeedControl)} // SET
};
}, {false}, [MOUSE_SCROLL_DOWN, [false, true, false]], false] call CBA_fnc_addKeybind; // Ctrl + Mouse Wheel Scroll Down