> For the complete documentation index, see [llms.txt](https://acestudios.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://acestudios.gitbook.io/docs/inventory-and-items/deployables/configuration.md).

# Configuration

Configure ace\_deployables through Config.lua.

General settings, zones and notifications are in `Config.lua`. The deployables themselves are in `ItemList.lua`. See [Adding Deployables](/docs/inventory-and-items/deployables/adding-deployables.md).

## General

| Option                   | Type    | Default             | Description                                                                                               |
| ------------------------ | ------- | ------------------- | --------------------------------------------------------------------------------------------------------- |
| `Config.LogServerEvents` | boolean | `false`             | Logs deployments, pickups and clears to the server console, with player identifiers and deployable types. |
| `ResourceName`           | string  | `"Ace Deployables"` | Display name used in UI, notifications and logs.                                                          |
| `TextToggleCommand`      | string  | `"toggleacetext"`   | Command that toggles the on-screen text display.                                                          |
| `UseZones`               | boolean | `true`              | Turns on zone-based placement restrictions (`Config.Zones`).                                              |
| `EnablePersistence`      | boolean | `true`              | Saves deployed objects across restarts (`db/deployables.json`).                                           |
| `DeployableOwnerShip`    | boolean | `true`              | Only the owner can interact with (pick up or destroy) their deployables.                                  |
| `MaxPlacementDistance`   | number  | `10.0`              | Maximum distance from the player where placement is allowed.                                              |
| `maxPlacementHeight`     | number  | `100.0`             | Maximum placement height (anti-abuse).                                                                    |
| `UseInventory`           | boolean | `true`              | `true` = deploy from inventory items. `false` = use commands.                                             |
| `GenerateInventoryData`  | boolean | `true`              | Writes item definitions for the detected inventory to `generated_items.txt` on start.                     |

{% hint style="info" %}
**Optional debug flag:** `server/InventoryBridge.lua` reads `Config.Settings.ServerDebug`. It isn't in the default config. Add `ServerDebug = true` to `Config.Settings` to print inventory-bridge messages, such as the detected inventory.
{% endhint %}

## Zones

```lua
Config.Zones = {
    camp_1 = {
        Loc = {-765.8195, 4196.8760, 183.6587},
        Size = 200,
        Blip = { id = 685, color = 25 },
        ShowOnMap = true,
        label = "Campsite 1",
        allowedDeployables = false,
        allowedPlayers = false
    },
}
```

| Field                    | Description                                     |
| ------------------------ | ----------------------------------------------- |
| `Loc`                    | Zone center `{x, y, z}`.                        |
| `Size`                   | Radius of the circular zone.                    |
| `Blip.id` / `Blip.color` | Map blip sprite and color.                      |
| `ShowOnMap`              | Shows the zone blip on the map.                 |
| `label`                  | Zone name.                                      |
| `allowedDeployables`     | `false` = all deployables allowed in this zone. |
| `allowedPlayers`         | `false` = all players allowed in this zone.     |

Two zones ship by default: **Campsite 1** (`camp_1`) and **Beach Area 1** (`beach_1`).

## Notifications

```lua
Config.NotificationType = 'gta' -- 'ox' | 'gta' | 'custom' | false
```

| Value      | Behavior                                                                                                                     |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `'gta'`    | Native GTA notification (default).                                                                                           |
| `'ox'`     | `lib.notify`. **Uncomment** `'@ox_lib/init.lua'` in `fxmanifest.lua`, and make sure `ox_lib` is installed and started first. |
| `'custom'` | Put your own export or event in the `else` branch of `SendAceNotification` in `Config.lua`.                                  |
| `false`    | Turns off notifications.                                                                                                     |

{% code title="Config.lua — custom notification example" %}

```lua
else
    -- [Custom notification]
    exports['your_notify']:Notify(text, notifType) -- replace with your system's API
end
```

{% endcode %}

`Config.Notifications` holds the message text: `deployed`, `pickedUp`, `clearUp`, `invalidPlacement`, `notAllowed`, `tooFar`.
