Hallo,
ich verwende aktuell ESX Legacy und renzu_jobs. Da die Interaktion seitens renzu_jobs nicht läuft, verwende ich die Interaktionsmenüs (F6) von den ESX_Jobs und habe diese in renzu_jobs deaktiviert. Wenn ich eine Rechnung ausstelle, geht das Geld nicht an renzu_jobs sondern an esx_society. Soweit ich das verstanden habe muss ich mit exports arbeiten. Ich habe verschiedene versucht, doch leider brachten diese kein Erfolg. Anbei der Bereich in esx_billing:
Code
ESX.RegisterServerCallback('esx_billing:payBill', function(source, cb, billId)
local xPlayer = ESX.GetPlayerFromId(source)
MySQL.Async.fetchAll('SELECT sender, target_type, target, amount FROM billing WHERE id = @id', {
['@id'] = billId
}, function(result)
if result[1] then
local amount = result[1].amount
local xTarget = ESX.GetPlayerFromIdentifier(result[1].sender)
if result[1].target_type == 'player' then
if xTarget then
if xPlayer.getMoney() >= amount then
MySQL.Async.execute('DELETE FROM billing WHERE id = @id', {
['@id'] = billId
}, function(rowsChanged)
if rowsChanged == 1 then
xPlayer.removeMoney(amount)
xTarget.addMoney(amount)
addmoney = exports.renzu_jobs:addMoney(tonumber(amount),xTarget.job.name,source,'money',true)
--hatte bereits ohne addmoney = versuct
xPlayer.showNotification(_U('paid_invoice', ESX.Math.GroupDigits(amount)))
xTarget.showNotification(_U('received_payment', ESX.Math.GroupDigits(amount)))
end
cb()
end)
elseif xPlayer.getAccount('bank').money >= amount then
MySQL.Async.execute('DELETE FROM billing WHERE id = @id', {
['@id'] = billId
}, function(rowsChanged)
if rowsChanged == 1 then
xPlayer.removeAccountMoney('bank', amount)
xTarget.addAccountMoney('bank', amount)
--addMoney(tonumber(amount),xTarget.job.name,source,money_type)
exports.renzu_jobs:addMoney(tonumber(amount),xTarget.job.name,source,'bank',true)
xPlayer.showNotification(_U('paid_invoice', ESX.Math.GroupDigits(amount)))
xTarget.showNotification(_U('received_payment', ESX.Math.GroupDigits(amount)))
end
cb()
end)
else
xTarget.showNotification(_U('target_no_money'))
xPlayer.showNotification(_U('no_money'))
cb()
end
else
xPlayer.showNotification(_U('player_not_online'))
cb()
end
else
TriggerEvent('esx_addonaccount:getSharedAccount', result[1].target, function(account)
if xPlayer.getMoney() >= amount then
MySQL.Async.execute('DELETE FROM billing WHERE id = @id', {
['@id'] = billId
}, function(rowsChanged)
if rowsChanged == 1 then
xPlayer.removeMoney(amount)
account.addMoney(amount)
xPlayer.showNotification(_U('paid_invoice', ESX.Math.GroupDigits(amount)))
if xTarget then
xTarget.showNotification(_U('received_payment', ESX.Math.GroupDigits(amount)))
end
end
cb()
end)
elseif xPlayer.getAccount('bank').money >= amount then
MySQL.Async.execute('DELETE FROM billing WHERE id = @id', {
['@id'] = billId
}, function(rowsChanged)
if rowsChanged == 1 then
xPlayer.removeAccountMoney('bank', amount)
account.addMoney(amount)
xPlayer.showNotification(_U('paid_invoice', ESX.Math.GroupDigits(amount)))
if xTarget then
xTarget.showNotification(_U('received_payment', ESX.Math.GroupDigits(amount)))
end
end
cb()
end)
else
if xTarget then
xTarget.showNotification(_U('target_no_money'))
end
xPlayer.showNotification(_U('no_money'))
cb()
end
end)
end
end
end)
end)
Alles anzeigen
Wenn sich jemand in diesem Bereich auskennt, wäre ich ihm sehr verbunden, wenn er mir helfen kann.
Vielen Dank
Gruß