myBilling - Update - 08.01.2021
- Added notification for the player, who gave a society bill (f.e. police officer gets a notification when somebody paid his fine)
myBilling - Update - 08.01.2021
myBills - Update - 18.01.2021
myBills - Update - 26.01.2021 - Added the esx:getBills event to the script, to improve the compatibility with other scripts. - Added a Config option to disable the key usage -> When you only want to open the billing menu from another script.
There was an optional upgrade released for myBilling!
Youâll find further information here: EnhancedUI for myBilling
What MS does this script run at?
Hey,
when the menu isnât open the script shouldnât take any performance. I guess about 0.02-0.03ms is realistic. Anyways Iam pretty sure it will use less ms than esx_billing
So I just have to turn off esx_billling and edit all scripts that use esx_billing trigger?
No, you donât have to edit the scripts, which use esx_billing trigger. The esx events are included in myBilling so you can migrate this without changes needed.
But in some scripts esx_billing is listed as a dependency in the fxmanifest.lua or __ressource.lua. Then you have to remove it from this.
I now got a problem I send someone a bill but after he throws it in the trash he cant move anymoreâŠ
Then I guess the ressource name isnât myBilling anymore.
I made it to myBilling or do I have to make it to myBills?
myBilling is fine. But it have to be myBilling and not myBillingUI.
Iâve also sent you instructions via DM to make further support easier
Best regards,
Luis
i am having a problem when someone sends an invoice and the other one is paying for it only the one who paid for it gets the notification not the one who sent it
here is my client code
if Config.useAccountMoney then
xPlayer.removeAccountMoney(Config.Account, amount)
else
xPlayer.removeMoney(amount)
end
TriggerClientEvent('myBills:msg', xPlayer.source, Translation[Config.Locale]['bill_paid'] .. amount .. Translation[Config.Locale]['bill_paid2'])
TriggerClientEvent('myBills:refreshMenu', source)
if target_type == 'society' then
TriggerEvent('esx_addonaccount:getSharedAccount', target, function(account)
account.addMoney(amount)
end)
local xPlayers = ESX.GetPlayers()
for k, v in pairs(xPlayers) do
local xPlayer2 = ESX.GetPlayerFromId(xPlayers[k])
if xPlayer2.identifier == sender then
TriggerClientEvent('myBills:msg', xPlayer2.source, Translation[Config.Locale]['society_bill_paid'] .. amount .. Translation[Config.Locale]['society_bill_paid2'])
break
end
end
else -- target type = player
local xPlayers = ESX.GetPlayers()
for k, v in pairs(xPlayers) do
local xPlayer2 = ESX.GetPlayerFromId(xPlayers[k])
if xPlayer2.identifier == target then
-- Player online
if Config.useAccountMoney then
xPlayer2.addAccountMoney(Config.Account, amount)
else
xPlayer2.addMoney(amount)
end
TriggerClientEvent('myBills:msg', xPlayer2.source, Translation[Config.Locale]['society_bill_paid'] .. amount .. Translation[Config.Locale]['society_bill_paid2'])
elseif k == #xPlayers then
-- Player not online
if Config.useNewESX then
MySQL.Async.fetchAll('SELECT accounts from users WHERE identifier = @identifier', {
['@identifier'] = target
},
function(result)
if #result > 0 then
local accountsData = json.decode(result[1].accounts)
accountsData.money = accountsData.money + amount
local newAccountsData = json.encode(accountsData)
MySQL.Async.execute('UPDATE users SET accounts=@accounts WHERE identifier=@identifier',
{
['@accounts'] = newAccountsData,
['@identifier'] = target
})
end
end)
else
MySQL.Async.fetchAll('SELECT money from users WHERE identifier = @identifier', {
['@identifier'] = target
},
function(result)
if #result > 0 then
MySQL.Async.execute('UPDATE users SET money=@money WHERE identifier=@identifier',
{
['@money'] = result[1].money + amount,
['@identifier'] = target
})
end
end)
end
end
end
end
else
TriggerClientEvent('myBills:msg', source, Translation[Config.Locale]['not_enough_money'])
end
end)
Looks like a pretty old version.
Iâll send you instructions on how to update it!
Hey man, I bought the script lately but couldnât figure out how to change the position of the menu. Any tips?
Hey,
There is a NativeUI.CreateMenu(name, desc, x, y) in client.lua and you have to insert values for x and y.
Best regards,
Luis
how can i make the esx_speedcamera script only accept and not accept and reject?
You can use the event: esx_billing:sendBillDirect for this
? What
Where?
Instead of the esx:sendBill event, you simply replace this with esx_billing:sendBillDirect.
This function is created especially for this use-case