From 1d06e246abcfea94570feffb208390903bf61357 Mon Sep 17 00:00:00 2001 From: Alessandro Alterno <28725795+lexinor@users.noreply.github.com> Date: Fri, 13 Jan 2023 22:47:26 +0100 Subject: [PATCH] Added some new globalstate stuff and fixed stuff - esx:playerDropped event was not working properly, source was not working, changed it to playerId - Added GlobalState[name] to make it easier to track onduty counters --- [esx_addons]/esx_service/server/main.lua | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/[esx_addons]/esx_service/server/main.lua b/[esx_addons]/esx_service/server/main.lua index a5569e83..4b62e369 100644 --- a/[esx_addons]/esx_service/server/main.lua +++ b/[esx_addons]/esx_service/server/main.lua @@ -17,11 +17,13 @@ RegisterServerEvent('esx_service:activateService') AddEventHandler('esx_service:activateService', function(name, max) InService[name] = {} MaxInService[name] = max + GlobalState[name] = GetInServiceCount(name) end) RegisterServerEvent('esx_service:disableService') AddEventHandler('esx_service:disableService', function(name) InService[name][source] = nil + GlobalState[name] = GetInServiceCount(name) end) RegisterServerEvent('esx_service:notifyAllInService') @@ -35,12 +37,13 @@ end) ESX.RegisterServerCallback('esx_service:enableService', function(source, cb, name) local inServiceCount = GetInServiceCount(name) - + if inServiceCount >= MaxInService[name] then cb(false, MaxInService[name], inServiceCount) else InService[name][source] = true - cb(true, MaxInService[name], inServiceCount) + GlobalState[name] = GetInServiceCount(name) + cb(true, MaxInService[name], inServiceCount) end end) @@ -75,8 +78,10 @@ end) AddEventHandler('esx:playerDropped', function(playerId, reason) for k,v in pairs(InService) do - if v[source] == true then - v[source] = nil + if v[playerId] == true then + v[playerId] = nil + GlobalState[k] = GetInServiceCount(k) end end end) +