server/no_escrow.lua

-- | # Global Variables ------------------------------------------------------------------------------------

Framework_OBJ = nil

-- | # Load Framework Function ------------------------------------------------------------------------------------

Load_Framework = function()
    local framework = Config.Settings['Framework']

    if framework == 'esx' then
        Framework_OBJ = exports['es_extended']:getSharedObject()
    elseif framework == 'old-esx' then
        Framework_OBJ = nil
        TriggerEvent('esx:getSharedObject', function(obj) Framework_OBJ = obj end)
    elseif framework == 'qb' then
        Framework_OBJ = exports['qb-core']:GetCoreObject()
    elseif framework == 'old-qb' then
        Framework_OBJ = nil
        Citizen.CreateThread(function()
            while Framework_OBJ == nil do
                TriggerEvent('QBCore:GetObject', function(obj) Framework_OBJ = obj end)
                Citizen.Wait(200)
            end
        end)
    elseif framework == 'qbox' then
        if GetResourceState("qbx_core") == "started" then
            Framework_OBJ = exports['qbx_core']:GetCoreObject()
        elseif GetResourceState("qbx-core") == "started" then
            Framework_OBJ = exports['qbx-core']:GetCoreObject()
        end
    end
end

-- | # Get Player Function ------------------------------------------------------------------------------------

Get_Player = function(source)
    if not Framework_OBJ then return nil end

    local framework = Config.Settings['Framework']

    if framework == 'esx' or framework == 'old-esx' then
        return Framework_OBJ.GetPlayerFromId(source)
    elseif framework == 'qb' or framework == 'old-qb' then
        return Framework_OBJ.Functions.GetPlayer(source)
    elseif framework == 'qbox' then
        return exports.qbx_core:GetPlayer(source)
    end

    return nil
end

-- | # Get Player Charname Function ------------------------------------------------------------------------------------

Get_Player_Charname = function(source)
    local framework = Config.Settings['Framework']

    if framework == 'esx' or framework == 'old-esx' then
        local xPlayer = Get_Player(source)
        if xPlayer then
            local result = Execute_Sql('SELECT firstname, lastname FROM users WHERE identifier = ?', {xPlayer.identifier})
            if result and result[1] then
                return result[1].firstname .. ' ' .. result[1].lastname
            end
        end
    elseif framework == 'qb' or framework == 'old-qb' then
        local Player = Get_Player(source)
        if Player then
            return Player.PlayerData.charinfo.firstname .. ' ' .. Player.PlayerData.charinfo.lastname
        end
    elseif framework == 'qbox' then
        local Player = Get_Player(source)
        if Player then
            return Player.PlayerData.charinfo.firstname .. ' ' .. Player.PlayerData.charinfo.lastname
        end
    end

    return nil
end

-- | # Get Player Name Function ------------------------------------------------------------------------------------

Get_Player_Name = function(source)
    local nameType = Config.Player_Display['Name_Type']

    if nameType == 'steam' then
        return GetPlayerName(source)
    elseif nameType == 'custom' then
        -- | You can implement your own custom name fetching system here.
        -- | For example: Discord username, database nickname, or any other source you prefer.
    elseif nameType == 'charname' then
        local charname = Get_Player_Charname(source)
        if charname then
            return charname
        end
    end

    return GetPlayerName(source)
end

Last updated