0.0.1
This commit is contained in:
50
resources/[esx_addons]/esx_joblisting/server/main.lua
Normal file
50
resources/[esx_addons]/esx_joblisting/server/main.lua
Normal file
@@ -0,0 +1,50 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user