> For the complete documentation index, see [llms.txt](https://sbscripts.gitbook.io/sb-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sbscripts.gitbook.io/sb-scripts/sb-vip/configuration.md).

# Configuration

Main settings are in `config.lua`. Shop products, Tebex packages, tabs and showroom spots are set in game, not in config.

### Interaction

`Config.Interaction.Type` sets how players open the shop.

| Value             | Uses                                                                |
| ----------------- | ------------------------------------------------------------------- |
| `'key'` (default) | SB Bridge's text UI prompt. Press the key, which defaults to **E**. |
| `'target'`        | SB Bridge's target (sbinteract, ox\_target or qb-target).           |

`Key`, `KeyLabel` and `Distance` in the same block set the key and how close players need to be.

### Permissions and payment

* `Config.Permissions`: which groups can use `/vipadmin`.
* `Config.Payment.MoneyAccount`: `'bank'` or `'cash'` for items bought with in-game money.

### SB Bridge

SB Bridge handles the framework, notify, text UI, target, inventory, money, keys, fuel and phone. Change these in SB Bridge's `config.lua`. SB VIP has no settings for them.

SB VIP still handles these itself, in `server/framework.lua`, because SB Bridge has no functions for them:

* Name change and phone number change
* Owned vehicles: adding bought cars to the garage, plate checks and plate changes, and moving trunk and glovebox items to the new plate
* The admin check for `/vipadmin`

### Anticheat

SB VIP teleports players when they enter or leave an IPL shop, start or end a test drive, and when a bought vehicle is delivered. Set `Config.Anticheat` so anticheats don't flag this:

| Value                     | What happens                                                                                     |
| ------------------------- | ------------------------------------------------------------------------------------------------ |
| `'sbanticheat'` (default) | Handled automatically with sbanticheat's whitelist exports.                                      |
| `'custom'`                | Fill in `CustomAnticheat.Pause(reason)` and `CustomAnticheat.Resume(reason)` in `anticheat.lua`. |
| `false`                   | Off.                                                                                             |

The `reason` is one of `ipl_enter`, `ipl_exit`, `testdrive` or `delivery`. The whitelist is added just before the teleport and removed about 2.5 seconds after the player arrives. During a test drive it stays on for the whole drive.

### Database tables

| Table                   | Stores                                                |
| ----------------------- | ----------------------------------------------------- |
| `sb_vip_transactions`   | Every Tebex purchase and whether it has been redeemed |
| `sb_vip_balance`        | Each player's token balance, by licence               |
| `sb_vip_tebex_packages` | Tebex package names and the tokens they give          |
| `sb_vip_products`       | Shop products                                         |
| `sb_vip_vehicles`       | Vehicles for sale                                     |
| `sb_vip_spots`          | Showroom vehicle spots                                |
| `sb_vip_categories`     | Shop tabs                                             |
