forked from Simnation/Main
Update player.lua
This commit is contained in:
parent
a8a35fd831
commit
7533584a53
1 changed files with 82 additions and 67 deletions
|
@ -310,82 +310,97 @@ function QBCore.Player.CreatePlayer(PlayerData, Offline)
|
||||||
return self.PlayerData.metadata['rep'][rep] or 0
|
return self.PlayerData.metadata['rep'][rep] or 0
|
||||||
end
|
end
|
||||||
|
|
||||||
function self.Functions.AddMoney(moneytype, amount, reason)
|
function self.Functions.AddMoney(moneytype, amount, reason)
|
||||||
reason = reason or 'unknown'
|
reason = reason or 'unknown'
|
||||||
moneytype = moneytype:lower()
|
moneytype = moneytype:lower()
|
||||||
amount = tonumber(amount)
|
amount = tonumber(amount)
|
||||||
if amount < 0 then return end
|
if amount < 0 then return end
|
||||||
if not self.PlayerData.money[moneytype] then return false end
|
if not self.PlayerData.money[moneytype] then return false end
|
||||||
self.PlayerData.money[moneytype] = self.PlayerData.money[moneytype] + amount
|
self.PlayerData.money[moneytype] = self.PlayerData.money[moneytype] + amount
|
||||||
|
|
||||||
if not self.Offline then
|
local isMoneyItem, moneyItemName = exports["tgiann-inventory"]:IsMoneyItem(moneytype)
|
||||||
self.Functions.UpdatePlayerData()
|
if isMoneyItem then
|
||||||
if amount > 100000 then
|
exports["tgiann-inventory"]:SetItem(self.PlayerData.source, moneyItemName, self.PlayerData.money[moneytype])
|
||||||
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'AddMoney', 'lightgreen', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason, true)
|
|
||||||
else
|
|
||||||
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'AddMoney', 'lightgreen', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
|
|
||||||
end
|
|
||||||
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, amount, false)
|
|
||||||
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'add', reason)
|
|
||||||
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'add', reason)
|
|
||||||
end
|
|
||||||
|
|
||||||
return true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function self.Functions.RemoveMoney(moneytype, amount, reason)
|
if not self.Offline then
|
||||||
reason = reason or 'unknown'
|
self.Functions.UpdatePlayerData()
|
||||||
moneytype = moneytype:lower()
|
if amount > 100000 then
|
||||||
amount = tonumber(amount)
|
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'AddMoney', 'lightgreen', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason, true)
|
||||||
if amount < 0 then return end
|
else
|
||||||
if not self.PlayerData.money[moneytype] then return false end
|
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'AddMoney', 'lightgreen', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') added, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
|
||||||
for _, mtype in pairs(QBCore.Config.Money.DontAllowMinus) do
|
|
||||||
if mtype == moneytype then
|
|
||||||
if (self.PlayerData.money[moneytype] - amount) < 0 then
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
if self.PlayerData.money[moneytype] - amount < QBCore.Config.Money.MinusLimit then return false end
|
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, amount, false)
|
||||||
self.PlayerData.money[moneytype] = self.PlayerData.money[moneytype] - amount
|
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'add', reason)
|
||||||
|
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'add', reason)
|
||||||
if not self.Offline then
|
|
||||||
self.Functions.UpdatePlayerData()
|
|
||||||
if amount > 100000 then
|
|
||||||
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'RemoveMoney', 'red', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') removed, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason, true)
|
|
||||||
else
|
|
||||||
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'RemoveMoney', 'red', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') removed, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
|
|
||||||
end
|
|
||||||
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, amount, true)
|
|
||||||
if moneytype == 'bank' then
|
|
||||||
TriggerClientEvent('qb-phone:client:RemoveBankMoney', self.PlayerData.source, amount)
|
|
||||||
end
|
|
||||||
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'remove', reason)
|
|
||||||
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'remove', reason)
|
|
||||||
end
|
|
||||||
|
|
||||||
return true
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function self.Functions.SetMoney(moneytype, amount, reason)
|
return true
|
||||||
reason = reason or 'unknown'
|
end
|
||||||
moneytype = moneytype:lower()
|
|
||||||
amount = tonumber(amount)
|
|
||||||
if amount < 0 then return false end
|
|
||||||
if not self.PlayerData.money[moneytype] then return false end
|
|
||||||
local difference = amount - self.PlayerData.money[moneytype]
|
|
||||||
self.PlayerData.money[moneytype] = amount
|
|
||||||
|
|
||||||
if not self.Offline then
|
function self.Functions.RemoveMoney(moneytype, amount, reason)
|
||||||
self.Functions.UpdatePlayerData()
|
reason = reason or 'unknown'
|
||||||
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'SetMoney', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') set, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
|
moneytype = moneytype:lower()
|
||||||
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, math.abs(difference), difference < 0)
|
amount = tonumber(amount)
|
||||||
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'set', reason)
|
if amount < 0 then return end
|
||||||
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'set', reason)
|
if not self.PlayerData.money[moneytype] then return false end
|
||||||
|
for _, mtype in pairs(QBCore.Config.Money.DontAllowMinus) do
|
||||||
|
if mtype == moneytype then
|
||||||
|
if (self.PlayerData.money[moneytype] - amount) < 0 then
|
||||||
|
return false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return true
|
|
||||||
end
|
end
|
||||||
|
self.PlayerData.money[moneytype] = self.PlayerData.money[moneytype] - amount
|
||||||
|
local isMoneyItem, moneyItemName = exports["tgiann-inventory"]:IsMoneyItem(moneytype)
|
||||||
|
if isMoneyItem then
|
||||||
|
exports["tgiann-inventory"]:SetItem(self.PlayerData.source, moneyItemName, self.PlayerData.money[moneytype])
|
||||||
|
end
|
||||||
|
|
||||||
|
if not self.Offline then
|
||||||
|
self.Functions.UpdatePlayerData()
|
||||||
|
if amount > 100000 then
|
||||||
|
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'RemoveMoney', 'red', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') removed, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason, true)
|
||||||
|
else
|
||||||
|
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'RemoveMoney', 'red', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') removed, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
|
||||||
|
end
|
||||||
|
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, amount, true)
|
||||||
|
if moneytype == 'bank' then
|
||||||
|
TriggerClientEvent('qb-phone:client:RemoveBankMoney', self.PlayerData.source, amount)
|
||||||
|
end
|
||||||
|
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'remove', reason)
|
||||||
|
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'remove', reason)
|
||||||
|
end
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
function self.Functions.SetMoney(moneytype, amount, reason, forInventory)
|
||||||
|
reason = reason or 'unknown'
|
||||||
|
moneytype = moneytype:lower()
|
||||||
|
amount = tonumber(amount)
|
||||||
|
if amount < 0 then return false end
|
||||||
|
if not self.PlayerData.money[moneytype] then return false end
|
||||||
|
local difference = amount - self.PlayerData.money[moneytype]
|
||||||
|
self.PlayerData.money[moneytype] = amount
|
||||||
|
|
||||||
|
if not forInventory then
|
||||||
|
local isMoneyItem, moneyItemName = exports["tgiann-inventory"]:IsMoneyItem(moneytype)
|
||||||
|
if isMoneyItem then
|
||||||
|
exports["tgiann-inventory"]:SetItem(self.PlayerData.source, moneyItemName, amount)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if not self.Offline then
|
||||||
|
self.Functions.UpdatePlayerData()
|
||||||
|
TriggerEvent('qb-log:server:CreateLog', 'playermoney', 'SetMoney', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** $' .. amount .. ' (' .. moneytype .. ') set, new ' .. moneytype .. ' balance: ' .. self.PlayerData.money[moneytype] .. ' reason: ' .. reason)
|
||||||
|
TriggerClientEvent('hud:client:OnMoneyChange', self.PlayerData.source, moneytype, math.abs(difference), difference < 0)
|
||||||
|
TriggerClientEvent('QBCore:Client:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'set', reason)
|
||||||
|
TriggerEvent('QBCore:Server:OnMoneyChange', self.PlayerData.source, moneytype, amount, 'set', reason)
|
||||||
|
end
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
function self.Functions.GetMoney(moneytype)
|
function self.Functions.GetMoney(moneytype)
|
||||||
if not moneytype then return false end
|
if not moneytype then return false end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue