Creating job2 functionality

To create such thing, firstly visit /server/config/player.lua file and find following code:

Make sure that you've already made backend for it!

GetBaseRows = function(source)
    local xPlayer = FrameworkSelected == 'ESX' and ESX.GetPlayerFromId(source) or FrameworkSelected == 'QBCore' and QBCore.Functions.GetPlayer(source) or FrameworkSelected == 'QBOX' and exports['qbox_core']:GetPlayer(source) or false
    local base
    if FrameworkSelected == 'ESX' then
        base = {
            job = {
                type = 'job',
                text = xPlayer.job.name ~= 'unemployed' and (xPlayer.job.label..' - '..xPlayer.job.grade_label) or xPlayer.job.label,
                icon = 'fas fa-briefcase',
                label = xPlayer.job.label,
                grade = xPlayer.job.name == 'unemployed' and '' or xPlayer.job.grade_label
            },
        }
    elseif FrameworkSelected == 'QBOX' or FrameworkSelected == 'QBCore' then
        base = {
            job = {
                type = 'job',
                text = xPlayer.PlayerData.job.name ~= 'unemployed' and (xPlayer.PlayerData.job.label..' - '..xPlayer.PlayerData.job.grade.name) or xPlayer.PlayerData.job.label,
                icon = 'fas fa-briefcase',
                label = xPlayer.PlayerData.job.label,
                grade = xPlayer.PlayerData.job.name == 'unemployed' and '' or xPlayer.PlayerData.job.grade.name
            },
        }
    end
    return base
end

We will be doing example on ESX, here's the revised code:

If you're using some other type of job2 handling, make sure to ask author of the resource how to properly connect it here.

GetBaseRows = function(source)
    local xPlayer = FrameworkSelected == 'ESX' and ESX.GetPlayerFromId(source) or FrameworkSelected == 'QBCore' and QBCore.Functions.GetPlayer(source) or FrameworkSelected == 'QBOX' and exports['qbox_core']:GetPlayer(source) or false
    local base
    if FrameworkSelected == 'ESX' then
        base = {
            job = {
                type = 'job',
                text = xPlayer.job.name ~= 'unemployed' and (xPlayer.job.label..' - '..xPlayer.job.grade_label) or xPlayer.job.label,
                icon = 'fas fa-briefcase',
                label = xPlayer.job.label,
                grade = xPlayer.job.name == 'unemployed' and '' or xPlayer.job.grade_label
            },
            --Example of adding more rows [job2 example]
            job2 = {
                type = 'job',
                text = xPlayer.job2.name ~= 'unemployed' and (xPlayer.job2.label..' - '..xPlayer.job2.grade_label) or xPlayer.job2.label,
                icon = 'fas fa-briefcase',
            },
        }
    elseif FrameworkSelected == 'QBOX' or FrameworkSelected == 'QBCore' then
        base = {
            job = {
                type = 'job',
                text = xPlayer.PlayerData.job.name ~= 'unemployed' and (xPlayer.PlayerData.job.label..' - '..xPlayer.PlayerData.job.grade.name) or xPlayer.PlayerData.job.label,
                icon = 'fas fa-briefcase',
                label = xPlayer.PlayerData.job.label,
                grade = xPlayer.PlayerData.job.name == 'unemployed' and '' or xPlayer.PlayerData.job.grade.name
            },
        }
    end
    return base
end

And that's it!

Last updated