FAQ

FAQ

Frequently asked questions about the Buy ATM System.


General Questions

What is the Buy ATM System?

The Buy ATM System is a comprehensive ATM ownership and management script for FiveM servers. It allows players to purchase, manage, and profit from ATMs across the map.

Which frameworks are supported?

The script supports:

  • QBCore - Full support

  • ESX - Full support

  • Qbox - Full support

Framework detection is automatic via ic3d_lib.

What are the requirements?

Required Dependencies:

  • ox_lib - For UI components and notifications

  • ic3d_lib - For framework abstraction (included)

  • oxmysql - For database operations

Server Requirements:

  • FiveM server

  • MySQL database

  • One of the supported frameworks


Installation Questions

How do I install the script?

  1. Install dependencies (ox_lib, ic3d_lib, oxmysql)

  2. Import atm.sql to your database

  3. Place script in resources folder

  4. Add ensure godv_buyatm to server.cfg

  5. Configure config.lua

  6. Restart server

See Installation Guide for detailed steps.

Do I need to configure the database?

Yes, you need to:

  1. Import atm.sql to create tables

  2. Configure oxmysql connection

  3. Verify tables were created

See Installation Advanced Detailed for database setup.

Can I use this with my existing banking system?

Yes, the script works alongside existing banking systems. It uses framework abstraction to interact with bank/cash without conflicts.

Note: If you have custom banking scripts, you may need to disable Config.AutoDetectBankDelta and use manual transaction processing.


Configuration Questions

How do I change the language?

  1. Set Config.Locale = "your_language" in config.lua

  2. Create locale file in locales/your_language.lua

  3. Translate all strings

  4. Restart resource

See Configuration Guide for details.

How do I limit how many ATMs players can own?

Set Config.MaxATMsPerPlayer in config.lua:

Can I disable ATM blips?

Yes, set Config.ATMBlip.Enabled = false in config.lua.

How do I change the NPC location?

Edit Config.ATMNpc.Coords in config.lua:

Use /getcoords in-game to find coordinates.


Gameplay Questions

How does the tax system work?

Automatic Detection:

  1. Player approaches ATM (within Config.ProximityRadius)

  2. System detects deposit/withdraw transactions

  3. Calculates tax based on ATM's tax rate

  4. Deducts tax from appropriate source:

    • Withdraw: Tax from cash

    • Deposit: Tax from bank

  5. Adds tax to ATM revenue

Tax Rates:

  • Limited by owner's level (0-39% max)

  • Set per ATM by owner/manager

  • Applied automatically to transactions

How do players purchase ATMs?

  1. Open management UI (via NPC or command)

  2. Browse available ATMs

  3. Click "Buy" on desired ATM

  4. Select payment method (cash or bank)

  5. ATM becomes owned after payment

How does the rent system work?

Rent Period:

  • 15 days from purchase date

  • Extends by 15 days when paid

  • Auto-expires after 10 days overdue

Rent Payment:

  • Pay via management UI

  • Extends ownership by 15 days

  • Can cancel rental to make ATM available

How do I hire employees?

  1. Open ATM management UI

  2. Go to "Employees" tab

  3. Enter player's server ID

  4. Click "Invite"

  5. Set permissions for employee

Permissions:

  • manage - Full management access

  • withdraw - Can withdraw revenue

  • manage_tax - Can change tax rate

  • view_logs - Can view transaction logs

  • employees - Can manage employees

How does the level system work?

XP Sources:

  • 250 XP per owned ATM

  • 150 XP per $25,000 transaction volume

  • 40 XP per $2,000 revenue generated

Level Benefits:

  • Higher levels = higher tax rate limits

  • Level 1: 0-10% tax

  • Level 5+: 0-39% tax

How do I withdraw revenue?

  1. Open ATM management UI

  2. Go to "Revenues" tab

  3. Click "Payout"

  4. Enter amount

  5. Select method (cash or bank)

  6. Confirm withdrawal

Requirements:

  • Must be owner or have withdraw permission


Technical Questions

How does coordinate synchronization work?

The script uses chunked streaming to prevent network overflow:

  1. Server sends coordinates in chunks (75-200 per chunk)

  2. Uses TriggerLatentClientEvent for efficient transmission

  3. Client accumulates chunks in buffer

  4. Updates cache when complete

Benefits:

  • Prevents reliable overflow errors

  • Handles large ATM counts efficiently

  • Automatic throttling

What happens if the server restarts?

On Restart:

  1. All ATM data persists in database

  2. Players receive updated ATM list on join

  3. Coordinates sync via chunked streaming

  4. Blips refresh automatically

Wait Time:

  • Allow 1-2 seconds for coordinate sync

  • Use /toggleatmblips to refresh if needed

Can I customize the UI?

Yes, you can modify:

  • web/style.css - Visual styling

  • web/ATM.html - Structure

  • web/script.js - Behavior

Note: UI modifications may be overwritten on updates. Keep backups.

How do I add more ATMs?

Method 1: In-Game Command

Method 2: Bulk Import

Method 3: Manual SQL


Troubleshooting Questions

ATMs not showing on map

Solutions:

  1. Check Config.ATMBlip.Enabled = true

  2. Run /toggleatmblips to refresh

  3. Wait 1-2 seconds after server restart

  4. Verify ATMs exist in database

Tax not being collected

Solutions:

  1. Verify Config.AutoDetectBankDelta = true

  2. Check player is within Config.ProximityRadius

  3. Verify ATM has tax rate set (> 0)

  4. Check server console for errors

Employees not receiving permissions

Solutions:

  1. Verify employee was added correctly

  2. Check permissions JSON in database

  3. Refresh UI after permission changes

  4. Verify employee identifier matches

Database errors

Solutions:

  1. Verify atm.sql was imported

  2. Check oxmysql connection

  3. Verify database credentials

  4. Check server console for specific errors

See Troubleshooting Guide for more solutions.


Performance Questions

Will this script lag my server?

No, the script is optimized for performance:

  • 0.00ms resmon usage - Zero impact

  • Efficient database queries

  • Chunked streaming prevents overflow

  • Optimized proximity detection

How many ATMs can I have?

The script can handle:

  • Small servers: 50-100 ATMs

  • Medium servers: 100-500 ATMs

  • Large servers: 500+ ATMs

Optimization Tips:

  • Reduce Config.ProximityRadius for better performance

  • Disable blips if not needed

  • Use chunked streaming (automatic)

Does it work with many players?

Yes, the script uses:

  • Queue system for coordinate requests

  • Throttling to prevent spam

  • Efficient database queries

  • Client-side caching


Permission Questions

Who can change tax rates?

Default Behavior:

  • Owner can always change tax

  • Employees with manage_tax permission (if Config.RequireOwnerForTax = false)

  • Employees with manage permission (if Config.AllowTaxChangeByManagers = true)

Configuration:

Who can withdraw revenue?

  • ATM owner (always)

  • Employees with withdraw permission

Who can manage employees?

  • ATM owner (always)

  • Employees with manage permission


Support Questions

Where can I get help?

  • Check Troubleshooting Guide

  • Review Configuration Guide

  • Check server console for errors

  • Contact script developer

How do I report bugs?

  1. Enable Config.Debug = true

  2. Reproduce the issue

  3. Check server console for errors

  4. Note steps to reproduce

  5. Contact developer with details

Can I request features?

Feature requests should be directed to the script developer. Check if the feature already exists in the documentation first.


Miscellaneous Questions

Can I transfer ATMs to other players?

Yes, use the "Transfer ATM" feature in the management UI:

  1. Open ATM management

  2. Go to Settings tab

  3. Enter target player ID

  4. Click "Transfer ATM"

  5. Confirm transfer

What happens to expired ATMs?

Auto-Reclaim:

  • ATMs expire 10 days after rent due date

  • Automatically reclaimed (owner set to NULL)

  • Become available for purchase

  • Runs every 10 minutes

Can I see transaction history?

Yes, in the management UI:

  1. Open ATM management

  2. Go to Revenues tab

  3. View transaction history

  4. Filter by date/type

Requirements:

  • Must be owner or have view_logs permission


Still have questions? Check the Troubleshooting Guide or contact support.

Last updated