forked from Simnation/Main
fix
This commit is contained in:
parent
d208f85007
commit
c844ee6915
1 changed files with 82 additions and 43 deletions
|
@ -1523,53 +1523,92 @@ end)
|
|||
|
||||
RegisterServerEvent("okokBanking:UpdateIbanDB")
|
||||
AddEventHandler("okokBanking:UpdateIbanDB", function(iban, amount)
|
||||
local _source = source
|
||||
local xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
local _source = source
|
||||
local xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
|
||||
if amount <= xPlayer.PlayerData.money.bank then
|
||||
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
|
||||
charinfo.account = iban
|
||||
local updated = json.encode(charinfo)
|
||||
MySQL.query('UPDATE players SET charinfo = ? WHERE citizenid = ?', {updated, xPlayer.PlayerData.citizenid})
|
||||
end)
|
||||
-- Debug-Ausgaben
|
||||
print("[DEBUG] Versuch, IBAN zu aktualisieren auf: " .. iban)
|
||||
print("[DEBUG] Spieler-Geld: " .. xPlayer.PlayerData.money.bank .. ", Kosten: " .. amount)
|
||||
print("[DEBUG] Player charinfo vor Update: " .. json.encode(xPlayer.PlayerData.charinfo))
|
||||
|
||||
local charinfo = xPlayer.PlayerData.charinfo
|
||||
charinfo.iban = iban
|
||||
xPlayer.Functions.SetPlayerData('charinfo', charinfo)
|
||||
|
||||
xPlayer.Functions.RemoveMoney('bank', amount)
|
||||
xPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
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)
|
||||
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
|
||||
else
|
||||
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
|
||||
if amount <= xPlayer.PlayerData.money.bank then
|
||||
-- Direkte Aktualisierung der charinfo mit der neuen IBAN
|
||||
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
|
||||
|
||||
print("[DEBUG] Charinfo aus Datenbank: " .. json.encode(charinfo))
|
||||
|
||||
charinfo.account = iban
|
||||
local updated = json.encode(charinfo)
|
||||
|
||||
print("[DEBUG] Aktualisierte charinfo: " .. updated)
|
||||
|
||||
MySQL.query('UPDATE players SET charinfo = ? WHERE citizenid = ?', {
|
||||
updated,
|
||||
xPlayer.PlayerData.citizenid
|
||||
}, function(rowsChanged)
|
||||
print("[DEBUG] Datenbankaktualisierung: " .. tostring(rowsChanged) .. " Zeilen geändert")
|
||||
|
||||
-- Entferne den problematischen Code
|
||||
-- if xPlayer.Functions.ChangeIban then
|
||||
-- xPlayer.Functions.ChangeIban(iban)
|
||||
-- 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')
|
||||
-- return
|
||||
-- end
|
||||
|
||||
-- Aktualisiere die Spielerdaten im Speicher
|
||||
local updatedPlayer = QBCore.Functions.GetPlayer(_source)
|
||||
if updatedPlayer then
|
||||
updatedPlayer.PlayerData.charinfo.account = iban
|
||||
updatedPlayer.Functions.SetPlayerData('charinfo', updatedPlayer.PlayerData.charinfo)
|
||||
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)
|
||||
|
||||
|
||||
RegisterServerEvent("okokBanking:UpdatePINDB")
|
||||
AddEventHandler("okokBanking:UpdatePINDB", function(pin, amount)
|
||||
local _source = source
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue