-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.lua
76 lines (69 loc) · 2.56 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
local jobs = {}
AddEventHandler('onResourceStart', function(res)
if res ~= GetCurrentResourceName() then return end
local alljobs = ESX.GetJobs()
while not next(alljobs) do
alljobs = ESX.GetJobs()
Wait(100)
end
for job, desc in pairs(Config.Jobs) do
if alljobs[job] then
jobs[#jobs+1] = {name = job, label = alljobs[job].label, text = desc}
else
print("WARNING! This job is not existing: "..job)
end
end
end)
ESX.RegisterServerCallback("villamos_jobcenter:getJobs", function(src, cb)
cb(jobs)
end)
RegisterNetEvent('villamos_jobcenter:setJob')
AddEventHandler('villamos_jobcenter:setJob', function(job)
local xPlayer = ESX.GetPlayerFromId(source)
local oldjob = xPlayer.job.name
if not Config.Jobs[job] then
if Config.KickMessage then
xPlayer.kick(Config.KickMessage)
end
return
end
if oldjob == job then
return Config.Notify(xPlayer.source, _U("same_job"))
end
xPlayer.setJob(job, 0)
Config.Notify(xPlayer.source, _U("your_new_job", xPlayer.job.label))
LogToDiscord(GetPlayerName(xPlayer.source), xPlayer.source, xPlayer.identifier, oldjob, job)
end)
function LogToDiscord(name, id, identifier, oldjob, newjob)
if not Config.Webhook then return end
local connect = {
{
["color"] = 8389379,
["title"] = "**".._U("selected_new_job").."**",
["description"] = _U("player_selected_new_job", name),
["fields"] = {
{
["name"] = _U("player"),
["value"] = id .. " | " .. name .. " | " .. identifier
},
{
["name"] = _U("old_job"),
["value"] = oldjob
},
{
["name"] = _U("new_job"),
["value"] = newjob
},
},
["author"] = {
["name"] = "Marvel Studios",
["url"] = "https://discord.gg/esnawXn5q5",
["icon_url"] = "https://cdn.discordapp.com/attachments/917181033626087454/954753156821188658/marvel1.png"
},
["footer"] = {
["text"] = os.date("%Y-%m-%d %X").." | villamos_jobcenter :)",
},
}
}
PerformHttpRequest(Config.Webhook, function(err, text, headers) end, 'POST', json.encode({embeds = connect}), { ['Content-Type'] = 'application/json' })
end