Drag and Drop the resource to your server. Make sure it starts at the end of the list so all the dependencies are loaded first.
SQL file is automatically executed on server start. If it doesnt execute, you can manually import the SQL file.
Go through the config file and check all things to suit your server's need.
Dependencies
ox_lib
oxmysql
QBCore/ESX
Exports
here, source is the ID who is trying to remove the job, identifier is the player's identifier and job is the job that you want to remove from the player.
Change this event in qb-management/server/sv_boss.lua. Its adding 1 line
-- Fire EmployeeRegisterNetEvent('qb-bossmenu:server:FireEmployee', function(target)local src = sourcelocal Player = QBCore.Functions.GetPlayer(src)local Employee = QBCore.Functions.GetPlayerByCitizenId(target)ifnot Player.PlayerData.job.isboss thenExploitBan(src, 'FireEmployee Exploiting') returnendif Employee thenif target ~= Player.PlayerData.citizenid then if Employee.PlayerData.job.grade.level > Player.PlayerData.job.grade.level then TriggerClientEvent('QBCore:Notify', src, "You cannot fire this citizen!", "error") return end
if Employee.Functions.SetJob("unemployed", '0') then TriggerEvent("qb-log:server:CreateLog", "bossmenu", "Job Fire", "red", Player.PlayerData.charinfo.firstname .. " " .. Player.PlayerData.charinfo.lastname .. ' successfully fired ' .. Employee.PlayerData.charinfo.firstname .. " " .. Employee.PlayerData.charinfo.lastname .. " (" .. Player.PlayerData.job.name .. ")", false)
TriggerClientEvent('QBCore:Notify', src, "Employee fired!", "success")TriggerClientEvent('QBCore:Notify', Employee.PlayerData.source , "You have been fired! Good luck.", "error")elseTriggerClientEvent('QBCore:Notify', src, "Error..", "error")endelseTriggerClientEvent('QBCore:Notify', src, "You can\'t fire yourself", "error")endelselocal player = MySQL.query.await('SELECT * FROM players WHERE citizenid = ? LIMIT 1', { target })if player[1] ~=nilthen Employee = player[1] Employee.job = json.decode(Employee.job) if Employee.job.grade.level > Player.PlayerData.job.grade.level then TriggerClientEvent('QBCore:Notify', src, "You cannot fire this citizen!", "error") return end
local job = {} job.name ="unemployed" job.label ="Unemployed" job.payment = QBCore.Shared.Jobs[job.name].grades['0'].payment or500 job.onduty =true job.isboss =false job.grade = {} job.grade.name =nil job.grade.level =0 MySQL.update('UPDATE players SET job = ? WHERE citizenid = ?', { json.encode(job), target })TriggerClientEvent('QBCore:Notify', src, "Employee fired!", "success") TriggerEvent("qb-log:server:CreateLog", "bossmenu", "Job Fire", "red", Player.PlayerData.charinfo.firstname .. " " .. Player.PlayerData.charinfo.lastname .. ' successfully fired ' .. Employee.PlayerData.charinfo.firstname .. " " .. Employee.PlayerData.charinfo.lastname .. " (" .. Player.PlayerData.job.name .. ")", false)
elseTriggerClientEvent('QBCore:Notify', src, "Civilian not in city.", "error")endend exports["snipe-multijob"]:RemoveJob(src, target, Player.PlayerData.job.name) -- add this lineTriggerClientEvent('qb-bossmenu:client:OpenMenu', src)end)
If you dont use qb-policejob and qb-ambulancejob
Replace the function in client/open/cl_framework.lua
-- if using QBCore only. For ESX, the changes are on server side in sv_framework.luafunctionToggleDuty()TriggerServerEvent("QBCore:ToggleDuty") -- this event is present in qb-core/server/main.luaend