Gang Grades

This commit is contained in:
GhzGarage
2021-08-05 18:47:37 -05:00
parent 9a5cfb40f6
commit c69d9e775a
3 changed files with 137 additions and 14 deletions
+7 -5
View File
@@ -120,12 +120,14 @@ QBCore.Commands.Add("job", "Check Your Job", {}, false, function(source, args)
TriggerClientEvent('QBCore:Notify', source, "Job: "..Player.PlayerData.job.label.. " Grade: "..Player.PlayerData.job.grade.name)
end)
QBCore.Commands.Add("setgang", "Set A Players Gang (Admin Only)", {{name="id", help="Player ID"}, {name="job", help="Name of a gang"}}, true, function(source, args)
QBCore.Commands.Add("setgang", "Set A Players Gang (Admin Only)", {{name="id", help="Player ID"}, {name="job", help="Name of a gang"}, {name="grade", help="Grade"}}, true, function(source, args)
local Player = QBCore.Functions.GetPlayer(tonumber(args[1]))
if Player ~= nil then
Player.Functions.SetGang(tostring(args[2]))
else
if (args[1] == nil) or (args[2] == nil) or (args[3] == nil) then
TriggerClientEvent('QBCore:Notify', source, "All Arguments Must Be Filled", "error")
elseif Player == nil then
TriggerClientEvent('QBCore:Notify', source, "Player Not Online", "error")
else
Player.Functions.SetGang(tostring(args[2]), tonumber(args[3]))
end
end, "admin")
@@ -133,7 +135,7 @@ QBCore.Commands.Add("gang", "Check Your Gang", {}, false, function(source, args)
local Player = QBCore.Functions.GetPlayer(source)
if Player.PlayerData.gang.name ~= "none" then
TriggerClientEvent('QBCore:Notify', source, "Gang: "..Player.PlayerData.gang.label)
TriggerClientEvent('QBCore:Notify', source, "Gang: "..Player.PlayerData.gang.label.. " Grade: "..Player.PlayerData.gang.grade.name)
else
TriggerClientEvent('QBCore:Notify', source, "No Gang Affiliation", "error")
end
+21 -1
View File
@@ -117,6 +117,11 @@ QBCore.Player.CheckPlayerData = function(source, PlayerData)
PlayerData.gang = PlayerData.gang ~= nil and PlayerData.gang or {}
PlayerData.gang.name = PlayerData.gang.name ~= nil and PlayerData.gang.name or "none"
PlayerData.gang.label = PlayerData.gang.label ~= nil and PlayerData.gang.label or "No Gang Affiliaton"
-- Added for grade system
PlayerData.gang.isboss = PlayerData.gang.isboss ~= nil and PlayerData.gang.isboss or false
PlayerData.gang.grade = PlayerData.gang.grade ~= nil and PlayerData.gang.grade or {}
PlayerData.gang.grade.name = PlayerData.gang.grade.name ~= nil and PlayerData.gang.grade.name or "none"
PlayerData.gang.grade.level = PlayerData.gang.grade.level ~= nil and PlayerData.gang.grade.level or 0
PlayerData.position = PlayerData.position ~= nil and PlayerData.position or QBConfig.DefaultSpawn
PlayerData.LoggedIn = true
@@ -169,11 +174,26 @@ QBCore.Player.CreatePlayer = function(PlayerData)
return false
end
self.Functions.SetGang = function(gang)
self.Functions.SetGang = function(gang, grade)
local gang = gang:lower()
local grade = tostring(grade) ~= nil and tostring(grade) or '0'
if QBCore.Shared.Gangs[gang] ~= nil then
self.PlayerData.gang.name = gang
self.PlayerData.gang.label = QBCore.Shared.Gangs[gang].label
if QBCore.Shared.Gangs[gang].grades[grade] then
local ganggrade = QBCore.Shared.Gangs[gang].grades[grade]
self.PlayerData.gang.grade = {}
self.PlayerData.gang.grade.name = ganggrade.name
self.PlayerData.gang.grade.level = tonumber(grade)
self.PlayerData.gang.isboss = ganggrade.isboss ~= nil and ganggrade.isboss or false
else
self.PlayerData.gang.grade = {}
self.PlayerData.gang.grade.name = 'No Grades'
self.PlayerData.gang.grade.level = 0
self.PlayerData.gang.isboss = false
end
self.Functions.UpdatePlayerData()
TriggerClientEvent("QBCore:Client:OnGangUpdate", self.PlayerData.source, self.PlayerData.gang)
end