From b0f878f5bb194b02207e5c257967b608ef19f645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20N=27gadi?= Date: Wed, 2 Aug 2017 11:43:22 +0200 Subject: [PATCH] Add files --- __resource.lua | 7 +++++++ server/main.lua | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 __resource.lua create mode 100644 server/main.lua diff --git a/__resource.lua b/__resource.lua new file mode 100644 index 00000000..d8e5a91c --- /dev/null +++ b/__resource.lua @@ -0,0 +1,7 @@ +resource_manifest_version '44febabe-d386-4d18-afbe-5e627f4af937' + +description 'ESX Service' + +server_scripts { + 'server/main.lua' +} \ No newline at end of file diff --git a/server/main.lua b/server/main.lua new file mode 100644 index 00000000..a30b38dc --- /dev/null +++ b/server/main.lua @@ -0,0 +1,43 @@ +ESX = nil +local InService = {} +local MaxInService = {} + +TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) + +function GetInServiceCount(name) + + local count = 0 + + for k,v in pairs(InService[name]) do + if v == true then + count = count + 1 + end + end + + return count + +end + +AddEventHandler('esx_service:activateService', function(name, max) + InService[name] = {} + MaxInService[name] = max +end) + +AddEventHandler('esx_service:disableService', function(name) + InService[name][source] = nil +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] = enable + cb(true, MaxInService[name], inServiceCount) + end + +end) + +