-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclient.lua
89 lines (75 loc) · 2 KB
/
client.lua
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
local screenWidth, screenHeight = guiGetScreenSize()
local browserGUI
local browser
local page = "http://mta/local/fueltech.html"
function loadBrowser()
browserGUI = guiCreateBrowser(
((screenWidth - 480) - 32),
((screenHeight - 296) - 32),
480,
296,
true,
true,
false
)
browser = guiGetBrowser(browserGUI)
addEventHandler(
"onClientBrowserCreated",
browser,
function()
loadBrowserURL(browser, page)
end
)
end
function destroyBrowser()
if isElement(browserGUI) then
destroyElement(browserGUI)
end
if isElement(browser) then
destroyElement(browser)
end
end
function handleRender()
if exports["fueltech"]:isPlayerInValidVehicle() then
local vehicle = getPedOccupiedVehicle(localPlayer)
local rpm = exports["fueltech"]:getVehicleRPM(vehicle)
local gear = getVehicleCurrentGear(vehicle)
local numberOfGears = getVehicleHandling(vehicle).numberOfGears
local speed = exports["fueltech"]:getElementSpeed(vehicle) * 3
local engineState = getVehicleEngineState(vehicle) and "true" or "false"
executeBrowserJavascript(browser, ("updateFtParams(%d, %d, %d, %d, %s)"):format(rpm, gear, numberOfGears, speed, engineState))
executeBrowserJavascript(browser, "app.updateRender()")
end
end
addEventHandler(
"onClientVehicleEnter",
getRootElement(),
function(player)
if (player == localPlayer) then
loadBrowser()
addEventHandler("onClientRender", root, handleRender)
end
end
)
addEventHandler(
"onClientVehicleExit",
getRootElement(),
function(player)
if (player == localPlayer) then
destroyBrowser()
removeEventHandler("onClientRender", root, handleRender)
end
end
)
addEventHandler(
"onClientResourceStart",
getRootElement(),
function()
destroyBrowser()
removeEventHandler("onClientRender", root, handleRender)
if exports["fueltech"]:isPlayerInValidVehicle() then
loadBrowser()
addEventHandler("onClientRender", root, handleRender)
end
end
)