From 49f4d404e3e82163dcfca05af342f56f08372f5e Mon Sep 17 00:00:00 2001 From: Jim Shield Date: Mon, 12 May 2025 22:49:28 +0100 Subject: [PATCH] place start functions behind onResourceStart() ESX helper --- server/atmserver.lua | 89 +++++++++++++++++++------------------- server/chargerserver.lua | 49 ++++++++++----------- server/polchargeserver.lua | 16 ++++--- 3 files changed, 78 insertions(+), 76 deletions(-) diff --git a/server/atmserver.lua b/server/atmserver.lua index 142a812..81b258f 100644 --- a/server/atmserver.lua +++ b/server/atmserver.lua @@ -1,10 +1,49 @@ -registerCommand("cashgive", { - locale("command" , "pay_user"), {}, false, - function(source) - TriggerClientEvent(getScript()..":client:ATM:give", source) - end -}) +onResourceStart(function() + registerCommand("cashgive", { + locale("command" , "pay_user"), {}, false, + function(source) + TriggerClientEvent(getScript()..":client:ATM:give", source) + end + }) + createCallback(getScript()..":GetInfo", function(source) + local Player = getPlayer(source) + local society, gsociety = 0, 0 + + society = getSocietyAccount(Player.job) + if Player.gang ~= "none" then + gsociety = getSocietyAccount(Player.gang) + end + + -- Savings account is only QBCore for now + if isStarted(QBExport) and not isStarted(QBXExport) then + -- Grab Savings account info + local result = MySQL.Sync.fetchAll('SELECT * FROM bank_accounts WHERE citizenid = ? AND account_name = ?', { Player.citizenId, 'Savings_'..Player.citizenId, }) + if result[1] then + accountID = result[1].citizenid + savingBalance = result[1].account_balance + else + MySQL.Async.insert('INSERT INTO bank_accounts (citizenid, account_name, account_balance) VALUES (?, ?, ?)', { Player.citizenId, 'Savings_'..Player.citizenId, 0}, function() completed = true end) repeat Wait(0) until completed == true + local result = MySQL.Sync.fetchAll('SELECT * FROM bank_accounts WHERE citizenid = ? AND account_name = ?', { Player.citizenId, 'Savings_'..Player.citizenId, }) + accountID = result[1].citizenid + savingBalance = result[1].account_balance + end + end + local retTable = { + name = Player.firstname..' '..Player.lastname, + cash = Player.cash, + bank = Player.bank, + account = Player.account, + cid = Player.citizenId.." ["..source.."]", + savbal = savingBalance, + aid = accountID, + society = society, + gsociety = gsociety + } + + return retTable + end) +end, true) RegisterServerEvent(getScript()..":server:ATM:use", function(amount, billtype, baccount, account, society, gsociety) local src = source @@ -207,44 +246,6 @@ RegisterServerEvent(getScript()..":server:ATM:use", function(amount, billtype, b end end) -createCallback(getScript()..":GetInfo", function(source) - local Player = getPlayer(source) - local society, gsociety = 0, 0 - - society = getSocietyAccount(Player.job) - if Player.gang ~= "none" then - gsociety = getSocietyAccount(Player.gang) - end - - -- Savings account is only QBCore for now - if isStarted(QBExport) and not isStarted(QBXExport) then - -- Grab Savings account info - local result = MySQL.Sync.fetchAll('SELECT * FROM bank_accounts WHERE citizenid = ? AND account_name = ?', { Player.citizenId, 'Savings_'..Player.citizenId, }) - if result[1] then - accountID = result[1].citizenid - savingBalance = result[1].account_balance - else - MySQL.Async.insert('INSERT INTO bank_accounts (citizenid, account_name, account_balance) VALUES (?, ?, ?)', { Player.citizenId, 'Savings_'..Player.citizenId, 0}, function() completed = true end) repeat Wait(0) until completed == true - local result = MySQL.Sync.fetchAll('SELECT * FROM bank_accounts WHERE citizenid = ? AND account_name = ?', { Player.citizenId, 'Savings_'..Player.citizenId, }) - accountID = result[1].citizenid - savingBalance = result[1].account_balance - end - end - local retTable = { - name = Player.firstname..' '..Player.lastname, - cash = Player.cash, - bank = Player.bank, - account = Player.account, - cid = Player.citizenId.." ["..source.."]", - savbal = savingBalance, - aid = accountID, - society = society, - gsociety = gsociety - } - - return retTable -end) - RegisterServerEvent(getScript()..":server:ATM:give", function(citizen, price) local Player = getPlayer(source) local Reciever = getPlayer(tonumber(citizen)) diff --git a/server/chargerserver.lua b/server/chargerserver.lua index 2dc51c0..2344b6f 100644 --- a/server/chargerserver.lua +++ b/server/chargerserver.lua @@ -9,26 +9,33 @@ onResourceStart(function() if Items and not Items["payticket"] then debugPrint("^1Error^7: ^2Unable to find ^7'^3payticket^7' ^2item it in the Shared^7") end -end, true) -registerCommand("cashregister", { - locale("command", "cash_reg"), {}, false, - function(source) - TriggerClientEvent(getScript()..":client:Charge", source, {}, true) - end -}) - -createCallback(getScript()..":MakePlayerList", function(source) - local onlineList = {} - for _, v in pairs(GetPlayers()) do - if v ~= nil or type(v) ~= "number" then - local Player = getPlayer(v) - onlineList[#onlineList+1] = { value = tonumber(v), text = "["..v.."] - "..Player.name } - Wait(10) + registerCommand("cashregister", { + locale("command", "cash_reg"), {}, false, + function(source) + TriggerClientEvent(getScript()..":client:Charge", source, {}, true) end + }) + + createCallback(getScript()..":MakePlayerList", function(source) + local onlineList = {} + for _, v in pairs(GetPlayers()) do + if v ~= nil or type(v) ~= "number" then + local Player = getPlayer(v) + onlineList[#onlineList+1] = { value = tonumber(v), text = "["..v.."] - "..Player.name } + Wait(10) + end + end + return onlineList + end) + + + if Config.General.Usebzzz then + createUseableItem('terminal', function(source, item) + TriggerClientEvent(getScript()..":client:Charge", source, {}, true) + end) end - return onlineList -end) +end, true) RegisterServerEvent(getScript()..":server:Charge", function(citizen, price, billtype, img, outside, gang) local src = source @@ -93,12 +100,4 @@ RegisterServerEvent(getScript()..":server:PayPopup", function(data) triggerNotify(nil, locale("success", "declined"), "error", src) triggerNotify(nil, billed.firstname..locale("error", "decline_pay")..data.amount..locale("success", "payment"), "error", data.biller) end -end) - -CreateThread(function() - if Config.General.Usebzzz then - createUseableItem('terminal', function(source, item) - TriggerClientEvent(getScript()..":client:Charge", source, {}, true) - end) - end end) \ No newline at end of file diff --git a/server/polchargeserver.lua b/server/polchargeserver.lua index 7ecacf5..d695d84 100644 --- a/server/polchargeserver.lua +++ b/server/polchargeserver.lua @@ -1,9 +1,11 @@ -registerCommand("polcharge", { - locale("command", "charge"), {}, false, - function(source) - TriggerClientEvent(getScript()..":client:PolCharge", source) - end -}) +onResourceStart(function() + registerCommand("polcharge", { + locale("command", "charge"), {}, false, + function(source) + TriggerClientEvent(getScript()..":client:PolCharge", source) + end + }) +end, true) RegisterServerEvent(getScript()..":server:PolCharge", function(citizen, price) local src = source @@ -19,7 +21,7 @@ RegisterServerEvent(getScript()..":server:PolCharge", function(citizen, price) print("^3Warning^7: ^2Can't find player's job in ^7'Config.Polcharge.FineJobs', ^2defaulting to 0.25 (25% commission)^7") end local commission = math.floor(price * commPercent) - print(commission) + if price > 0 then if not Config.PolCharge.FineJobConfirmation then polCharge({