1
0
Fork 0
forked from Simnation/Main
This commit is contained in:
Nordi98 2025-06-29 05:53:12 +02:00
parent d208f85007
commit c844ee6915

View file

@ -1523,53 +1523,92 @@ end)
RegisterServerEvent("okokBanking:UpdateIbanDB") RegisterServerEvent("okokBanking:UpdateIbanDB")
AddEventHandler("okokBanking:UpdateIbanDB", function(iban, amount) AddEventHandler("okokBanking:UpdateIbanDB", function(iban, amount)
local _source = source local _source = source
local xPlayer = QBCore.Functions.GetPlayer(_source) local xPlayer = QBCore.Functions.GetPlayer(_source)
if amount <= xPlayer.PlayerData.money.bank then -- Debug-Ausgaben
MySQL.query('SELECT charinfo FROM players WHERE citizenid = ?', { print("[DEBUG] Versuch, IBAN zu aktualisieren auf: " .. iban)
xPlayer.PlayerData.citizenid print("[DEBUG] Spieler-Geld: " .. xPlayer.PlayerData.money.bank .. ", Kosten: " .. amount)
}, function(result) print("[DEBUG] Player charinfo vor Update: " .. json.encode(xPlayer.PlayerData.charinfo))
local charinfo = json.decode(result[1].charinfo)
if not Config.CharInfoUpdate then charinfo = json.decode(result) end
charinfo.account = iban
local updated = json.encode(charinfo)
MySQL.query('UPDATE players SET charinfo = ? WHERE citizenid = ?', {updated, xPlayer.PlayerData.citizenid})
end)
local charinfo = xPlayer.PlayerData.charinfo if amount <= xPlayer.PlayerData.money.bank then
charinfo.iban = iban -- Direkte Aktualisierung der charinfo mit der neuen IBAN
xPlayer.Functions.SetPlayerData('charinfo', charinfo) MySQL.query('SELECT charinfo FROM players WHERE citizenid = ?', {
xPlayer.PlayerData.citizenid
}, function(result)
local charinfo = json.decode(result[1].charinfo)
if not Config.CharInfoUpdate then charinfo = json.decode(result) end
xPlayer.Functions.RemoveMoney('bank', amount) print("[DEBUG] Charinfo aus Datenbank: " .. json.encode(charinfo))
xPlayer = QBCore.Functions.GetPlayer(_source)
local itemCash = xPlayer.Functions.GetItemByName("cash") charinfo.account = iban
local playerCashMoney = 0 local updated = json.encode(charinfo)
if itemCash ~= nil then
playerCashMoney = itemCash.amount print("[DEBUG] Aktualisierte charinfo: " .. updated)
end
if Config.UseCashAsItem then MySQL.query('UPDATE players SET charinfo = ? WHERE citizenid = ?', {
TriggerClientEvent('okokBanking:updateMoney', _source, xPlayer.PlayerData.money.bank, playerCashMoney) updated,
else xPlayer.PlayerData.citizenid
TriggerClientEvent('okokBanking:updateMoney', _source, xPlayer.PlayerData.money.bank, xPlayer.PlayerData.money.cash) }, function(rowsChanged)
end print("[DEBUG] Datenbankaktualisierung: " .. tostring(rowsChanged) .. " Zeilen geändert")
TriggerEvent('okokBanking:AddTransferTransactionToSociety', amount, _source, "bank", "Bank (IBAN)")
TriggerClientEvent('okokBanking:updateIban', _source, iban) -- Entferne den problematischen Code
TriggerClientEvent('okokBanking:updateIbanPinChange', _source) -- if xPlayer.Functions.ChangeIban then
if Config.okokNotify then -- xPlayer.Functions.ChangeIban(iban)
TriggerClientEvent('okokNotify:Alert', _source, _L('iban_changed').title, interp(_L('iban_changed').text, {s1 = iban}), _L('iban_changed').time, _L('iban_changed').type) -- else
else -- TriggerClientEvent('okokNotify:Alert', _source, 'OKOKBANKING', 'Unable to locate or identify the function ChangeIban. Please refer to the documentation for correct usage and placement!', 5000, 'warning')
TriggerClientEvent('QBCore:Notify', _source, interp(_L('iban_changed').text, {s1 = iban}), _L('iban_changed').type) -- return
end -- end
else
if Config.okokNotify then -- Aktualisiere die Spielerdaten im Speicher
TriggerClientEvent('okokNotify:Alert', _source, _L('iban_no_money').title, interp(_L('iban_no_money').text, {s1 = amount}), _L('iban_no_money').time, _L('iban_no_money').type) local updatedPlayer = QBCore.Functions.GetPlayer(_source)
else if updatedPlayer then
TriggerClientEvent('QBCore:Notify', _source, interp(_L('iban_no_money').text, {s1 = amount}), _L('iban_no_money').type) updatedPlayer.PlayerData.charinfo.account = iban
end updatedPlayer.Functions.SetPlayerData('charinfo', updatedPlayer.PlayerData.charinfo)
end print("[DEBUG] Spielerdaten im Speicher aktualisiert: " .. json.encode(updatedPlayer.PlayerData.charinfo))
end
-- Ziehe das Geld ab
xPlayer.Functions.RemoveMoney('bank', amount)
-- Aktualisiere den Client
local itemCash = xPlayer.Functions.GetItemByName("cash")
local playerCashMoney = 0
if itemCash ~= nil then
playerCashMoney = itemCash.amount
end
if Config.UseCashAsItem then
TriggerClientEvent('okokBanking:updateMoney', _source, xPlayer.PlayerData.money.bank, playerCashMoney)
else
TriggerClientEvent('okokBanking:updateMoney', _source, xPlayer.PlayerData.money.bank, xPlayer.PlayerData.money.cash)
end
TriggerEvent('okokBanking:AddTransferTransactionToSociety', amount, _source, "bank", "Bank (IBAN)")
TriggerClientEvent('okokBanking:updateIban', _source, iban)
TriggerClientEvent('okokBanking:updateIbanPinChange', _source)
print("[DEBUG] Client-Events ausgelöst")
-- Benachrichtige den Spieler
if Config.okokNotify then
TriggerClientEvent('okokNotify:Alert', _source, _L('iban_changed').title, interp(_L('iban_changed').text, {s1 = iban}), _L('iban_changed').time, _L('iban_changed').type)
else
TriggerClientEvent('QBCore:Notify', _source, interp(_L('iban_changed').text, {s1 = iban}), _L('iban_changed').type)
end
end)
end)
else
print("[DEBUG] Nicht genug Geld für IBAN-Änderung")
if Config.okokNotify then
TriggerClientEvent('okokNotify:Alert', _source, _L('iban_no_money').title, interp(_L('iban_no_money').text, {s1 = amount}), _L('iban_no_money').time, _L('iban_no_money').type)
else
TriggerClientEvent('QBCore:Notify', _source, interp(_L('iban_no_money').text, {s1 = amount}), _L('iban_no_money').type)
end
end
end) end)
RegisterServerEvent("okokBanking:UpdatePINDB") RegisterServerEvent("okokBanking:UpdatePINDB")
AddEventHandler("okokBanking:UpdatePINDB", function(pin, amount) AddEventHandler("okokBanking:UpdatePINDB", function(pin, amount)
local _source = source local _source = source