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

# Items

Investigation equipment, device screens and the mission kit.

Every tool is a standard usable item: right click → **Use** in ox\_inventory (or a hotbar key), or the normal use of the ESX / QBCore inventory.

| Item                | Name                | What "Use" does                                                                               |
| ------------------- | ------------------- | --------------------------------------------------------------------------------------------- |
| `ghost_emf`         | EMF Reader          | Takes it in hand and shows the EMF device screen – 5 LEDs, level **5** is evidence            |
| `ghost_thermometer` | Thermometer         | Takes it in hand and shows the LCD – below 0 °C in the ghost room is evidence                 |
| `ghost_spiritbox`   | Spirit Box          | Takes it in hand and shows the radio screen – press **G** in the ghost room to ask a question |
| `ghost_camera`      | Night Vision Camera | Night vision view with ghost orbs, **G** takes a photo                                        |
| `ghost_book`        | Writing Book        | Places it on the ground. Pick it up again with **E**                                          |
| `ghost_crucifix`    | Crucifix            | Places it on the ground. Inside the ghost room it stops one hunt                              |
| `ghost_pills`       | Sanity Pills        | Animation, then consumed – restores sanity                                                    |
| `ectoplasm`         | Ectoplasm           | Optional reward item                                                                          |

Using a hand-held tool again (or pressing **X**) puts it away. The items only work during an investigation.

## Device screens

Hand-held tools show a small device on screen instead of text hints: the EMF reader lights its LEDs, the thermometer shows the temperature on an LCD and the spirit box shows its frequency and the **G** key to ask. The key shown on the devices follows your `Config.Keys`. The device position is set in `Config.UI.positions.reading` – see [UI & notifications](/rayn-scripts-docs/rayn_ghosthunting/ui-and-notifications.md).

Item images are in `install/images/` – copy them to your inventory's image folder.

{% tabs %}
{% tab title="ox\_inventory / Qbox" %}
Paste the contents of `install/ox_inventory_items.lua` into `ox_inventory/data/items.lua`, copy the images to `ox_inventory/web/images/` and restart ox\_inventory.

```lua
['ghost_emf'] = {
    label = 'EMF Reader', weight = 300, stack = false, close = true, consume = 0,
    client = { export = 'rayn_ghosthunting.ghost_emf' },
},
['ghost_pills'] = {
    label = 'Sanity Pills', weight = 50, stack = true, close = true,
    client = {
        export = 'rayn_ghosthunting.ghost_pills',
        anim = { dict = 'mp_suicide', clip = 'pill' },
        usetime = 2000,
    },
},
```

Tools use `consume = 0`, so ox\_inventory never removes them. Pills are consumed by ox\_inventory after the animation. Books and crucifixes are removed by the server when placed.
{% endtab %}

{% tab title="QBCore" %}
Paste `install/qb_items.lua` into `qb-core/shared/items.lua` and copy the images to `qb-inventory/html/images/`.

```lua
ghost_emf = { name = 'ghost_emf', label = 'EMF Reader', weight = 300, type = 'item', image = 'ghost_emf.png', unique = true, useable = true, shouldClose = true, description = 'Detects electromagnetic activity.' },
```

{% endtab %}

{% tab title="ESX" %}
Run `install/esx_items.sql` on your database.

```sql
INSERT IGNORE INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`) VALUES
    ('ghost_emf', 'EMF Reader', 1, 0, 1),
    ('ghost_pills', 'Sanity Pills', 1, 0, 1);
```

{% endtab %}
{% endtabs %}

## Mission kit

The equipment is handed out automatically for the case and taken back when it ends – players do not need to own or buy anything.

```lua
Config.Kit = {
    giveOnStart = true,   -- hand out the kit to every team member when a case starts
    removeOnEnd = true,   -- take back what is left when the case ends or a player leaves it
    items = {
        ghost_emf = 1, ghost_thermometer = 1, ghost_spiritbox = 1, ghost_camera = 1,
        ghost_book = 1, ghost_crucifix = 1, ghost_pills = 2,
    },
}
```

The kit is also taken back when a player disconnects, leaves the area or the case times out. Set `giveOnStart = false` if players should buy the equipment in your shops.

{% hint style="warning" %}
The items must exist in your inventory. If an item is missing, the server console prints a warning on start and when the kit is handed out.
{% endhint %}

## Without an inventory

On a plain standalone server `Config.ToolMode = 'auto'` switches to a built-in hotbar: **Z / X** cycle the tools, **G** uses the selected one. Stock per case is set in `Config.Virtual`.


---

# 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://rayn-scripts.gitbook.io/rayn-scripts-docs/rayn_ghosthunting/items.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.
