# Configuration

Main configuration file: `config.lua`.

### Core

* `Config.Locale`: active locale key (for example `en`, `hr`).
* `Config.Framework`: `auto`, `esx`, `qb`, or `qbox`.

### Permissions

* `Config.Permissions.UseAce`: enables ACE-based checks.
* `Config.Permissions.Ace`: ACE permission string.
* `Config.Permissions.AllowedGroups`: framework admin groups (if used by your setup).

### Commands

* `Config.Command.Open`: chat/console command to open the panel.
* `Config.Command.Refresh`: command to force a snapshot refresh.

### Access Lists

* `Config.Access.View`: identifier allowlist for read-only access.
* `Config.Access.Full`: identifier allowlist for full access (refresh/edit tools).
* `Config.Access.FullIncludesView`: if true, full-access users also count as view users.

Use full identifiers (license/discord/steam style) and keep this list minimal.

### Money Editing

* `Config.MoneyEdit.Enabled`: master toggle.
* `Config.MoneyEdit.AllowCash`: allow cash edits.
* `Config.MoneyEdit.AllowBank`: allow bank edits.
* `Config.MoneyEdit.AllowInventoryMoney`: enable inventory money item editing.
* `Config.MoneyEdit.InventoryMoneyItem`: item name used as money item.
* `Config.MoneyEdit.InventoryMaxDeltaAbs`: hard safety clamp per operation.

### Snapshots

* `Config.Snapshot.OnResourceStart`: generate snapshot on resource boot.
* `Config.Snapshot.RefreshCooldownSeconds`: anti-spam cooldown for manual refresh.
* `Config.Snapshot.KeepLastSnapshots`: retention count.
* `Config.Snapshot.TopN`: default top list size.

### Data Scope

* `Config.DataScope.ActiveMinutes`: activity window for "active" filters.
* `Config.DataScope.RecentDays`: "recent" window for dormant analysis.

### Categories

* `Config.CategoriesMode`: `threshold` or `percentile`.
* `Config.CategoriesThreshold`: absolute value bands.
* `Config.CategoriesPercentile`: percentile-based bands.

### Health Thresholds

`Config.Health` controls economy warning levels:

* Near-zero threshold.
* Affordability reference cost.
* Inflation pressure thresholds.
* Wealth concentration thresholds.
* Middle class health thresholds.

Tune these values to your server economy scale. Do not copy values blindly from other servers.

### Database Mapping

`Config.DB` defines framework-specific table and column mappings:

* Player table/identifier/money fields.
* Name extraction fields.
* Activity timestamp fields.
* Vehicle ownership/model fields.

Match this section to your actual schema before production.

### Tax Module

* `Config.Tax.Enabled`: enables periodic tax processing.
* `Config.Tax.PeriodInMinutes`: run interval.
* `Config.Tax.BankTaxRate`: tax rate for bank balances.
* `Config.Tax.VehicleTaxRate`: tax rate for vehicle valuation.
* `Config.Tax.AccountName`: account key used for bank storage.
* `Config.Tax.PriceTable`: vehicle price source table mapping.
* `Config.Tax.SettingsTable`: persistent last-tax state table mapping.
* `Config.Tax.DiscordUsername`: webhook display name.
* `Config.Tax.DiscordWebhookBank`: webhook for bank tax logs.
* `Config.Tax.DiscordWebhookVehicle`: webhook for vehicle tax logs.
* `Config.Tax.CommandRunNow`: manual admin tax-run command.

### Notifications

* `Config.Notify.Provider`: `custom`, `auto`, `esx`, `qbcore`, `qbox`, or `print`.
* `Config.Notify.Duration`: notification duration (milliseconds).
* `Config.Notify.DefaultLevel`: fallback notification level.
* `Config.Notify.UseExport`: legacy compatibility for old custom-export setups.
* `Config.Notify.ExportResource`: resource name containing the custom notify export.
* `Config.Notify.ExportName`: export function name.

### Hardening Recommendations

* Keep `Full` access list short and audited.
* Use unique command names if your server has command conflicts.
* Keep webhook values outside public repos.
* Set realistic cooldown and delta limits to reduce abuse impact.
