> For the complete documentation index, see [llms.txt](https://docs.yeistudios.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yeistudios.com/scripts/car-wipe/configuration.md).

# Configuration

Configure commands, automation, permissions, cleanup rules, and the UI.

## Configuration

Configuration is split into two editable files, both marked as `escrow_ignore` in `fxmanifest.lua` so they always stay editable even if the resource is escrow-protected: `shared/config/config.lua` and `shared/lang/lang.lua`.

#### General

| Field              | Description                                                                                    |
| ------------------ | ---------------------------------------------------------------------------------------------- |
| `Config.Debug`     | Enables verbose console logging (ACE checks, countdown start, webhook status). Off by default. |
| `Config.Countdown` | Default countdown (in seconds) used when the start command is run with no arguments.           |

#### Commands

| Field              | Description                                                             |
| ------------------ | ----------------------------------------------------------------------- |
| `Config.CmdStart`  | Command that opens the admin panel / starts a wipe. Default: `carwipe`. |
| `Config.CmdCancel` | Command to cancel an active wipe. Default: `cancelcarwipe`.             |
| `Config.CmdStatus` | Command to check the remaining time. Default: `carwipestatus`.          |

#### ACE Permission

| Field                  | Description                                                                                            |
| ---------------------- | ------------------------------------------------------------------------------------------------------ |
| `Config.AcePermission` | ACE permission string required to use any carwipe command or panel action. Default: `yei-carwipe.use`. |

{% hint style="info" %}
Set it up in `server.cfg` with:

```cfg
add_ace group.admin yei-carwipe.use allow
add_principal identifier.license:YOUR_LICENSE group.admin
```

{% endhint %}

#### Discord Logs

`Config.DiscordLogs` sends an embed to a Discord webhook for every wipe start, cancel, completion, and permission-denied attempt.

| Field                                                  | Description                                                                           |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------- |
| `enabled`                                              | Turns log sending on/off.                                                             |
| `webhook`                                              | **Empty by default.** If left empty, nothing gets sent — paste your webhook URL here. |
| `botName`                                              | Name shown as the embed author.                                                       |
| `botAvatar`                                            | Avatar of the bot posting the embed.                                                  |
| `serverName`                                           | Shown in every log embed as the server field.                                         |
| `colors.started` / `canceled` / `completed` / `noperm` | Embed side-bar colors (decimal, not hex) for each event type.                         |

{% hint style="info" %}
Player names are automatically sanitized before being sent (backticks replaced, `@` neutralized) to prevent broken embeds or accidental `@everyone`/`@here` pings from a malicious player name.
{% endhint %}

#### Automatic Carwipe

Both automation modes are **disabled by default** — the script never wipes vehicles on its own unless you turn one of these on.

**`Config.Schedule`** — runs at fixed times of day.

| Field     | Description                                                                                             |
| --------- | ------------------------------------------------------------------------------------------------------- |
| `Enabled` | Turns scheduled wipes on/off.                                                                           |
| `Times`   | Array of `"HH:MM"` strings (24h format) — a wipe countdown starts automatically at each of these times. |

**`Config.IntervalTime`** — runs on a repeating timer.

| Field     | Description                                      |
| --------- | ------------------------------------------------ |
| `Enabled` | Turns interval wipes on/off.                     |
| `Time`    | Interval in **minutes** between automatic wipes. |

{% hint style="warning" %}
If both `Schedule.Enabled` and `IntervalTime.Enabled` are turned on at the same time, `Schedule` takes priority — the script skips re-arming the interval timer after a wipe if `Schedule` is active, to avoid both automations firing on top of each other.
{% endhint %}

#### Vehicle / Object Settings

| Field                       | Description                                                                                                 |
| --------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `Config.Objects`            | If `true`, props/objects are also deleted during a wipe (not just vehicles). Off by default.                |
| `Config.BlackListVehicles`  | List of vehicle model names (spawn codes) that should **never** be deleted, e.g. `'police'`, `'ambulance'`. |
| `Config.IgnoreZones`        | List of `{ Coords = vector3(x, y, z), Radius = number }` — vehicles inside any of these zones are skipped.  |
| `Config.IgnoreZonesObjects` | Same format as above, but for objects (only relevant if `Config.Objects = true`).                           |

{% hint style="info" %}
A vehicle is also automatically protected from deletion if it has a driver or any passengers, regardless of zones or blacklist.
{% endhint %}

#### UI Settings

`Config.UI` controls the on-screen countdown card shown to every player during an active wipe.

| Field                                                                  | Description                                                                                                                                                                                 |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `position`                                                             | Where the countdown card appears on screen. Options: `top-left`, `top-center`, `top-right`, `center-left`, `center-center`, `center-right`, `bottom-left`, `bottom-center`, `bottom-right`. |
| `colors.primary` / `background` / `accent` / `secondary` / `highlight` | Hex colors used to theme the countdown card and the admin panel.                                                                                                                            |

#### Text customization (`shared/lang/lang.lua`)

| Section       | Fields                                                                                                                                                                                                              |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Lang.Notify` | `AlreadyActive`, `NotActive`, `NotAllowed` — chat/notify messages.                                                                                                                                                  |
| `Lang.UI`     | `title`, `subtitle`, `footerCanceled`, `footerCompleted`, `timeLabel`, `message` — all text shown on the countdown card. `message` supports basic HTML (a `<span class="highlight">` wrapper is used for emphasis). |

{% hint style="info" %}
After editing either config file, `restart yei-carwipe` is enough — no need to restart the whole server.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.yeistudios.com/scripts/car-wipe/configuration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
