From 9fdb41e9f65737060a0779f86336561753bc48a0 Mon Sep 17 00:00:00 2001 From: MrNewb <47620135+MrNewb@users.noreply.github.com> Date: Sun, 31 Aug 2025 19:17:01 -0400 Subject: [PATCH] Add job count management on player events Introduces event handlers to update job counts when players load, change jobs, or unload across multiple framework modules. Ensures job count tracking stays accurate by adding or removing counts based on player actions. (would like to update this to have some client event tables?) --- modules/framework/_default/server.lua | 10 ++++++++++ modules/framework/es_extended/server.lua | 3 +++ modules/framework/qb-core/server.lua | 3 +++ modules/framework/qbx_core/server.lua | 3 +++ 4 files changed, 19 insertions(+) diff --git a/modules/framework/_default/server.lua b/modules/framework/_default/server.lua index 0cedf7c..5dcdf95 100644 --- a/modules/framework/_default/server.lua +++ b/modules/framework/_default/server.lua @@ -53,4 +53,14 @@ Framework.RemoveJobCount = function(src, jobName) return true, #jobsRegisteredTable[jobName] end +AddEventHandler('community_bridge:Server:OnPlayerJobChange', function(src, newJobName) + local previousJob = Framework.SearchJobCountBySource(src) + if previousJob then Framework.RemoveJobCount(src, previousJob) end + if newJobName then Framework.AddJobCount(src, newJobName) end +end) + +AddEventHandler('community_bridge:Server:OnPlayerUnload', function(src) + Framework.RemoveJobCount(src) +end) + return Framework \ No newline at end of file diff --git a/modules/framework/es_extended/server.lua b/modules/framework/es_extended/server.lua index 6daf30f..40e809b 100644 --- a/modules/framework/es_extended/server.lua +++ b/modules/framework/es_extended/server.lua @@ -452,6 +452,9 @@ end RegisterNetEvent("esx:playerLoaded", function(src) src = src or source TriggerEvent("community_bridge:Server:OnPlayerLoaded", src) + local jobData = Framework.GetPlayerJobData(src) + if not jobData then return end + Framework.AddJobCount(src, jobData.jobName) end) RegisterNetEvent("esx:playerLogout", function(src) diff --git a/modules/framework/qb-core/server.lua b/modules/framework/qb-core/server.lua index 6b8049f..1ba3d10 100644 --- a/modules/framework/qb-core/server.lua +++ b/modules/framework/qb-core/server.lua @@ -557,6 +557,9 @@ end RegisterNetEvent("QBCore:Server:OnPlayerLoaded", function(src) src = src or source TriggerEvent("community_bridge:Server:OnPlayerLoaded", src) + local jobData = Framework.GetPlayerJobData(src) + if not jobData then return end + Framework.AddJobCount(src, jobData.jobName) end) RegisterNetEvent("QBCore:Server:OnPlayerUnload", function(src) diff --git a/modules/framework/qbx_core/server.lua b/modules/framework/qbx_core/server.lua index 47a1ce2..de994dd 100644 --- a/modules/framework/qbx_core/server.lua +++ b/modules/framework/qbx_core/server.lua @@ -467,6 +467,9 @@ end RegisterNetEvent("QBCore:Server:OnPlayerLoaded", function(src) src = src or source TriggerEvent("community_bridge:Server:OnPlayerLoaded", src) + local jobData = Framework.GetPlayerJobData(src) + if not jobData then return end + Framework.AddJobCount(src, jobData.jobName) end) RegisterNetEvent("QBCore:Server:OnPlayerUnload", function(src)