-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathclient.lua
83 lines (64 loc) · 1.51 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
local oocState = true
local inputState = false
RegisterNetEvent("receiveOOCMessage", function(message)
SendNUIMessage({
message = message,
})
end)
RegisterCommand("clearooc", function()
SendNUIMessage({
clear = true,
})
end)
RegisterCommand("togooc", function()
oocState = not oocState
SendNUIMessage({
visible = oocState,
})
end)
CreateThread(function()
local oldVisible = false
while true do
local visible = not IsPauseMenuActive()
if oldVisible ~= visible then
SendNUIMessage({
visible = visible,
})
oldVisible = visible
end
Wait(400)
end
end)
function setOOCState(state)
inputState = state
SetNuiFocus(state, false)
SendNUIMessage({
inputState = state,
})
end
RegisterCommand("oocChat", function()
inputState = not inputState
setOOCState(inputState)
end, false)
RegisterKeyMapping("oocChat", "OOC Chat", "keyboard", "b")
RegisterNUICallback("sendMessage", function(data)
setOOCState(false)
if data.message:len() <= 1 then
return
end
local myCoords = GetEntityCoords(PlayerPedId())
local nearbyPlayers = {}
for _, targetPlayer in pairs(GetActivePlayers()) do
local targetPed = GetPlayerPed(targetPlayer)
local distance = #(GetEntityCoords(targetPed) - myCoords)
if not DoesEntityExist(targetPed) or distance > DISTANCES.ooc then
goto skip
end
table.insert(nearbyPlayers, GetPlayerServerId(targetPlayer))
::skip::
end
TriggerServerEvent("sendOOCMessage", nearbyPlayers, data.message)
end)
RegisterNUICallback("cancelOOC", function()
setOOCState(false)
end)