51 lines
1.4 KiB
Lua
51 lines
1.4 KiB
Lua
function getJobs()
|
|
local jobs = ESX.GetJobs()
|
|
local availableJobs = {}
|
|
for k, v in pairs(jobs) do
|
|
if v.whitelisted == false then
|
|
availableJobs[#availableJobs + 1] = {label = v.label, name = k}
|
|
end
|
|
end
|
|
return availableJobs
|
|
end
|
|
|
|
ESX.RegisterServerCallback('esx_joblisting:getJobsList', function(source, cb)
|
|
cb(getJobs())
|
|
end)
|
|
|
|
function IsJobAvailable(job)
|
|
local jobs = ESX.GetJobs()
|
|
local JobToCheck = jobs[job]
|
|
return not JobToCheck.whitelisted
|
|
end
|
|
|
|
function IsNearCentre(player)
|
|
local Ped = GetPlayerPed(player)
|
|
local PedCoords = GetEntityCoords(Ped)
|
|
|
|
for i = 1, #Config.Zones, 1 do
|
|
local distance = #(PedCoords - Config.Zones[i])
|
|
|
|
if distance < Config.DrawDistance then
|
|
return true
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
RegisterServerEvent('esx_joblisting:setJob')
|
|
AddEventHandler('esx_joblisting:setJob', function(job)
|
|
local source = source
|
|
local xPlayer = ESX.Player(source)
|
|
local jobs = getJobs()
|
|
if not ESX.DoesJobExist(job, 0) then
|
|
print("[^1ERROR^7] Tried Setting User ^5" .. source .. "^7 To Invalid Job - ^5" .. job .. "^7!")
|
|
return
|
|
end
|
|
if xPlayer and IsJobAvailable(job) and IsNearCentre(source) then
|
|
xPlayer.setJob(job, 0)
|
|
else
|
|
print("[^3WARNING^7] User ^5" .. source .. "^7 Attempted to Exploit ^5`esx_joblisting:setJob`^7!")
|
|
end
|
|
end)
|