QBCore

CreateThread(function()
    if Config.Framework ~= 'QB' then return end
    QBCore = exports['qb-core']:GetCoreObject()
    
    local PlayerData = QBCore.Functions.GetPlayerData()
    
    -- UpdatePlayerData
    function UpdatePlayerData()
        PlayerData = QBCore.Functions.GetPlayerData()
    end
    
    -- GetPlayerJobName
    function GetPlayerJobName()
        UpdatePlayerData()
        if PlayerData and PlayerData.job and PlayerData.job.name then
            return PlayerData.job.name
        end
        return nil
    end
    
    -- GetPlayerJobGrade
    function GetPlayerJobGrade()
        UpdatePlayerData()
        if PlayerData and PlayerData.job and PlayerData.job.grade.level then
            return PlayerData.job.grade.level
        end
        return nil
    end
    
    -- GetPlayerData
    function GetPlayerData(callback)
        UpdatePlayerData()
        if callback ~= nil then
            callback(PlayerData)
        end
    end
    
    -- GetPlayerCharInfo
    function GetPlayerCharInfo()
        UpdatePlayerData()
        if PlayerData and PlayerData.charinfo then
            return PlayerData.charinfo
        end
        return nil
    end
    
    -- GetPlayerItems
    function GetPlayerItems()
        UpdatePlayerData()
        if PlayerData and PlayerData.items then
            return PlayerData.items
        end
        return {}
    end
    
    -- GetPlayerItemByName
    function GetPlayerItemByName(itemName)
        local items = GetPlayerItems()
        for _, item in pairs(items) do
            if item.name == itemName then
                return item
            end
        end
        return nil
    end
    
    -- Notification
    function sendNotification(message, theme, duration)
        duration = duration or 5000
        if theme == nil then theme = "primary" end
        QBCore.Functions.Notify(message, theme, duration)
    end
    
    -- GetSharedItem
    function GetSharedItem(itemName)
        if QBCore.Shared.Items and QBCore.Shared.Items[itemName] then
            return QBCore.Shared.Items[itemName]
        end
        return nil
    end
    
    -- GetPlayerCash
    function GetPlayerCash()
        UpdatePlayerData()
        if PlayerData and PlayerData.money and PlayerData.money.cash then
            return PlayerData.money.cash
        end
        return 0
    end
end)

Last updated