-- ESX if GetResourceState("es_extended") == "started" then Citizen.CreateThread(function() ESX = exports["es_extended"]:getSharedObject() while ESX.GetPlayerData().job == nil do Citizen.Wait(100) end TriggerServerEvent(GetCurrentResourceName()..":CheckAccess") end) RegisterNetEvent('esx:setJob', function(_) TriggerServerEvent(GetCurrentResourceName()..":CheckAccess") end) RegisterNetEvent('esx:setJob2', function(_) TriggerServerEvent(GetCurrentResourceName()..":CheckAccess") end) -- QBCore elseif GetResourceState("qb-core") == "started" then Citizen.CreateThread(function() QBCore = exports['qb-core']:GetCoreObject() while QBCore.Functions.GetPlayerData().job == nil do Citizen.Wait(100) end TriggerServerEvent(GetCurrentResourceName()..":CheckAccess") end) RegisterNetEvent('QBCore:Client:OnPlayerUnload', function() TriggerServerEvent(GetCurrentResourceName()..":CheckAccess") end) RegisterNetEvent('QBCore:Client:OnJobUpdate', function(_) TriggerServerEvent(GetCurrentResourceName()..":CheckAccess") end) -- Standalone / Other else Citizen.CreateThread(function() TriggerServerEvent(GetCurrentResourceName()..":CheckAccess") end) end hasAccess = false RegisterNetEvent(GetCurrentResourceName()..":CheckAccess", function(access_table) hasAccess = false for type, _ in pairs(Config.Models) do for model, v in pairs(access_table[type]) do Config.Models[type][model].HasAccess = v if v then hasAccess = true end end end for model, v in pairs(access_table["siren"]) do Config.SirenTones[model].HasAccess = v if v then hasAccess = true end end end)