[Release][ESX][Free] Advanced ATM [UPDATED]


The script will go through the ATM models that are listed in the config file and see if there is one near you, if there is it will open the UI if there isn’t nothing will happen.

All the transactions (withdraws, deposits, transfers) you make are going to be saved in the database and you can see them inside of the ‘transactions’ page on the ATM.


/atm - Open the ATM UI when near any ATM
/atmclose - If you ever get stuck in the UI you can type in atmclose in the console (F8) and it should close it

As of version 1.1.0 you can now toggle E in the config, which enables or disables the ability to press E next to an ATM to open it.

Tested on ESX version V1 Final - I’m not sure if it’s going to work on older versions, most likely not. You would have to change the way the identifiers and money functions are in the server script, shouldn’t be too difficult but I will offer no support in it.

Optionals (As of 1.1.0)
The resource also uses pogressBar made by @Poggu but this is optional and can be toggled in the config.lua file. For the best experience I do however recommend using it, or if you have different progressbars replace the exports in the client.lua file.

Requirements (As of 1.1.0)



New 1.1.0 Video Preview
Old Video Preview

Tebex - If you enjoy the release and want to support me you can do so by purchasing one or more of my other free release for any amount you can give, and any amount you do give will go a long way of helping me make more stuff like this.

Download Here

How to Install (Updated for 1.1.0)

  1. Download the resource, remove -master from the folder name, place it inside of your resources folder.
  2. Download mythic_progbar and install it like the 1st step.
  3. Import the .sql file into your database.
  4. Start the resource in your server.cfg, if you are using poggu’s pogressBar make sure you start that in your server.cfg as well.

Feel free to edit and change the script to your liking, it’s 100% open-source, however you MAY NOT claim it as your own.

1.1.0 UPDATE 02/05/2021 (EU date, lol):

  • Complete HTML/CSS/JS rewrite
  • Full UI redesign
  • UI now scales depending on resolution
  • Added support for banks (can be toggled in config) - I guess it’s now also technically a banking script too? :thinking:
  • Added support to press E to open ATMs (can be toggled in config)

These are main bullet points of the update, full changelog is available here
The old version is still available under release should for some reason anyone want it.

If you run into any issues or have a feature request, open an issue on the repository.


can you make it openable with an key?

1 Like

Absolutely, you could register a key mapping and make the command execute when the button is pressed, I’m not planning on adding anything to the script anymore but you feel free to edit it yourself if you want!

This looks very good! You are on a role my friend :100:

Out of curiosity, at the moment we are using new_banking but feel this resource would be such an improvement!

However, not sure whether it would be compatible as plug and play with GCPhone app?

1 Like

Thanks mate,
I am not really sure about it working with GCPhone, it should as it just pulls the data from the database as far as I know, but don’t hold me on that.

1 Like

Will give it a go mate and let you know!

Then if anyone queries in future, you can let them know :100:

1 Like

Really like this script and the ability to see transaction logs is awesome.

Only issue with it, is that it cannot replace new_banking with the link to gcphone bank transfers.

The two scripts (new_banking and Advanced ATM) dont really go hand in hand either…

But again, really cool script and thank you for your release(s) :slight_smile: :100:

You would have to write your own code to link it with gcphone, it shouldn’t be too difficult but there’s nothing I can really do about it, sorry.

Looks amazing, beautiful script!

1 Like

No need to be sorry at all.

For us, it’s more so just pointing out the plug and play and compatibility of this script.

If anyone queries it in future, you know :+1:

1 Like

Great work!

1 Like

Good work thank you, I’ll be using it. I added this to my client.lua - credit Bazookan

    while true do       
        local sleep = 1000
        local playerPed = PlayerPedId()
        local playerCoords = GetEntityCoords(playerPed)
        for i = 1, #Config.Models do
            local x = GetClosestObjectOfType(playerCoords, 1.0, GetHashKey(Config.Models[i]), false, false, false)
            local entity = nil
            if DoesEntityExist(x) then
                sleep  = 5
                entity = x
                atm   = GetEntityCoords(entity)
                drawText3D(atm.x, atm.y, atm.z + 2, 'Press [~g~E~s~] to use the ATM ~s~')  
                if IsControlJustReleased(0, 38) then
                sleep = 1000

drawText3D = function(x, y, z, text)
	local onScreen,_x,_y=World3dToScreen2d(x,y,z)
	local px,py,pz=table.unpack(GetGameplayCamCoords())  
	local scale = 0.50 
	if onScreen then
		SetTextScale(scale, scale)
		SetTextColour(255, 255, 255, 215)
1 Like

I hope you guys enjoy the new update and design. Let me know if there are any issues :smiley:

hey! o love the new update i do have a question, i see transactions in the db, but i dont see them in game

Do you get any errors in the console when you open the transactions page? Also what version of ESX are you using?

final, and no errors just a blank page

I pushed an update, read the latest release and let me know if the issue still persists.