-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.lua
42 lines (36 loc) · 1.4 KB
/
server.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
local afkPlayers = {}
RegisterServerEvent('b2_afkSystem:playerAFK')
AddEventHandler('b2_afkSystem:playerAFK', function()
local src = source
local isIgnored = IsPlayerAceAllowed(src, "b2_afk_ignore")
afkPlayers[src] = {
time = GetGameTimer(),
ignored = isIgnored
}
TriggerClientEvent('b2_afkSystem:updateAFKList', -1, afkPlayers)
-- Only set up kick timer for non-ignored players
if not isIgnored and Config.KickTime > 0 then
Citizen.SetTimeout(Config.KickTime * 1000, function()
if afkPlayers[src] and not afkPlayers[src].ignored then
DropPlayer(src, "You were kicked for being AFK too long.")
end
end)
end
end)
RegisterServerEvent('b2_afkSystem:playerReturn')
AddEventHandler('b2_afkSystem:playerReturn', function()
local src = source
afkPlayers[src] = nil
TriggerClientEvent('b2_afkSystem:updateAFKList', -1, afkPlayers)
end)
RegisterServerEvent('b2_afkSystem:requestAFKList')
AddEventHandler('b2_afkSystem:requestAFKList', function()
local src = source
TriggerClientEvent('b2_afkSystem:updateAFKList', src, afkPlayers)
end)
RegisterServerEvent('b2_afkSystem:checkPlayerGroup')
AddEventHandler('b2_afkSystem:checkPlayerGroup', function()
local src = source
local isIgnored = IsPlayerAceAllowed(src, "b2_afk_ignore")
TriggerClientEvent('b2_afkSystem:setPlayerGroup', src, isIgnored)
end)