openedManagementMenu = false function IsJobAllowed(jobName, actionType) local allowedList = {} if actionType == "create" then allowedList = Config.AllowedJobs elseif actionType == "impound" then allowedList = Config.ImpoundJobs end for _, allowed in ipairs(allowedList) do if jobName == allowed then return true end end Debug("Job is not allowed to", actionType, jobName) return false end local function RequireNearbyGarageWithOwnership() if not ClosestGarage or not Config.Garages[ClosestGarage] then Notification(i18n.t("management.no_garage_nearby"), "error") return false end if not IsGarageOwner then Notification(i18n.t("management.no_garage_owner"), "error") return false end return true end RegisterCommand("garagemenu", function() if not RequireNearbyGarageWithOwnership() then return end openedManagementMenu = true OpenManagementMenu() end) AddEventHandler("advancedgarages:openGiveKeyMenu", function() if not RequireNearbyGarageWithOwnership() then return end local nearbyPlayers = {} local pedCoords = GetEntityCoords(cache.ped) for _, playerId in pairs(GetPlayers()) do local playerPed = GetPlayerPed(playerId) local dist = #(GetEntityCoords(playerPed) - pedCoords) if dist < 5.5 and cache.ped ~= playerPed then local playerName = lib.callback.await("advancedgarages:GetPlayerSqlName", false, GetPlayerServerId(playerId)) table.insert(nearbyPlayers, { id = GetPlayerServerId(playerId), name = playerName }) end end if #nearbyPlayers > 0 then openGiveKeyMenu(nearbyPlayers) else Notification(i18n.t("management.no_player"), "error") end end) AddEventHandler("advancedgarages:openKeyHoldersMenu", function() if not RequireNearbyGarageWithOwnership() then return end openTakeKeyMenu() end) RegisterNetEvent("advancedgarages:sellGarage") AddEventHandler("advancedgarages:sellGarage", function() TriggerServerEvent("advancedgarages:sellGarage", ClosestGarage) end) function SellGarage(garageId) TriggerServerEvent("advancedgarages:sellGarage", garageId) Wait(100) return true end exports("SellGarage", SellGarage)