# Features

Everything included in moh-pawnshop out of the box.

## Core Features

| Feature                  | Details                                                                                   |
| ------------------------ | ----------------------------------------------------------------------------------------- |
| Configurable item prices | Define any item and price per unit in `Config.PawnItems`. No hardcoding.                  |
| Cash or Bank payment     | Toggle `Config.BankMoney` to pay cash or directly to bank.                                |
| Opening hours            | Optionally restrict sales to certain in-game clock hours via `Config.UseTimes`.           |
| Item images              | Pulls images from the active inventory resource automatically. Emoji fallback if missing. |
| Multi-location           | Define multiple shop zones in `Config.PawnLocation`.                                      |
| NPC & blip               | Frozen, invincible NPC spawned on resource start with a color-5 map blip.                 |

## Security Features

| Feature           | How it works                                                                              |
| ----------------- | ----------------------------------------------------------------------------------------- |
| Sell lock         | 1-second per-player cooldown on the `sellPawnItems` event prevents spam.                  |
| Item validation   | Item name is checked server-side against `Config.PawnItems`. Unknown items trigger a ban. |
| Amount validation | Amount must be a positive whole integer. Floats or negatives trigger a ban.               |
| Proximity check   | Player must be within 5.0 units of a shop location. Remote triggering triggers a ban.     |
| Inventory check   | Server verifies the player actually owns the quantity before removing.                    |
| Auto-ban          | Any failed check permanently bans the player and logs it to qb-log and the DB.            |

## Compatibility Matrix

| Type          | Supported   | Detection                        |
| ------------- | ----------- | -------------------------------- |
| ox\_inventory | ✓ Supported | Auto via `GetResourceState`      |
| qs-inventory  | ✓ Supported | Auto via `GetResourceState`      |
| ps-inventory  | ✓ Supported | Auto via `GetResourceState`      |
| qb-inventory  | ✓ Supported | Auto via `GetResourceState`      |
| ox\_target    | ✓ Supported | Auto via `GetResourceState`      |
| qb-target     | ✓ Supported | Auto via `GetResourceState`      |
| qtarget       | ✓ Supported | Auto via `GetResourceState`      |
| PolyZone      | Optional    | Only used when UseTarget = false |

✅ **Zero configuration needed for inventory/target**\
The resource detects your active inventory and target system automatically at runtime. You do not need to set any option for this.


---

# Agent Instructions: 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:

```
GET https://mohssins.gitbook.io/mohscriptsdocs/moh-pawnshop/features.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
