cl_utils.lua
editable/cl_utils.lua
Framework = "qb"
local Core
local loadEvent = "QBCore:Client:OnPlayerLoaded"
local unloadEvent = "QBCore:Client:OnPlayerUnload"
local jobEvent = "QBCore:Client:OnJobUpdate"
if GetResourceState("qbx_core") == "started" or Config.framework == "qbx" then
Framework = "qbx"
Core = exports.qbx_core
lib.print.info("Detected Framework: QBOX")
unloadEvent = 'qbx_core:client:playerLoggedOut'
elseif GetResourceState("es_extended") == "started" or Config.framework == "esx" then
Framework = "esx"
Core = ESX
loadEvent = 'esx:playerLoaded'
unloadEvent = "esx:onPlayerLogout"
jobEvent = "esx:setJob"
lib.print.info("Detected Framework: ESX")
elseif GetResourceState("qb-core") == "started" or Config.framework == "qb" then
Framework = "qb"
Core = exports['qb-core']:GetCoreObject()
lib.print.info("Detected Framework: QB")
else
Framework = Config.framework
end
function GetPlayerCharName()
if Framework == "qb" then
local Player = Core.Functions.GetPlayerData()
local firstName = Player.charinfo.firstname
local lastName = Player.charinfo.lastname
return firstName .. " " .. lastName
elseif Framework == "esx" then
local firstName = Core.PlayerData.firstName
local lastName = Core.PlayerData.lastName
return firstName .. " " .. lastName
elseif Framework == "qbx" then
local Player = Core:GetPlayerData()
local firstName = Player.charinfo.firstname
local lastName = Player.charinfo.lastname
return firstName .. " " .. lastName
else
--Custom Framework here
return "Unknown"
end
end
function GetPlayerJob()
if Framework == "qb" then
local Player = Core.Functions.GetPlayerData()
local job = Player.job.name
return job
elseif Framework == "esx" then
local job = Core.PlayerData.job.name
return job
elseif Framework == "qbx" then
local Player = Core:GetPlayerData()
local job = Player.job.name
return job
else
--Custom Framework here
return "Unknown"
end
end
function Notify(text, type)
local jobName = ""
if Framework == "qb" then
Core.Functions.Notify(text, type)
elseif Framework == "esx" then
Core.ShowNotification(text)
elseif Framework == "qbx" then
Core:Notify(text, type)
else
--Custom Framework here
end
end
function checkItem(itemName)
if Framework == "qb" then
local hasItem = Core.Functions.HasItem(itemName)
return hasItem
elseif Framework == "esx" then
local hasItem = Core.SearchInventory(itemName, 1)
return hasItem >= 1
elseif Framework == "qbx" then
local count = exports.ox_inventory:Search('count', itemName)
return count >= 1
else
--Custom Framework here
end
end
RegisterNetEvent(loadEvent)
AddEventHandler(loadEvent, function()
loadGpsData()
end)
RegisterNetEvent(unloadEvent)
AddEventHandler(unloadEvent, function()
clearGpsData()
end)
RegisterNetEvent(jobEvent)
AddEventHandler(jobEvent, function(job)
if Framework == "qb" or Framework == "qbx" then
UpdateJob(job.name)
elseif Framework == "esx" then
Wait(500)
local jobName = Core.PlayerData.job.name
UpdateJob(jobName)
end
end)
if GetResourceState("qb-inventory") == "started" or Config.inventory == "qb" then
RegisterNetEvent('QBCore:Player:SetPlayerData', function(val)
local src = source
local hasItem = false
for _, item in pairs(val.items) do
if item.name == itemData.item then
hasItem = true
break
end
end
if not hasItem then
TriggerEvent('cdw-gps:client:removedItem')
end
end)
end
Last updated