> For the complete documentation index, see [llms.txt](https://wiki.qfdevelopers.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.qfdevelopers.com/scripts/editor-15/configuration.md).

# Configuration

## Languages

You can set the language of the script in the configuration file.

* `en`: English
* `fr`: French
* `pl`: Polish
* `de`: German
* `es`: Spanish

<figure><img src="/files/ig9o7wm8oX8fWWbPFHXs" alt=""><figcaption></figcaption></figure>

## ATM's

Defines ATM models that can be used for interactions via target systems:

* `AtmModels`:\
  A list of object model names (hashes) recognized as ATMs.\
  These are used to place interaction zones for opening the banking UI.

> 📌 Default supported models:\
> • `prop_fleeca_atm`\
> • `prop_atm_01`\
> • `prop_atm_02`\
> • `prop_atm_03`\
> You can add or remove models based on your server's mapping.

<figure><img src="/files/uzT5fKkm4Qzbt31Ul472" alt=""><figcaption></figcaption></figure>

## Target

Defines the targeting system used for ATM and bank interactions:

* `Target.ox_target`: Set to `true` if you're using **ox\_target**.
* `Target.qtarget`: Set to `true` if you're using **qtarget**.
* `Target.qb_target`: Set to `true` if you're using **qb-target**.
* `Target.own`: Set to `true` if you're using a **custom targeting system**. Requires manual implementation in `client/editable.lua`.
* `Target.useE`: Set to `true` to allow interactions using the **E key** instead of a target system.

<figure><img src="/files/yMCZB2clRZ1CLO00l6CB" alt=""><figcaption></figcaption></figure>

## Zones

Defines all coordinates, labels, and settings for bank and ATM interaction zones:

#### `Zones.Bank`:

Settings for in-world bank locations with optional NPCs and interaction support.

* `Color`: Blip color ID for the map.
* `Label`: Name shown on the blip (e.g., `'Bank'`).
* `Sprite`: Blip icon ID used for banks.
* `Scale`: Size of the blip icon.
* `labelTarget`: Text shown when targeting the bank with a targeting system.
* `labelATMtarget`: Text for ATM interaction via target.
* `labelNoTarget`: Prompt shown if using interaction without a target system (e.g., "Press ~~INPUT\_CONTEXT~~").
* `icon`: Font Awesome icon used in the target interaction (e.g., `'fa fa-bank'`).
* `pedModel`: Ped model spawned at the bank.
* `scenario`: Animation scenario used by the ped.
* `coords`: List of bank locations (vector3).
* `pedHeading`: Heading values (one for each ped location).
* `distance`: Max distance required to interact.
* `groups`: Job restriction (set to `nil` for no restriction).
* `bank`: Set to `true` to mark this as a bank zone.

***

#### `Zones.ATM`:

Settings for ATM locations used when not relying on target models.

* `labelNoTarget`: Prompt shown for ATM interaction without target.
* `labelATMtarget`: Text for ATM interaction via target system.
* `coords`: List of ATM coordinates to be used without model-based detection.
* `pedHeading`: Heading for optional NPC near the ATM.
* `distance`: Max interaction distance.
* `groups`: Job restriction (set to `nil` for no restriction).
* `bank`: Set to `false` to mark this zone as ATM (not a bank).

> 📌 If you're using a targeting system, ATMs will automatically work based on models defined in `Config.AtmModels`. If not, you must manually define ATM coordinates here.

<figure><img src="/files/7AHw2jas7AkIeRxjUl72" alt=""><figcaption></figcaption></figure>

## Banks

Defines standalone bank locations with optional blip configuration:

* `Position`:\
  Coordinates and heading (`vector4`) for the bank location.
* `Blip`:\
  Controls whether a map blip is displayed at this location:\
  • `Enabled`: Set to `true` to show the blip on the map.\
  • `Color`: Blip color ID.\
  • `Label`: Name shown on the map (e.g., `'Bank'`).\
  • `Sprite`: Icon used for the blip (e.g., `108` for banks).\
  • `Scale`: Size of the blip icon on the map.

> 📌 You can define multiple bank locations by adding more entries to the list.

<figure><img src="/files/eOjZJZnKwtkVIF2bzl6Y" alt=""><figcaption></figcaption></figure>

## Exports

Server-side exports for the our banking resource

### GetAccountBalance

Retrieves the current bank account balance of a player.

**Parameters:**

* `playerId` *(number)* – The server ID of the player.

**Returns:**

* `success` *(boolean)* – Whether the operation was successful.
* `result` *(number|string)* – The account balance if successful, or an error message if failed.

<figure><img src="/files/vCVGpbTDJsDPCWw4uX9W" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/inlFt6wReTHfgoK4eNPb" alt=""><figcaption></figcaption></figure>

### CreateLog

Logs a transaction to the banking history without modifying the balance. Useful for third-party resources that handle money internally but want to show it in the banking history.

**Parameters:**

* `playerId` (number): The server ID of the player source.
* `amount` (number): The amount of the transaction.
* `transactionType` (string): A short description or type of the transaction (e.g., "Fine", "Shop Purchase").
* `accountType` (string, optional): The type of account ('bank', 'money'/'cash'). Defaults to `'bank'`.
* `beforeBalance` (number, optional): The balance of the player *before* the transaction occurred. If not provided, it will attempt to fetch the current balance.
* `targetId` (number, optional): The server ID of a target player (if this is a transfer). Defaults to `-1`.
* `targetBeforeBalance` (number, optional): The balance of the target player *before* the transaction (if this is a transfer).

<figure><img src="/files/V5Dy43MjJNKMT0MJaUyP" alt=""><figcaption></figcaption></figure>

### AddMoney

Adds money to a player's bank account.

**Parameters:**

* `playerId` *(number)* – The server ID of the player.
* `amount` *(number)* – The amount of money to add.

**Returns:**

* `success` *(boolean)* – Whether the operation was successful.
* `result` *(string)* – Success or error message.

<figure><img src="/files/2sw3ywFQS7JRcwD7piVu" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/VAEYOw7d5RixZhBB5FZ0" alt=""><figcaption></figcaption></figure>

### RemoveMoney

Removes money from a player's bank account.

**Parameters:**

* `playerId` *(number)* – The server ID of the player.
* `amount` *(number)* – The amount of money to remove.

**Returns:**

* `success` *(boolean)* – Whether the operation was successful.
* `result` *(string)* – Success or error message.

<figure><img src="/files/EktfQbHhZ1LYWVW9Yy1x" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/hkZpB1DOoMuW2FDX2O8p" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.qfdevelopers.com/scripts/editor-15/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
