> For the complete documentation index, see [llms.txt](https://tyrix.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://tyrix.gitbook.io/docs/script-resources/tyrix-frames/commands.md).

# Commands

| Command               | Description                                                 | Permission |
| --------------------- | ----------------------------------------------------------- | ---------- |
| `/frameadmin`         | Open the admin panel - every canvas on the server           | Admin      |
| `/placecanvas <size>` | Start placing a canvas with no item. **Itemless mode only** | Any player |
| `/tf_closeeditor`     | Force-close the photo editor and hand back control          | Any player |
| `/tf_closeadmin`      | Force-close the admin panel and hand back control           | Any player |

## Debug commands

These only exist when `Config.Debug = true`, and every one is **also** admin-gated - a server owner testing on production must not hand every player a place/delete primitive.

| Command                   | Description                                                                 | Permission    |
| ------------------------- | --------------------------------------------------------------------------- | ------------- |
| `/frameplace [size]`      | Place a canvas 1.5 m in front of you, no item consumed. Defaults to `16x20` | Admin + Debug |
| `/framedel <id>`          | Delete a canvas by id, no refund                                            | Admin + Debug |
| `/tf_setphoto <id> <url>` | Set a canvas's photo directly, skipping the editor                          | Admin + Debug |
| `/tf_debug`               | Print the client's local frame registry and spawn state                     | Admin + Debug |
| `/tf_render`              | Print the render state - active frames, DUI slots, applied textures         | Admin + Debug |

{% hint style="warning" %}
**`/frameplace` is disabled whenever an item inventory is active.** It creates a canvas without consuming an item, and on a server where pickup hands one back that would be an item printer: place free, pick up, repeat. It refuses with a console explanation and remains available only in itemless mode, where it creates nothing of value. Spawn yourself the real canvas item and use it instead.
{% endhint %}

## Player-facing keys

Not commands, but worth listing alongside them. These are contextual and only bound while the relevant mode is active:

| Key         | Where                      | Action                                 |
| ----------- | -------------------------- | -------------------------------------- |
| `E`         | Aiming during placement    | Place the canvas                       |
| `G`         | Aiming during placement    | Switch to the precision gizmo          |
| `Arrows`    | Aiming during placement    | Rotate / adjust height                 |
| `Backspace` | Placement or gizmo         | Back out - the item is never consumed  |
| `E`         | Near a canvas, textui mode | Open the interaction menu              |
| `Esc`       | Photo editor               | Exit, reverting any unsaved adjustment |

The gizmo's own bindings are registered through `RegisterKeyMapping`, so they appear in **Settings → Key Bindings → FiveM** and players can rebind them.

## Permissions

**Admin** is granted by either the `tyrix.frames.admin` ace **or** membership of a framework group listed in `Config.Admin.groups`. See [Configuration → Admin access](/docs/script-resources/tyrix-frames/configuration.md#admin-access).

Admins additionally bypass the ownership check on edit, move and pickup, and — if `adminBypass` is on — the placement limit.
