Update functions.lua

This commit is contained in:
Andyyy7666
2022-09-18 02:36:45 +02:00
committed by GitHub
parent cd3e3ab21b
commit d3d231d304

View File

@@ -72,15 +72,14 @@ end
-- update the players money on the client kinda like a refresh. -- update the players money on the client kinda like a refresh.
function NDCore.Functions.UpdateMoney(player) function NDCore.Functions.UpdateMoney(player)
local player = tonumber(player) local player = tonumber(player)
MySQL.query("SELECT cash, bank FROM characters WHERE character_id = ? LIMIT 1", {NDCore.Players[player].id}, function(result) local result = MySQL.query.await("SELECT cash, bank FROM characters WHERE character_id = ? LIMIT 1", {NDCore.Players[player].id})
if result then if result then
local cash = result[1].cash local cash = result[1].cash
local bank = result[1].bank local bank = result[1].bank
NDCore.Players[player].cash = cash NDCore.Players[player].cash = cash
NDCore.Players[player].bank = bank NDCore.Players[player].bank = bank
TriggerClientEvent("ND:updateMoney", player, cash, bank) TriggerClientEvent("ND:updateMoney", player, cash, bank)
end end
end)
end end
-- Transfer money from one players bank account to another. -- Transfer money from one players bank account to another.
@@ -113,17 +112,17 @@ function NDCore.Functions.TransferBank(amount, player, target)
}) })
return false return false
else else
TriggerEvent("ND:moneyChange", player, "bank", amount, "remove")
MySQL.query.await("UPDATE characters SET bank = bank - ? WHERE character_id = ?", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET bank = bank - ? WHERE character_id = ?", {amount, NDCore.Players[player].id})
NDCore.Functions.UpdateMoney(player) NDCore.Functions.UpdateMoney(player)
TriggerEvent("ND:moneyChange", player, "bank", amount, "remove")
TriggerClientEvent("chat:addMessage", player, { TriggerClientEvent("chat:addMessage", player, {
color = {0, 255, 0}, color = {0, 255, 0},
args = {"Success", "You paid " .. NDCore.Players[target].firstName .. " " .. NDCore.Players[target].lastName .. " $" .. amount .. "."} args = {"Success", "You paid " .. NDCore.Players[target].firstName .. " " .. NDCore.Players[target].lastName .. " $" .. amount .. "."}
}) })
TriggerEvent("ND:moneyChange", target, "bank", amount, "add")
MySQL.query.await("UPDATE characters SET bank = bank + ? WHERE character_id = ?", {amount, NDCore.Players[target].id}) MySQL.query.await("UPDATE characters SET bank = bank + ? WHERE character_id = ?", {amount, NDCore.Players[target].id})
NDCore.Functions.UpdateMoney(target) NDCore.Functions.UpdateMoney(target)
TriggerEvent("ND:moneyChange", target, "bank", amount, "add")
TriggerClientEvent("chat:addMessage", target, { TriggerClientEvent("chat:addMessage", target, {
color = {0, 255, 0}, color = {0, 255, 0},
args = {"Success", NDCore.Players[player].firstName .. " " .. NDCore.Players[player].lastName .. " sent you $" .. amount .. "."} args = {"Success", NDCore.Players[player].firstName .. " " .. NDCore.Players[player].lastName .. " sent you $" .. amount .. "."}
@@ -162,17 +161,17 @@ function NDCore.Functions.GiveCash(amount, player, target)
}) })
return false return false
else else
TriggerEvent("ND:moneyChange", player, "cash", amount, "remove")
MySQL.query.await("UPDATE characters SET cash = cash - ? WHERE character_id = ?", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET cash = cash - ? WHERE character_id = ?", {amount, NDCore.Players[player].id})
NDCore.Functions.UpdateMoney(player) NDCore.Functions.UpdateMoney(player)
TriggerEvent("ND:moneyChange", player, "cash", amount, "remove")
TriggerClientEvent("chat:addMessage", player, { TriggerClientEvent("chat:addMessage", player, {
color = {0, 255, 0}, color = {0, 255, 0},
args = {"Success", "You gave " .. NDCore.Players[target].firstName .. " " .. NDCore.Players[target].lastName .. " $" .. amount .. "."} args = {"Success", "You gave " .. NDCore.Players[target].firstName .. " " .. NDCore.Players[target].lastName .. " $" .. amount .. "."}
}) })
TriggerEvent("ND:moneyChange", target, "cash", amount, "add")
MySQL.query.await("UPDATE characters SET cash = cash + ? WHERE character_id = ?", {amount, NDCore.Players[target].id}) MySQL.query.await("UPDATE characters SET cash = cash + ? WHERE character_id = ?", {amount, NDCore.Players[target].id})
NDCore.Functions.UpdateMoney(target) NDCore.Functions.UpdateMoney(target)
TriggerEvent("ND:moneyChange", target, "cash", amount, "add")
TriggerClientEvent("chat:addMessage", target, { TriggerClientEvent("chat:addMessage", target, {
color = {0, 255, 0}, color = {0, 255, 0},
args = {"Success", " Received $" .. amount .. "."} args = {"Success", " Received $" .. amount .. "."}
@@ -201,11 +200,11 @@ function NDCore.Functions.WithdrawMoney(amount, player)
local player = tonumber(player) local player = tonumber(player)
if amount <= 0 then return false end if amount <= 0 then return false end
if NDCore.Players[player].bank < amount then return false end if NDCore.Players[player].bank < amount then return false end
TriggerEvent("ND:moneyChange", player, "bank", amount, "remove")
TriggerEvent("ND:moneyChange", player, "cash", amount, "add")
MySQL.query.await("UPDATE characters SET bank = bank - ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET bank = bank - ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id})
MySQL.query.await("UPDATE characters SET cash = cash + ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET cash = cash + ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id})
NDCore.Functions.UpdateMoney(player) NDCore.Functions.UpdateMoney(player)
TriggerEvent("ND:moneyChange", player, "bank", amount, "remove")
TriggerEvent("ND:moneyChange", player, "cash", amount, "add")
return true return true
end end
@@ -215,11 +214,11 @@ function NDCore.Functions.DepositMoney(amount, player)
local player = tonumber(player) local player = tonumber(player)
if amount <= 0 then return false end if amount <= 0 then return false end
if NDCore.Players[player].cash < amount then return false end if NDCore.Players[player].cash < amount then return false end
TriggerEvent("ND:moneyChange", player, "cash", amount, "remove")
TriggerEvent("ND:moneyChange", player, "bank", amount, "add")
MySQL.query.await("UPDATE characters SET cash = cash - ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET cash = cash - ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id})
MySQL.query.await("UPDATE characters SET bank = bank + ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET bank = bank + ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id})
NDCore.Functions.UpdateMoney(player) NDCore.Functions.UpdateMoney(player)
TriggerEvent("ND:moneyChange", player, "cash", amount, "remove")
TriggerEvent("ND:moneyChange", player, "bank", amount, "add")
return true return true
end end
@@ -227,26 +226,26 @@ end
function NDCore.Functions.DeductMoney(amount, player, from) function NDCore.Functions.DeductMoney(amount, player, from)
local amount = tonumber(amount) local amount = tonumber(amount)
local player = tonumber(player) local player = tonumber(player)
TriggerEvent("ND:moneyChange", player, from, amount, "remove")
if from == "bank" then if from == "bank" then
MySQL.query.await("UPDATE characters SET bank = bank - ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET bank = bank - ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id})
elseif from == "cash" then elseif from == "cash" then
MySQL.query.await("UPDATE characters SET cash = cash - ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET cash = cash - ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id})
end end
NDCore.Functions.UpdateMoney(player) NDCore.Functions.UpdateMoney(player)
TriggerEvent("ND:moneyChange", player, from, amount, "remove")
end end
-- Adds money from the player, "bank" or "cash" needs to be specified. -- Adds money from the player, "bank" or "cash" needs to be specified.
function NDCore.Functions.AddMoney(amount, player, to) function NDCore.Functions.AddMoney(amount, player, to)
local amount = tonumber(amount) local amount = tonumber(amount)
local player = tonumber(player) local player = tonumber(player)
TriggerEvent("ND:moneyChange", player, to, amount, "add")
if to == "bank" then if to == "bank" then
MySQL.query.await("UPDATE characters SET bank = bank + ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET bank = bank + ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id})
elseif to == "cash" then elseif to == "cash" then
MySQL.query.await("UPDATE characters SET cash = cash + ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id}) MySQL.query.await("UPDATE characters SET cash = cash + ? WHERE character_id = ? LIMIT 1", {amount, NDCore.Players[player].id})
end end
NDCore.Functions.UpdateMoney(player) NDCore.Functions.UpdateMoney(player)
TriggerEvent("ND:moneyChange", player, to, amount, "add")
end end
-- Adds the players character to the NDCore.Players table, this table consists of every players selected character. -- Adds the players character to the NDCore.Players table, this table consists of every players selected character.
@@ -357,31 +356,9 @@ function NDCore.Functions.SetPlayerData(player, key, value)
local character = NDCore.Players[player] local character = NDCore.Players[player]
character[key] = value character[key] = value
if key == "cash" then if key == "cash" then
local money = 0
if character.inventory then
for _, item in pairs(character.inventory) do
if item.name == "money" then
money = money + item.count
end
end
end
if money ~= value then return end
MySQL.query.await("UPDATE characters SET cash = ? WHERE character_id = ?", {tonumber(value), character.id}) MySQL.query.await("UPDATE characters SET cash = ? WHERE character_id = ?", {tonumber(value), character.id})
NDCore.Functions.UpdateMoney(player)
return
elseif key == "bank" then elseif key == "bank" then
local money = 0
if character.inventory then
for _, item in pairs(character.inventory) do
if item.name == "money" then
money = money + item.count
end
end
end
if money ~= value then return end
MySQL.query.await("UPDATE characters SET bank = ? WHERE character_id = ?", {tonumber(value), character.id}) MySQL.query.await("UPDATE characters SET bank = ? WHERE character_id = ?", {tonumber(value), character.id})
NDCore.Functions.UpdateMoney(player)
return
end end
TriggerClientEvent("ND:setCharacter", player, NDCore.Players[player]) TriggerClientEvent("ND:setCharacter", player, NDCore.Players[player])
end end