From 74ac69fa17f5bae491cc5d68e75dc94cf39ee702 Mon Sep 17 00:00:00 2001 From: Matthew <22198949+mafewtm@users.noreply.github.com> Date: Mon, 11 Nov 2024 11:19:02 -0500 Subject: [PATCH] fix(server/player): onJobUpdate mirror onGangUpdate --- server/player.lua | 47 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/server/player.lua b/server/player.lua index 1cd83d449..600b11be8 100644 --- a/server/player.lua +++ b/server/player.lua @@ -903,24 +903,37 @@ function CreatePlayer(playerData, Offline) AddEventHandler('qbx_core:server:onJobUpdate', function(jobName, job) if self.PlayerData.job.name ~= jobName then return end + if not job then - self.Functions.setJob('unemployed', 0) - return - end - self.PlayerData.job.label = job.label - self.PlayerData.job.type = job.type or 'none' - local jobGrade = job.grades[self.PlayerData.job.grade.level] - if jobGrade then - self.PlayerData.job.grade.name = jobGrade.name - self.PlayerData.job.payment = jobGrade.payment or 30 - self.PlayerData.job.isboss = jobGrade.isboss or false - else - self.PlayerData.job.grade = { - name = 'No Grades', - level = 0, - payment = 30, + self.PlayerData.job = { + name = 'unemployed', + label = 'Civilian', isboss = false, + onduty = true, + payment = 10, + grade = { + name = 'Freelancer', + level = 0, + } } + else + self.PlayerData.job.label = job.label + self.PlayerData.job.type = job.type or 'none' + + local jobGrade = job.grades[self.PlayerData.job.grade.level] + + if jobGrade then + self.PlayerData.job.grade.name = jobGrade.name + self.PlayerData.job.payment = jobGrade.payment or 30 + self.PlayerData.job.isboss = jobGrade.isboss or false + else + self.PlayerData.job.grade = { + name = 'No Grades', + level = 0, + payment = 30, + isboss = false, + } + end end if not self.Offline then @@ -932,6 +945,7 @@ function CreatePlayer(playerData, Offline) AddEventHandler('qbx_core:server:onGangUpdate', function(gangName, gang) if self.PlayerData.gang.name ~= gangName then return end + if not gang then self.PlayerData.gang = { name = 'none', @@ -944,7 +958,9 @@ function CreatePlayer(playerData, Offline) } else self.PlayerData.gang.label = gang.label + local gangGrade = gang.grades[self.PlayerData.gang.grade.level] + if gangGrade then self.PlayerData.gang.isboss = gangGrade.isboss or false else @@ -955,6 +971,7 @@ function CreatePlayer(playerData, Offline) self.PlayerData.gang.isboss = false end end + if not self.Offline then UpdatePlayerData(self.PlayerData.source) TriggerEvent('QBCore:Server:OnGangUpdate', self.PlayerData.source, self.PlayerData.gang)