diff --git a/resources/[tools]/okokBanking/server.lua b/resources/[tools]/okokBanking/server.lua index 73d455365..f3df07f69 100644 --- a/resources/[tools]/okokBanking/server.lua +++ b/resources/[tools]/okokBanking/server.lua @@ -310,43 +310,30 @@ 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 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) + 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 MySQL.Async.execute('UPDATE players SET charinfo = ? WHERE citizenid = ?', { - 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) + json.encode(charinfo), + Player.PlayerData.citizenid + }) end) + QBCore.Functions.CreateCallback("okokBanking:HasCreditCard", function(source, cb) local xPlayer = QBCore.Functions.GetPlayer(source) if xPlayer ~= nil then