From d62e403346b2afb5b1f26943bc17c1e144cf817d Mon Sep 17 00:00:00 2001 From: Nordi98 Date: Sun, 29 Jun 2025 05:37:01 +0200 Subject: [PATCH] Update server.lua --- resources/[tools]/okokBanking/server.lua | 48 +++++++++++++++--------- 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/resources/[tools]/okokBanking/server.lua b/resources/[tools]/okokBanking/server.lua index 4c1db44e5..936e26bf1 100644 --- a/resources/[tools]/okokBanking/server.lua +++ b/resources/[tools]/okokBanking/server.lua @@ -310,30 +310,42 @@ AddEventHandler("okokBanking:CreateSocietyAccount", function(society, society_na end end) +-- Server-side IBAN Update (okokBanking) RegisterServerEvent("okokBanking:SetIBAN") AddEventHandler("okokBanking:SetIBAN", function(iban) local src = source - local Player = QBCore.Functions.GetPlayer(src) - - if not Player then return end - - -- Update the IBAN in the character info - local charinfo = Player.PlayerData.charinfo - charinfo.iban = iban - - -- Save to player data - Player.Functions.SetPlayerData('charinfo', charinfo) - - -- Update database + local xPlayer = QBCore.Functions.GetPlayer(src) + + if not xPlayer then + print("[ERROR] Player not found") + return + end + + -- Validate IBAN input + if not iban or type(iban) ~= "string" then + print("[ERROR] Invalid IBAN format") + return + end + + -- Update in charinfo (QB standard) + xPlayer.PlayerData.charinfo = xPlayer.PlayerData.charinfo or {} + xPlayer.PlayerData.charinfo.iban = iban + xPlayer.Functions.SetPlayerData('charinfo', xPlayer.PlayerData.charinfo) + + -- Sync with database (Works with oxmysql/gmysql) MySQL.Async.execute('UPDATE players SET charinfo = ? WHERE citizenid = ?', { - json.encode(charinfo), - Player.PlayerData.citizenid - }) - - -- Aktualisiere die IBAN im Client (DIESE ZEILE HINZUFÜGEN) - TriggerClientEvent('okokBanking:updateIban', src, iban) + json.encode(xPlayer.PlayerData.charinfo), + xPlayer.PlayerData.citizenid + }, function(rowsChanged) + if rowsChanged > 0 then + print("[SUCCESS] Updated IBAN for", xPlayer.PlayerData.name, "to", iban) + else + print("[ERROR] Failed to update database") + end + end) end) + QBCore.Functions.CreateCallback("okokBanking:HasCreditCard", function(source, cb) local xPlayer = QBCore.Functions.GetPlayer(source) if xPlayer ~= nil then