> 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-speedtraps/configuration.md).

# Configuration

Main settings are in `config.lua`. Speed tiers can also be edited in the admin panel's Speed Tiers tab, which uses the defaults in `config.lua`.

| Setting                    | What it does                                                                       |
| -------------------------- | ---------------------------------------------------------------------------------- |
| `Config.Map`               | Calibration for `html/map.png`.                                                    |
| `Config.AutoCreateTables`  | Creates tables and preconfigured traps on first start.                             |
| `Config.Detection`         | `Radius`, `Tolerance`, `Cooldown` and `ServerRadiusPad`.                           |
| `Config.Blips`             | Blip settings, including `PauseMap`.                                               |
| `Config.Exempt.Jobs`       | On-duty jobs that never get tickets. Default: police, bcso, sast, sasp, ambulance. |
| `Config.Police.Jobs`       | Jobs with access to the police panel, with a minimum grade.                        |
| `Config.Owner`             | How tickets for other people's cars are handled.                                   |
| `Config.Tickets`           | Check interval for overdue tickets.                                                |
| `Config.License`           | Overdue count to revoke, and whether the card is removed.                          |
| `Config.Interaction`       | `'target'` or `'textui'` for fines desks.                                          |
| `Config.Payment.Locations` | Fines desk positions and ped settings.                                             |
| `Config.Phone`             | Which phone emails are sent.                                                       |
| `Config.Dispatch`          | Dispatch system and `MinOver`.                                                     |
| `Config.Commands`          | Command names, or `false` to disable `/myfines`.                                   |
| `Config.Watermark`         | `false` hides the logo in the admin and records panels.                            |
| `Config.Debug`             | Prints trap activity and rejected passes to F8.                                    |
| `Config.DefaultTraps`      | Traps added once, when the table is empty.                                         |

### Fines desks

`Config.Interaction = 'target'` puts an SB Bridge target on the desk ped. `'textui'` shows the text UI when a player walks up, and they press **E**.

Each entry in `Config.Payment.Locations` has a `ped = vector4(x, y, z, heading)`. Stand where the ped should stand, face the way it should face, and copy your coordinates as a `vector4`. The ped spawns on that point, facing the heading, when a player is within 80 m. Set `Ped.model = false` for a marker with an **E** prompt instead.

### Phone emails

Emails go through SB Bridge's phone, which supports lb-phone, qb-phone and NPWD. Drivers get an email for each speeding ticket, a reminder `ReminderHours` (12) before an unpaid ticket is due, and when a licence is revoked or reinstated.

SB Bridge can only mail online players. Mail for offline players is kept in `sb_speedtrap_mail` and sent when they next load in. Each email can be turned off in `Config.Phone`. The wording is in `locales/en.lua`.

### Hooks

`server/custom.lua` holds hooks for your own scripts:

* `Log(kind, message)`: set `Webhook` for Discord logs.
* `OnFinesPaid(src, total, tickets)`: send fines to a society account. Examples for qb-banking and Renewed-Banking are included.
* `OnTicketIssued(src, ticket)` and `OnLicenceChanged(src, citizenid, hasLicence)`.
