# Configuration

The system's entire flexibility is controlled through the `config.lua` file. You can adjust the parameters according to your server's economic design or player interaction dynamics.

Below are the main configuration blocks and their descriptions:

## 1. Core Framework and Interaction

|                  Setting |                  Default                 | Description                                                                                     |
| -----------------------: | :--------------------------------------: | ----------------------------------------------------------------------------------------------- |
|            `Config.Core` |               `"qbx_core"`               | The core data handler: supports `qbx_core`, `qb-core`, `es_extended`.                           |
|     `Config.Interaction` |                `"target"`                | Method for environment interactions (ATMs and NPCs): `target`, `text`, or `both`.               |
|  `Config.TxHistoryLimit` |                   `30`                   | The maximum number of historical transactions displayed in the list UI (Database optimization). |
| `Config.ReceiptPrinting` | `{Enabled = true, ItemName = 'receipt'}` | Receipt printing system. Connects to the inventory system (Optional).                           |

## 2. Loans & Credit (Blacklist)

This section has the highest impact on the economy; managing loan conditions, repayment rates, and tracking limits:

* **`Config.Loans.InstallmentRates`**: Calculates percentage profit taken from the principal based on the chosen installment period (`[6] = 0.15` -> 15% interest added for a 6-month term).
* **`Config.Loans.JobLimits`**: Sets the maximum loan cap based on the player's profession (e.g., `police`, `taxi`, `default`).
* **`Config.Loans.CreditScoreTiers`**: The multiplier applied based heavily on the player's repayment track record. While a "Poor" account has a 0.5 (50%) multiplier, an "Excellent" account can pull a loan up to 2.0x the base limit.
* **`Config.Loans.BlockWithdrawOnOverdue`**: If set to `true` and the player has a missed or overdue loan installment, they will be blocked from withdrawing cash.

## 3. Dynamic ATM Fees

* **`Config.AllowAtmSelling`**: Allows players to exchange or sell the ATM assets they own.
* **`Config.ATM_DefaultFeePercentage`**: The base fee amount for an unowned or placed ATM; when a player withdraws money, the bank (or the ATM owner) takes this commission (`0.05` => `5%`).
* **`Config.ApplyFeeToUnownedAtms`**: If set to `true`, the central system applies taxation on all unowned ATMs. This is an excellent alternative for creating a persistent money sink within the city economy.

## 4. Developer / Debug Modes

* **`Config.ModelSwaps`**: A feature to force invalid, conflicting, or unwanted ATM models caused by custom MLO/Map loadings into a standardized model (e.g., `prop_atm_03`).
* **`Config.BankPeds`**: Coordinates where NPC tellers will spawn across the city.


---

# Agent Instructions: 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://docs.sourcedev.pro/advanced-banking-system/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.
