Is it possible to make it work, without EssentialMod?
Has anyone converted this to work with Async that would be willing to share their files?
Thank you in advanced if you do!
Jerry
Yes, I have. But for some reason before and after i did this there is a massive exploit… Anyone have a fix for it, im sure you know what im talking about, Rather not say it thou incase its a common issue
aSync conversion.
replace all of server.lua with
require "resources/mysql-async/lib/MySQL"
-- HELPER FUNCTIONS
function bankBalance(player)
local result = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @name", {['@name'] = player})
return tonumber(result[1].bankbalance)
end
---------
--FineScript
---------
function walletBalance(player)
local result = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @name", {['@name'] = player})
return tonumber(result[1].money)
end
---------
--FineScript2
---------
function withdrawWallet(player, amount)
local walletbalance = walletBalance(player)
local new_balance = walletbalance - amount
MySQL.Async.execute("UPDATE users SET `money`=@value WHERE identifier = @identifier", {['@value'] = new_balance, ['@identifier'] = player})
end
function deposit(player, amount)
local bankbalance = bankBalance(player)
local new_balance = bankbalance + amount
MySQL.Async.execute("UPDATE users SET `bankbalance`=@value WHERE identifier = @identifier", {['@value'] = new_balance, ['@identifier'] = player})
end
function withdraw(player, amount)
local bankbalance = bankBalance(player)
local new_balance = bankbalance - amount
MySQL.Async.execute("UPDATE users SET `bankbalance`=@value WHERE identifier = @identifier", {['@value'] = new_balance, ['@identifier'] = player})
end
-- Check Bank Balance
TriggerEvent('es:addCommand', 'checkbalance', function(source, args, user)
TriggerEvent('es:getPlayerFromId', source, function(user)
local player = user.identifier
local bankbalance = bankBalance(player)
TriggerClientEvent("es_freeroam:notify", source, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "Your current account balance: ~g~$".. bankbalance)
TriggerClientEvent("banking:updateBalance", source, bankbalance)
CancelEvent()
end)
end)
-- Bank Deposit
TriggerEvent('es:addCommand', 'deposit', function(source, args, user)
local amount = ""
local player = user.identifier
for i=1,#args do
amount = args[i]
end
TriggerClientEvent('bank:deposit', source, amount)
end)
RegisterServerEvent('bank:deposit')
AddEventHandler('bank:deposit', function(amount)
TriggerEvent('es:getPlayerFromId', source, function(user)
if(tonumber(amount) <= tonumber(user:money)) then
user:removeMoney((amount))
local player = user.identifier
deposit(player, amount)
local new_balance = bankBalance(player)
TriggerClientEvent("es_freeroam:notify", source, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "Deposited: ~g~$".. amount .." ~n~~s~New Balance: ~g~$" .. new_balance)
TriggerClientEvent("banking:updateBalance", source, new_balance)
TriggerClientEvent("banking:addBalance", source, amount)
CancelEvent()
else
TriggerClientEvent('chatMessage', source, "", {0, 0, 200}, "^1Not enough cash!^0")
CancelEvent()
end
end)
end)
-- Bank Withdraw
TriggerEvent('es:addCommand', 'withdraw', function(source, args, user)
local amount = ""
local player = user.identifier
for i=1,#args do
amount = args[i]
end
TriggerClientEvent('bank:withdraw', source, amount)
end)
RegisterServerEvent('bank:withdraw')
AddEventHandler('bank:withdraw', function(amount)
TriggerEvent('es:getPlayerFromId', source, function(user)
local player = user.identifier
local bankbalance = bankBalance(player)
if(tonumber(amount) <= tonumber(bankbalance)) then
withdraw(player, amount)
user:addMoney((amount))
local new_balance = bankBalance(player)
TriggerClientEvent("es_freeroam:notify", source, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "Withdrew: ~g~$".. amount .." ~n~~s~New Balance: ~g~$" .. new_balance)
TriggerClientEvent("banking:updateBalance", source, new_balance)
TriggerClientEvent("banking:removeBalance", source, amount)
CancelEvent()
else
TriggerClientEvent('chatMessage', source, "", {0, 0, 200}, "^1Not enough money in account!^0")
CancelEvent()
end
end)
end)
RegisterServerEvent('bank:withdrawAmende')
AddEventHandler('bank:withdrawAmende', function(amount)
TriggerEvent('es:getPlayerFromId', source, function(user)
local player = user.identifier
local bankbalance = bankBalance(player)
withdraw(player, amount)
local new_balance = bankBalance(player)
TriggerClientEvent("es_freeroam:notify", source, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "New Balance: ~g~$" .. new_balance)
TriggerClientEvent("banking:updateBalance", source, new_balance)
TriggerClientEvent("banking:removeBalance", source, amount)
CancelEvent()
end)
end)
-- Bank Transfer
-- TriggerEvent('es:addCommand', 'transfer', function(source, args, user)
-- local fromPlayer
-- local toPlayer
-- local amount
-- if (args[2] ~= nil and tonumber(args[3]) > 0) then
-- fromPlayer = tonumber(source)
-- toPlayer = tonumber(args[2])
-- amount = tonumber(args[3])
-- TriggerClientEvent('bank:transfer', source, fromPlayer, toPlayer, amount)
-- else
-- TriggerClientEvent('chatMessage', source, "", {0, 0, 200}, "^1Use format /transfer [id] [amount]^0")
-- return false
-- end
-- end)
-- RegisterServerEvent('bank:transfer')
-- AddEventHandler('bank:transfer', function(fromPlayer, toPlayer, amount)
-- TriggerEvent('es:getPlayerFromId', fromPlayer, function(user)
-- local player = user.identifier
-- local bankbalance = bankBalance(player)
-- if(tonumber(amount) <= tonumber(bankbalance)) then
-- withdraw(player, amount)
-- local new_balance = bankBalance(player)
-- TriggerClientEvent("es_freeroam:notify", source, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "Transferred: ~r~-$".. amount .." ~n~~s~New Balance: ~g~$" .. new_balance)
-- TriggerClientEvent("banking:updateBalance", source, new_balance)
-- TriggerClientEvent("banking:removeBalance", source, amount)
-- TriggerEvent('es:getPlayerFromId', toPlayer, function(user2)
-- local recipient = user2.identifier
-- deposit(recipient, amount)
-- new_balance2 = bankBalance(recipient)
-- TriggerClientEvent("es_freeroam:notify", toPlayer, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "Received: ~g~$".. amount .." ~n~~s~New Balance: ~g~$" .. new_balance2)
-- TriggerClientEvent("banking:updateBalance", toPlayer, new_balance2)
-- TriggerClientEvent("banking:addBalance", source, amount)
-- CancelEvent()
-- end)
-- CancelEvent()
-- else
-- TriggerClientEvent('chatMessage', source, "", {0, 0, 200}, "^1Not enough money in account!^0")
-- CancelEvent()
-- end
-- end)
-- end)
-- Give Cash
TriggerEvent('es:addCommand', 'givecash', function(source, args, user)
local fromPlayer
local toPlayer
local amount
if (args[2] ~= nil and tonumber(args[3]) > 0) then
fromPlayer = tonumber(source)
toPlayer = tonumber(args[2])
amount = tonumber(args[3])
TriggerClientEvent('bank:givecash', source, toPlayer, amount)
else
TriggerClientEvent('chatMessage', source, "", {0, 0, 200}, "^1Use format /givecash [id] [amount]^0")
return false
end
end)
RegisterServerEvent('bank:givecash')
AddEventHandler('bank:givecash', function(toPlayer, amount)
TriggerEvent('es:getPlayerFromId', source, function(user)
if (tonumber(user.money) >= tonumber(amount)) then
local player = user.identifier
user:removeMoney(amount)
TriggerEvent('es:getPlayerFromId', toPlayer, function(recipient)
recipient:addMoney(amount)
TriggerClientEvent("es_freeroam:notify", source, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "Gave cash: ~r~-$".. amount .." ~n~~s~Wallet: ~g~$" .. user.money)
TriggerClientEvent("es_freeroam:notify", toPlayer, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "Received cash: ~g~$".. amount .." ~n~~s~Wallet: ~g~$" .. recipient.money)
end)
else
if (tonumber(user.money) < tonumber(amount)) then
TriggerClientEvent('chatMessage', source, "", {0, 0, 200}, "^1Not enough money in wallet!^0")
CancelEvent()
end
end
end)
end)
AddEventHandler('es:playerLoaded', function(source)
TriggerEvent('es:getPlayerFromId', source, function(user)
local player = user.identifier
local bankbalance = bankBalance(player)
TriggerClientEvent("banking:updateBalance", source, bankbalance)
end)
end)
---
--fines
---
RegisterServerEvent("bank:loseCash")
AddEventHandler("bank:loseCash", function(amount)
TriggerEvent('es:getPlayerFromId', source, function(user)
local rounded = round(tonumber(amount), 0)
local player = user.identifier
local bankbalance = bankBalance(player)
local walletbalance = walletBalance(player)
if(tonumber(rounded) <= tonumber(bankbalance)) then
withdraw(player, rounded)
local new_balance = bankBalance(player)
TriggerClientEvent("es_freeroam:notify", source, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "Fined: ~g~$".. rounded .." ~n~~s~New Bank Balance: ~g~$" .. new_balance)
TriggerClientEvent("banking:updateBalance", source, new_balance)
TriggerClientEvent("banking:removeBalance", source, rounded)
CancelEvent()
elseif (tonumber(rounded) <= tonumber(walletbalance)) then
withdrawWallet(player, rounded)
user:removeMoney((amount))
local new_balance = walletBalance(player)
TriggerClientEvent("es_freeroam:notify", source, "CHAR_BANK_MAZE", 1, "Maze Bank", false, "Fined: ~g~$".. rounded .." ~n~~s~New Wallet Balance: ~g~$" .. new_balance)
--TriggerClientEvent("banking:updateBalance", source, new_balance)
CancelEvent()
elseif (tonumber(rounded) <= (tonumber(walletbalance) + tonumber(bankbalance))) then
local remaining_fine = tonumber(rounded) - bankbalance
withdraw(player, bankbalance)
withdrawWallet(player, remaining_fine)
TriggerClientEvent("banking:updateBalance", source, new_balance)
TriggerClientEvent("banking:removeBalance", source, rounded)
CancelEvent()
else
TriggerClientEvent('chatMessage', source, "", {0, 0, 200}, "^1Not enough money in account!^0")
CancelEvent()
end
end)
end)
Wow it look really good.
How to work with current EM Version ?
Hey Manny, but that is sql version that supports? i have EM with CouchDB Version.
No, read it, it is for essentialmode 3.0+
But in what file to connect for CouchDB? i can’t see it
Just download the one i linked to you, then add it to resources like you would with anything else, then load into the server.
But where does it saves db?
you don’t put any database details in it.
I know, but where does it saves users?
In couchDB, in your essentialmode document you will get
https://gyazo.com/ab754576bc1f95306394247aa929ca89
Blips update
Changelog :
- Some non-existent ATM were removed
- Add missing bank location near the desert
- Repositioned ATM/Bank blips
-- ATMS
local atms = {
{ name = "ATM", id = 277, x = -386.733, y = 6045.953, z = 31.501 },
{ name = "ATM", id = 277, x = -284.037, y = 6224.385, z = 31.187 },
{ name = "ATM", id = 277, x = -284.037, y = 6224.385, z = 31.187 },
{ name = "ATM", id = 277, x = -135.165, y = 6365.738, z = 31.101 },
{ name = "ATM", id = 277, x = -96.6062, y = 6456.537, z = 31.462 },
{ name = "ATM", id = 277, x = 155.4300, y = 6641.991, z = 31.784 },
{ name = "ATM", id = 277, x = 174.6720, y = 6637.218, z = 31.784 },
{ name = "ATM", id = 277, x = 1701.261, y = 6426.559, z = 32.764 },
{ name = "ATM", id = 277, x = 1735.254, y = 6410.526, z = 35.037 },
{ name = "ATM", id = 277, x = 1702.842, y = 4933.593, z = 42.051 },
{ name = "ATM", id = 277, x = 1968.098, y = 3743.656, z = 32.342 },
{ name = "ATM", id = 277, x = 1821.917, y = 3683.483, z = 34.244 },
{ name = "ATM", id = 277, x = 1171.991, y = 2702.560, z = 38.175 },
{ name = "ATM", id = 277, x = 540.0420, y = 2671.007, z = 42.177 },
{ name = "ATM", id = 277, x = 2564.399, y = 2585.100, z = 38.016 },
{ name = "ATM", id = 277, x = 2558.683, y = 349.6010, z = 108.050 },
{ name = "ATM", id = 277, x = 2558.051, y = 389.4817, z = 108.660 },
{ name = "ATM", id = 277, x = 1077.692, y = -775.796, z = 58.218 },
{ name = "ATM", id = 277, x = 1139.018, y = -469.886, z = 66.789 },
{ name = "ATM", id = 277, x = 1168.975, y = -457.241, z = 66.641 },
{ name = "ATM", id = 277, x = 1153.884, y = -326.540, z = 69.245 },
{ name = "ATM", id = 277, x = 381.2827, y = 323.2518, z = 103.270 },
{ name = "ATM", id = 277, x = 237.4638, y = 217.8218, z = 106.840 },
{ name = "ATM", id = 277, x = 265.0043, y = 212.1717, z = 106.780 },
{ name = "ATM", id = 277, x = 285.2029, y = 143.5690, z = 104.970 },
{ name = "ATM", id = 277, x = 157.7698, y = 233.5450, z = 106.450 },
{ name = "ATM", id = 277, x = -164.568, y = 233.5066, z = 94.919 },
{ name = "ATM", id = 277, x = -1827.04, y = 785.5159, z = 138.020 },
{ name = "ATM", id = 277, x = -1409.39, y = -99.2603, z = 52.473 },
{ name = "ATM", id = 277, x = -1205.35, y = -325.579, z = 37.870 },
{ name = "ATM", id = 277, x = -2072.41, y = -316.959, z = 13.345 },
{ name = "ATM", id = 277, x = -2975.72, y = 379.7737, z = 14.992 },
{ name = "ATM", id = 277, x = -2957.92, y = 487.4218, z = 15.486 },
{ name = "ATM", id = 277, x = -3044.22, y = 595.2429, z = 7.595 },
{ name = "ATM", id = 277, x = -3144.13, y = 1127.415, z = 20.868 },
{ name = "ATM", id = 277, x = -3241.10, y = 996.6881, z = 12.500 },
{ name = "ATM", id = 277, x = -3241.11, y = 1009.152, z = 12.877 },
{ name = "ATM", id = 277, x = -1305.40, y = -706.240, z = 25.352 },
{ name = "ATM", id = 277, x = -538.225, y = -854.423, z = 29.234 },
{ name = "ATM", id = 277, x = -711.156, y = -818.958, z = 23.768 },
{ name = "ATM", id = 277, x = -717.614, y = -915.880, z = 19.268 },
{ name = "ATM", id = 277, x = -526.566, y = -1222.90, z = 18.434 },
{ name = "ATM", id = 277, x = -256.831, y = -719.646, z = 33.444 },
{ name = "ATM", id = 277, x = -203.548, y = -861.588, z = 30.205 },
{ name = "ATM", id = 277, x = 112.4102, y = -776.162, z = 31.427 },
{ name = "ATM", id = 277, x = 112.9290, y = -818.710, z = 31.386 },
{ name = "ATM", id = 277, x = 119.9000, y = -883.826, z = 31.191 },
{ name = "ATM", id = 277, x = 146.9365, y = -1035.426, z = 29.34 },
{ name = "ATM", id = 277, x = -846.304, y = -340.402, z = 38.687 },
{ name = "ATM", id = 277, x = -1205.35, y = -325.391, z = 37.877 },
{ name = "ATM", id = 277, x = -56.1935, y = -1752.53, z = 29.452 },
{ name = "ATM", id = 277, x = -261.692, y = -2012.64, z = 30.121 },
{ name = "ATM", id = 277, x = -273.001, y = -2025.60, z = 30.197 },
{ name = "ATM", id = 277, x = 24.589, y = -946.056, z = 29.357 },
{ name = "ATM", id = 277, x = -254.112, y = -692.483, z = 33.616 },
{ name = "ATM", id = 277, x = -1570.197, y = -546.651, z = 34.955 },
{ name = "ATM", id = 277, x = -1415.909, y = -211.825, z = 46.500 },
{ name = "ATM", id = 277, x = -1430.112, y = -211.014, z = 46.500 },
{ name = "ATM", id = 277, x = 33.232, y = -1347.849, z = 29.497 },
{ name = "ATM", id = 277, x = 129.216, y = -1292.347, z = 29.269 },
{ name = "ATM", id = 277, x = 287.645, y = -1282.646, z = 29.659 },
{ name = "ATM", id = 277, x = 289.012, y = -1256.545, z = 29.440 },
{ name = "ATM", id = 277, x = 295.839, y = -895.640, z = 29.217 },
{ name = "ATM", id = 277, x = 1686.753, y = 4815.809, z = 42.008 },
{ name = "ATM", id = 277, x = -302.408, y = -829.945, z = 32.417 },
{ name = "ATM", id = 277, x = 5.134, y = -919.949, z = 29.557 }
}
-- Banks
local banks = {
{ name = "Banque", id = 108, x = 149.547, y = -1040.600, z = 29.374 }, -- Fleeca Bank, Vespucci Boulevard
{ name = "Banque", id = 108, x = -1213.201, y = -331.072, z = 37.787 }, -- Fleeca Bank, Boulevard Del Perro
{ name = "Banque", id = 108, x = -2962.509, y = 482.182, z = 15.703 }, -- Fleeca Bank, Great Ocean Highway
{ name = "Banque", id = 108, x = -112.054, y = 6469.285, z = 31.626 }, -- Blaine County Savings, Paleto Boulevard
{ name = "Banque", id = 108, x = 313.516, y = -278.909, z = 54.170 }, -- Fleeca Bank, Hawick Avenue & Meteor Street
{ name = "Banque", id = 108, x = -351.684, y = -49.747, z = 49.042 }, -- Fleeca Bank, Hawick Avenue
{ name = "Banque", id = 108, x = 247.367, y = 223.266, z = 106.286 }, -- Pacific Standard, Vinewood Boulevard
{ name = "Banque", id = 108, x = 1175.840, y = 2706.853, z = 38.094 } -- Fleeca Bank, Route 68
}
Was this issue ever resolved with not being able to click? I cannot click any of the menu and the server I play on uses this simple banking ui.
It dosent work for me at all.
The icons dont appere.
It dosent show me the money in the GUI. blank.
i have tried CouchDB and MySQL both not working. please help me.
Please read the original post at the top and, follow the link.
Since this is now discontinued (has been for a while) I’m closing this topic to stop it from being revived again.