Scripts/resources/[ps]/ps-adminmenu/server/utils.lua

78 lines
2.0 KiB
Lua
Raw Normal View History

2024-12-29 20:11:16 +00:00
local function noPerms(source)
QBCore.Functions.Notify(source, "You are not Admin or God.", 'error')
end
--- @param perms string
function CheckPerms(perms)
local hasPerms = QBCore.Functions.HasPermission(source, perms)
if not hasPerms then
return noPerms(source)
end
return hasPerms
end
function CheckDataFromKey(key)
local actions = Config.Actions[key]
if actions then
local data = nil
if actions.event then
data = actions
end
if actions.dropdown then
for _, v in pairs(actions.dropdown) do
if v.event then
local new = v
new.perms = actions.perms
data = new
break
end
end
end
return data
end
local playerActions = Config.PlayerActions[key]
if playerActions then
return playerActions
end
local otherActions = Config.OtherActions[key]
if otherActions then
return otherActions
end
end
---@param plate string
---@return boolean
function CheckAlreadyPlate(plate)
local vPlate = QBCore.Shared.Trim(plate)
local result = MySQL.single.await("SELECT plate FROM player_vehicles WHERE plate = ?", { vPlate })
if result and result.plate then return true end
return false
end
lib.callback.register('ps-adminmenu:callback:CheckPerms', function(source, perms)
return CheckPerms(perms)
end)
lib.callback.register('ps-adminmenu:callback:CheckAlreadyPlate', function(_, vPlate)
return CheckAlreadyPlate(vPlate)
end)
--- @param source number
--- @param target number
function CheckRoutingbucket(source, target)
local sourceBucket = GetPlayerRoutingBucket(source)
local targetBucket = GetPlayerRoutingBucket(target)
if sourceBucket == targetBucket then return end
SetPlayerRoutingBucket(source, targetBucket)
QBCore.Functions.Notify(source, locale("bucket_set", targetBucket), 'error', 7500)
end