-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclientGearbox.lua
More file actions
70 lines (61 loc) · 2.3 KB
/
clientGearbox.lua
File metadata and controls
70 lines (61 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
local needPreventReverse = false
local needPreventForward = false
local neutralGear = true
function ResetVariableStates()
needPreventReverse = false
needPreventForward = false
neutralGear = true
end
function SpeedSetter()
if (needPreventReverse) then
DisableControlAction(2, 72, true)
else
EnableControlAction(2, 72, true)
end
if (needPreventForward) then
DisableControlAction(2, 71, true)
else
EnableControlAction(2, 71, true)
end
end
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
local ped = PlayerPedId()
if (IsPedInAnyVehicle(ped)) then
local veh = GetVehiclePedIsIn(ped, false)
if (GetPedInVehicleSeat(veh, -1) == ped) then -- ped is driver?
if (GetEntitySpeed(veh) > 0) then -- vehicle is moving
if (GetVehicleCurrentGear(veh) > 0) then -- forward gears
if ((IsControlPressed(2, 71) or IsDisabledControlPressed(2, 71)) and needPreventForward) then -- INPUT_VEH_ACCELERATE
SpeedSetter()
else
needPreventForward = false
end
if (IsControlPressed(2, 72)) then -- INPUT_VEH_BRAKE
needPreventReverse = true
else
needPreventReverse = false
end
else -- reverse gear (neutral also)
if ((IsControlPressed(2, 72) or IsDisabledControlPressed(2, 72)) and needPreventReverse) then -- INPUT_VEH_BRAKE
SpeedSetter()
else
needPreventReverse = false
end
if (IsControlPressed(2, 71) and (not neutralGear)) then -- INPUT_VEH_ACCELERATE
needPreventForward = true
else
needPreventForward = false
neutralGear = false
end
end
else -- vehicle is stopped
neutralGear = true
end
end
else
ResetVariableStates()
end
end
end)