mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
22b93e2d03
* 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>
39 lines
1.9 KiB
Plaintext
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
|