-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.lua
57 lines (51 loc) · 1.72 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
local Core = exports[Config.FW]:GetCoreObject()
function IsPlayerInJob(source, jobNames)
local user = Core.Functions.GetPlayer(source)
if user then
for _, jobName in ipairs(jobNames) do
if user.PlayerData.job.name == jobName then
return true
end
end
end
return false
end
function GetPlayerJobName(source)
local user = Core.Functions.GetPlayer(source)
if user then
return user.PlayerData.job.name
else
return nil
end
end
-- Command with job checking
Core.Commands.Add(Config.Command, Language.UI, {}, false, function(source)
local jobName = Config.Jobs
if IsPlayerInJob(source, jobName) then
TriggerClientEvent('SendAlert', source)
else
if Config.CustomNotify then
TriggerClientEvent('DoLongHudText', source, Language.Nojob, "error")
else
TriggerClientEvent('chatMessage', source, Language.Error)
end
end
end, 'user')
RegisterServerEvent('SendAlert:Server')
AddEventHandler('SendAlert:Server', function(title, text)
local curjobname = GetPlayerJobName(source)
if curjobname then
for _, v in ipairs(Core.Functions.GetPlayers()) do
local Player = Core.Functions.GetPlayer(v)
if Player and Player.PlayerData.job.name == curjobname and Player.PlayerData.job.onduty then
TriggerClientEvent('SendAd', v, title, text)
end
end
for _, v in ipairs(Core.Functions.GetPlayers()) do
local Player = Core.Functions.GetPlayer(v)
if Player and not Player.PlayerData.job.name then
TriggerClientEvent('SendAd', v, title, text)
end
end
end
end)