From 9fef0cbddd1c6b120d88349b16d6aff26f771c0d Mon Sep 17 00:00:00 2001 From: Solareon <769465+solareon@users.noreply.github.com> Date: Sun, 29 Sep 2024 12:26:30 +0200 Subject: [PATCH] refactor(server): extract money functions to config This allows for users to integrate with other resources without directly modifying code. This includes different banking resources and tax systems. --- config/server.lua | 24 +++++++++++++++++++++++- server/main.lua | 10 +++++----- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/config/server.lua b/config/server.lua index f91799d..80de995 100644 --- a/config/server.lua +++ b/config/server.lua @@ -14,5 +14,27 @@ return { ---@param vehicle number Vehicle Entity ID giveKeys = function(src, plate, vehicle) exports.qbx_vehiclekeys:GiveKeys(src, vehicle) - end + end, + + ---@param society string Society name + ---@param amount number Amount to add + ---@return boolean + addSocietyFunds = function(society, amount) -- function to add funds to society + return exports['Renewed-Banking']:addAccountMoney(society, amount) + end, + + ---@param player any QBX Player object + ---@param amount number Amount to add + ---@param reason string? Reason for adding funds + ---@return boolean + addPlayerFunds = function(player, account, amount, reason) + return player.Functions.AddMoney(account, amount, reason) + end, + + ---@param player any QBX Player object + ---@param amount number Amount to remove + ---@param reason string? Reason for removing funds + removePlayerFunds = function(player, account, amount, reason) + return player.Functions.RemoveMoney(account, amount, reason) + end, } \ No newline at end of file diff --git a/server/main.lua b/server/main.lua index 6c5e5d9..92f327a 100644 --- a/server/main.lua +++ b/server/main.lua @@ -229,7 +229,7 @@ local function removeMoney(src, amount, reason) return false end - return player.Functions.RemoveMoney(currencyType, amount, reason) + return config.removePlayerFunds(player, currencyType, amount, reason) end ---@param paymentAmount number @@ -489,10 +489,10 @@ local function sellShowroomVehicleTransact(src, target, price, downPayment) end local commission = lib.math.round(price * config.commissionRate) - player.Functions.AddMoney('bank', commission) + config.addPlayerFunds(player, 'bank', commission, 'vehicle-commission') exports.qbx_core:Notify(src, locale('success.earned_commission', lib.math.groupdigits(commission)), 'success') - exports['Renewed-Banking']:addAccountMoney(player.PlayerData.job.name, price) + config.addSocietyFunds(player.player.PlayerData.job.name, price) exports.qbx_core:Notify(target.PlayerData.source, locale('success.purchased'), 'success') return true @@ -702,8 +702,8 @@ lib.addCommand('transfervehicle', { return exports.qbx_core:Notify(source, locale('error.buyertoopoor'), 'error') end - player.Functions.AddMoney(currencyType, sellAmount) - target.Functions.RemoveMoney(currencyType, sellAmount) + config.addPlayerFunds(player, currencyType, sellAmount, 'vehicle-sold-to-player') + config.removePlayerFunds(target, currencyType, sellAmount, 'vehicle-bought-from-player') end qbx_vehicles:SetPlayerVehicleOwner(row.id, targetcid)