# 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.
