> For the complete documentation index, see [llms.txt](https://fantasy-scripts.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://fantasy-scripts.gitbook.io/docs/lib-interactions-radial-menu-menus-and-notifications/customizations.md).

# Customizations

Two files, both read when the resource starts. Neither needs the interface rebuilt.

### Colours

`theme.lua`, in the resource folder. Every colour the menus, dialogs, progress bars, notifications and world prompts use, with a comment saying where each one shows.

```lua
return {
    accent = '#3ee0f5',                    -- SUBMIT buttons, progress bars, sliders
    accentText = '#0b0c0e',                -- text drawn on the accent colour
    panel = 'rgba(14, 15, 17, 0.9)',       -- menu titles, dialogs, notifications
    panelSoft = 'rgba(14, 15, 17, 0.78)',  -- option lists, key hint bars
    radial = 'rgba(0, 0, 0, 0.68)',        -- the radial menu
}
```

Write colours as `'#3ee0f5'`, `'#3ee0f5cc'`, `'rgb(62, 224, 245)'` or `'rgba(14, 15, 17, 0.9)'`. Use `rgba(...)` where the game should show through — the last number is how solid it is.

A colour left out, or spelled wrongly, keeps its built-in value.

The world prompts take their colours from here too: `text` for the label, `key` and `keyText` for the `[E]` badge.

### Interaction prompts

`interact.lua`. How the `[E] LABEL` prompts behave and how big they are.

```lua
return {
    enabled = true,

    key = 'E',
    control = 38,
    uppercase = true,
}
```

| Setting     | What it does                                                    |
| ----------- | --------------------------------------------------------------- |
| `enabled`   | Turn the whole system off                                       |
| `key`       | The letter on the badge                                         |
| `control`   | The control that presses it. `38` is `E`. Change both together. |
| `uppercase` | Write labels in capitals                                        |

#### Size and feel

Sizes are in pixels on a 1080p screen and scale to the player's resolution.

| Setting              | What it does                                                   |
| -------------------- | -------------------------------------------------------------- |
| `textSize`           | Height of the label capitals                                   |
| `keySize`            | Size of the `[E]` badge                                        |
| `dotSize`            | The ring shown on a point you can walk up to                   |
| `rowSpacing`         | Space between options on a point that has several              |
| `dimmedAlpha`        | How visible the options you are not on are, `0` to `255`       |
| `shadow`             | A dark shadow behind labels, so they read on bright walls      |
| `crosshair`          | A small dot in the middle of the screen while points are near  |
| `hoverRadius`        | How near the middle of the screen a point must be to be picked |
| `defaultDistance`    | How close before a point's ring appears                        |
| `defaultInteractDst` | How close before the prompt appears and `E` works              |

The last two are defaults; a script can set its own per point.

#### Old text prompts

Scripts using ox\_lib's TextUI with a key in the text get a world prompt instead of the text box, without being changed.

```lua
replaceTextUI = {
    enabled = true,
    anchor = 'world',
    requireLook = true,
}
```

| Setting       | What it does                                                                                          |
| ------------- | ----------------------------------------------------------------------------------------------------- |
| `enabled`     | Turn the replacement off to keep the old text boxes                                                   |
| `anchor`      | `'world'` leaves the prompt where you were standing. `'player'` floats it beside your character.      |
| `requireLook` | `true` shows a ring first and only accepts `E` while you look at it. `false` always shows the prompt. |
| `hoverRadius` | How near the middle of the screen the ring must be                                                    |
| `connectors`  | Filler words dropped from labels, so "Press \[E] to open garage" becomes "\[E] OPEN GARAGE"           |

#### When prompts should not show

```lua
disable = {
    dead = true,
    nuiFocus = true,
    inVehicle = true,
    cuffed = true,
},
```

`nuiFocus` covers any menu, phone or inventory holding the cursor — worth leaving on, or prompts will sit behind your other screens.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://fantasy-scripts.gitbook.io/docs/lib-interactions-radial-menu-menus-and-notifications/customizations.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
