feat!: ace permission system

This commit is contained in:
BerkieBb
2022-02-24 21:58:49 +01:00
parent 1412d02db1
commit 31888996ab
13 changed files with 195 additions and 72 deletions
+21 -3
View File
@@ -43,6 +43,12 @@ function QBCore.Player.CheckPlayerData(source, PlayerData)
PlayerData.license = PlayerData.license or QBCore.Functions.GetIdentifier(source, 'license')
PlayerData.name = GetPlayerName(source)
PlayerData.cid = PlayerData.cid or 1
if not QBCore.Config.Server.UseOldPermissionSystem then
if PlayerData.permission then ExecuteCommand(('remove_principal identifier.%s group.%s'):format(PlayerData.license, PlayerData.permission)) end
PlayerData.permission = PlayerData.permission or 'user'
ExecuteCommand(('add_principal identifier.%s group.%s'):format(PlayerData.license, PlayerData.permission))
PlayerData.optin = PlayerData.optin or true
end
PlayerData.money = PlayerData.money or {}
for moneytype, startamount in pairs(QBCore.Config.Money.MoneyTypes) do
PlayerData.money[moneytype] = PlayerData.money[moneytype] or startamount
@@ -152,11 +158,22 @@ function QBCore.Player.CreatePlayer(PlayerData)
function self.Functions.UpdatePlayerData(dontUpdateChat)
TriggerClientEvent('QBCore:Player:SetPlayerData', self.PlayerData.source, self.PlayerData)
if dontUpdateChat == nil then
if not dontUpdateChat then
QBCore.Commands.Refresh(self.PlayerData.source)
end
end
if not QBCore.Config.Server.UseOldPermissionSystem then
function self.Functions.SetPermission(permission)
permission = permission:lower()
ExecuteCommand(('remove_principal identifier.%s group.%s'):format(self.PlayerData.license, self.PlayerData.permission))
ExecuteCommand(('add_principal identifier.%s group.%s'):format(self.PlayerData.license, permission))
self.PlayerData.permission = permission
self.Functions.UpdatePlayerData()
TriggerClientEvent('QBCore:Client:OnPermissionUpdate', self.PlayerData.source, permission)
end
end
function self.Functions.SetJob(job, grade)
job = job:lower()
grade = tostring(grade) or '0'
@@ -215,13 +232,14 @@ function QBCore.Player.CreatePlayer(PlayerData)
end
function self.Functions.SetMetaData(meta, val)
meta = meta:lower()
if not meta then return end
meta = meta:lower()
self.PlayerData.metadata[meta] = val
self.Functions.UpdatePlayerData()
end
function self.Functions.AddJobReputation(amount)
if not amount then return end
amount = tonumber(amount)
self.PlayerData.metadata['jobrep'][self.PlayerData.job.name] = self.PlayerData.metadata['jobrep'][self.PlayerData.job.name] + amount
self.Functions.UpdatePlayerData()
@@ -657,4 +675,4 @@ function QBCore.Player.CreateSerialNumber()
return SerialNumber
end
PaycheckInterval() -- This starts the paycheck system
PaycheckInterval() -- This starts the paycheck system