mirror of
https://github.com/qbcore-fivem/qb-core.git
synced 2026-09-04 17:23:31 +00:00
add more returns for validation
This commit is contained in:
+48
-25
@@ -211,16 +211,6 @@ end
|
|||||||
|
|
||||||
-- Add/Edit Player Functions Below
|
-- Add/Edit Player Functions Below
|
||||||
|
|
||||||
function Player:UpdatePlayerData()
|
|
||||||
if self.Offline then return end
|
|
||||||
TriggerEvent('QBCore:Player:SetPlayerData', self.PlayerData)
|
|
||||||
TriggerClientEvent('QBCore:Player:SetPlayerData', self.PlayerData.source, self.PlayerData)
|
|
||||||
end
|
|
||||||
|
|
||||||
function Player:Notify(text, type, length)
|
|
||||||
TriggerClientEvent('QBCore:Notify', self.PlayerData.source, text, type, length)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Player Data Getters
|
-- Player Data Getters
|
||||||
|
|
||||||
function Player:GetName()
|
function Player:GetName()
|
||||||
@@ -247,10 +237,14 @@ end
|
|||||||
-- Job and Gang Functions
|
-- Job and Gang Functions
|
||||||
|
|
||||||
function Player:SetJobDuty(onDuty)
|
function Player:SetJobDuty(onDuty)
|
||||||
self.PlayerData.job.onduty = not not onDuty
|
if not self.PlayerData.job then return false end
|
||||||
|
local newDuty = onDuty == true
|
||||||
|
if self.PlayerData.job.onduty == newDuty then return false end
|
||||||
|
self.PlayerData.job.onduty = newDuty
|
||||||
|
self:UpdatePlayerData()
|
||||||
TriggerEvent('QBCore:Server:OnJobUpdate', self.PlayerData.source, self.PlayerData.job)
|
TriggerEvent('QBCore:Server:OnJobUpdate', self.PlayerData.source, self.PlayerData.job)
|
||||||
TriggerClientEvent('QBCore:Client:OnJobUpdate', self.PlayerData.source, self.PlayerData.job)
|
TriggerClientEvent('QBCore:Client:OnJobUpdate', self.PlayerData.source, self.PlayerData.job)
|
||||||
self:UpdatePlayerData()
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
function Player:SetJob(job, grade)
|
function Player:SetJob(job, grade)
|
||||||
@@ -325,43 +319,50 @@ end
|
|||||||
-- Player Data Functions
|
-- Player Data Functions
|
||||||
|
|
||||||
function Player:SetPlayerData(key, val)
|
function Player:SetPlayerData(key, val)
|
||||||
if not key or type(key) ~= 'string' then return end
|
if not key or type(key) ~= 'string' then return false end
|
||||||
|
if self.PlayerData[key] == nil then return false end
|
||||||
self.PlayerData[key] = val
|
self.PlayerData[key] = val
|
||||||
self:UpdatePlayerData()
|
self:UpdatePlayerData()
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
function Player:SetMetaData(meta, val)
|
function Player:SetMetaData(meta, val)
|
||||||
if not meta or type(meta) ~= 'string' then return end
|
if not meta or type(meta) ~= 'string' then return false end
|
||||||
|
if self.PlayerData.metadata[meta] == nil then return false end
|
||||||
if meta == 'hunger' or meta == 'thirst' then
|
if meta == 'hunger' or meta == 'thirst' then
|
||||||
val = math.min(math.max(val, 0), 100)
|
val = math.min(math.max(val, 0), 100)
|
||||||
end
|
end
|
||||||
self.PlayerData.metadata[meta] = val
|
self.PlayerData.metadata[meta] = val
|
||||||
self:UpdatePlayerData()
|
self:UpdatePlayerData()
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Reputation Functions
|
-- Reputation Functions
|
||||||
|
|
||||||
function Player:AddRep(rep, amount)
|
function Player:AddRep(rep, amount)
|
||||||
if not rep then return end
|
if not rep then return false end
|
||||||
local addAmount = tonumber(amount) or 1
|
local addAmount = tonumber(amount) or 1
|
||||||
local currentRep = self.PlayerData.metadata['rep'][rep] or 0
|
local currentRep = self.PlayerData.metadata['rep'][rep] or 0
|
||||||
self.PlayerData.metadata['rep'][rep] = currentRep + addAmount
|
self.PlayerData.metadata['rep'][rep] = currentRep + addAmount
|
||||||
self:UpdatePlayerData()
|
self:UpdatePlayerData()
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
function Player:RemoveRep(rep, amount)
|
function Player:RemoveRep(rep, amount)
|
||||||
if not rep then return end
|
if not rep then return false end
|
||||||
local removeAmount = tonumber(amount) or 1
|
local removeAmount = tonumber(amount) or 1
|
||||||
local currentRep = self.PlayerData.metadata['rep'][rep] or 0
|
local currentRep = self.PlayerData.metadata['rep'][rep] or 0
|
||||||
self.PlayerData.metadata['rep'][rep] = math.max(currentRep - removeAmount, 0)
|
self.PlayerData.metadata['rep'][rep] = math.max(currentRep - removeAmount, 0)
|
||||||
self:UpdatePlayerData()
|
self:UpdatePlayerData()
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
function Player:SetRep(rep, amount)
|
function Player:SetRep(rep, amount)
|
||||||
if not rep then return end
|
if not rep then return false end
|
||||||
local setAmount = math.max(tonumber(amount) or 0, 0)
|
local setAmount = math.max(tonumber(amount) or 0, 0)
|
||||||
self.PlayerData.metadata['rep'][rep] = setAmount
|
self.PlayerData.metadata['rep'][rep] = setAmount
|
||||||
self:UpdatePlayerData()
|
self:UpdatePlayerData()
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Money Functions
|
-- Money Functions
|
||||||
@@ -415,6 +416,36 @@ function Player:SetMoney(moneytype, amount, reason)
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Utility Functions
|
||||||
|
|
||||||
|
function Player:Notify(text, type, length)
|
||||||
|
TriggerClientEvent('QBCore:Notify', self.PlayerData.source, text, type, length)
|
||||||
|
end
|
||||||
|
|
||||||
|
function Player:AddMethod(methodName, handler)
|
||||||
|
if self.Functions[methodName] or Player[methodName] then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
self.Functions[methodName] = handler
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
function Player:AddField(fieldName, data)
|
||||||
|
if self[fieldName] ~= nil or Player[fieldName] ~= nil then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
self[fieldName] = data
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Player Handler Functions
|
||||||
|
|
||||||
|
function Player:UpdatePlayerData()
|
||||||
|
if self.Offline then return end
|
||||||
|
TriggerEvent('QBCore:Player:SetPlayerData', self.PlayerData)
|
||||||
|
TriggerClientEvent('QBCore:Player:SetPlayerData', self.PlayerData.source, self.PlayerData)
|
||||||
|
end
|
||||||
|
|
||||||
function Player:Save()
|
function Player:Save()
|
||||||
if self.Offline then
|
if self.Offline then
|
||||||
QBCore.Player.SaveOffline(self.PlayerData)
|
QBCore.Player.SaveOffline(self.PlayerData)
|
||||||
@@ -428,14 +459,6 @@ function Player:Logout()
|
|||||||
QBCore.Player.Logout(self.PlayerData.source)
|
QBCore.Player.Logout(self.PlayerData.source)
|
||||||
end
|
end
|
||||||
|
|
||||||
function Player:AddMethod(methodName, handler)
|
|
||||||
self.Functions[methodName] = handler
|
|
||||||
end
|
|
||||||
|
|
||||||
function Player:AddField(fieldName, data)
|
|
||||||
self[fieldName] = data
|
|
||||||
end
|
|
||||||
|
|
||||||
function QBCore.Player.CreatePlayer(PlayerData, Offline)
|
function QBCore.Player.CreatePlayer(PlayerData, Offline)
|
||||||
local player = Player.new(PlayerData, Offline)
|
local player = Player.new(PlayerData, Offline)
|
||||||
if not Offline then
|
if not Offline then
|
||||||
|
|||||||
Reference in New Issue
Block a user