Docs/ORB Clothing/Admin Panel

Admin Panel

The admin panel is the single source of truth for stores — create, edit, delete, and teleport to any store entirely in-game, with no config edits required.

On the **first server start**, the default store locations from `config.lua` are seeded once into the admin panel. From then on the panel owns every store. A marker file (`data/.stores_seeded`) ensures stores you delete are not resurrected on restart.

Opening the Panel

/storeadmin

Requires the permission group configured in Config.AdminPermission (default: "admin"), or the framework's admin group.

Creating a Store

  1. 01Open the admin panel with /storeadmin
  2. 02Click Create New Store
  3. 03Position yourself where you want the store
  4. 04Configure:

- Label — Display name

- Type — clothing, barber, tattoo, or accessories

- Zone Size — Interaction area dimensions

- Camera Preset — Which camera angle opens with the store

  1. 01Click Save — a 3D marker shows the zone in real-time
  2. 02The store is immediately available for all connected players

Editing a Store

  1. 01Open admin panel
  2. 02Select an existing store from the list
  3. 03Modify any settings
  4. 04Use Teleport to Store to jump straight to the store you're editing
  5. 05Save — changes sync to all clients instantly

Deleting a Store

  1. 01Open admin panel
  2. 02Select the store
  3. 03Click Delete
  4. 04Confirm — store is removed from all clients

Data Storage

All stores (seeded defaults and admin-created) are saved to data/admin_stores.json. This file is included in escrow_ignore, so you can manually edit it if needed.

json
[
    {
        "id": "store_default_1",
        "type": "clothing",
        "coords": { "x": 76.19, "y": -1393.72, "z": 29.37, "w": 90.71 },
        "pedPosition": { "x": 75.39, "y": -1398.28, "z": 29.38, "w": 6.73 },
        "cameraPreset": "full",
        "default": true,
        "createdBy": "config_seed",
        "createdAt": "2024-01-15T10:30:00Z"
    }
]

Permissions

MethodCheck
ACEIsPlayerAceAllowed(source, 'command')
QBCore/QBoxQBCore.Functions.HasPermission(source, Config.AdminPermission)
ESXAdmin group check
StandaloneACE only
Admin actions are logged with the player's license and server ID for accountability.