78 lines
2.0 KiB
Lua
78 lines
2.0 KiB
Lua
|
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
|