feat(getCore/server): hasGroup method

This commit is contained in:
Linden
2022-05-30 15:43:42 +10:00
parent d872f5fa5f
commit 962e735d6f
3 changed files with 68 additions and 1 deletions

View File

@@ -16,5 +16,31 @@ return function(resource)
return setmetatable(player, CPlayer)
end
function CPlayer:hasGroup(filter)
local type = type(filter)
if type == 'string' then
if self.job.name == filter then
return self.job.name, self.job.grade
end
else
local tabletype = table.type(filter)
if tabletype == 'hash' then
local grade = filter[self.job.name]
if grade and grade <= self.job.grade then
return self.job.name, self.job.grade
end
elseif tabletype == 'array' then
for i = 1, #filter do
if self.job.name == filter[i] then
return self.job.name, self.job.grade
end
end
end
end
end
return ESX
end

View File

@@ -58,7 +58,7 @@ return function(resource)
local data = PlayerData[groups[j]]
if data.name == group then
return data.group.name, data.grade.level
return data.name, data.grade.level
end
end
end

View File

@@ -16,5 +16,46 @@ return function(resource)
return setmetatable(player, CPlayer)
end
local groups = { 'job', 'gang' }
function CPlayer:hasGroup(filter)
local type = type(filter)
if type == 'string' then
for i = 1, #groups do
local data = self.PlayerData[groups[i]]
if data.name == filter then
return data.name, data.grade.level
end
end
else
local tabletype = table.type(filter)
if tabletype == 'hash' then
for i = 1, #groups do
local data = self.PlayerData[groups[i]]
local grade = filter[data.name]
if grade and grade <= data.grade.level then
return data.name, data.grade.level
end
end
elseif tabletype == 'array' then
for i = 1, #filter do
local group = filter[i]
for j = 1, #groups do
local data = self.PlayerData[groups[j]]
if data.name == group then
return data.name, data.grade.level
end
end
end
end
end
end
return QBCore
end