Skip to main content

Overview

RARX PedMenu is a standalone PED management system for FiveM. Admins assign custom PEDs to players; each player can then browse and apply their assigned PEDs from a dedicated menu. Includes a full admin panel for bulk management, 9 translated languages, a custom NUI (no dependencies on qb-menu / qb-input / ox_lib), and Discord webhook logging.

Features

Multi-Framework

Auto-detection for QBCore, QBox (qbx_core), and ESX. No manual configuration required.

Player PED Library

Each player sees only the PEDs an admin has assigned to them, stored per citizen_id.

Admin Panel

Assign, edit, and remove PEDs for online or offline players from a central UI.

Custom Svelte-Free NUI

Fully custom HTML/CSS/JS interface — no qb-menu, qb-input, or ox_lib menu dependencies.

9 Languages

ES, EN, FR, DE, IT, PT, RU, JA, ZH — configurable per server via Config.Language.

Discord Webhooks

Separate webhook URLs for select / add / remove / edit PED actions with configurable colors.

ACE Permissions

Mix group-based (admin/god) and ACE permissions. Both paths are supported.

rarx_clothing Hook

Re-applies stored appearance via rarx_clothing after a PED change when available.

Requirements

The framework is detected automatically at startup. Order of detection: qbx_coreqb-corees_extended. You can also force a specific framework via Config.Framework.

Installation

1

Download & Extract

Extract the resource into your server’s resources/ folder.
2

Import Database

Run rarx_pedmenu.sql to create the rarx_pedmenu table.
3

Add to server.cfg

Ensure oxmysql and your framework start before this resource.
4

Configure

Edit shared/config.lua to set your language, commands, admin groups, and webhook URLs.

Configuration

General

Commands

Commands are registered server-side from Config.Commands — rename them in shared/config.lua and restart the resource to apply.

Permissions

Discord Webhooks

Debug

When Config.Debug.enabled = false, no debug messages are printed — only critical errors.

Commands

Both command names are configurable via Config.Commands.

Debug-only commands

These commands are registered only when Config.Debug.enabled = true.

Using the Player Menu

  1. Player runs /peds
  2. The NUI opens and lists every PED an admin has assigned to them
  3. The player clicks a PED to apply it — the model is swapped on the player and the appearance (if any) is re-applied via rarx_clothing when available
  4. If the player has only one PED assigned, /peds applies it directly without opening the menu

Using the Admin Panel

  1. Admin runs /rarxpedmenu
  2. The panel opens with three tabs:
    • My PEDs — the admin’s own assigned PEDs
    • All PEDs — every player on the server with at least one PED assigned
    • Management — assign / edit / remove PEDs

Assigning a PED

1

Pick a player

Choose from online players, or look up any citizen_id with previously-assigned PEDs.
2

Enter PED details

Provide a friendly Name and the GTA model hash (e.g. a_m_m_business_01).
3

Confirm

The PED is stored in the rarx_pedmenu table and the target player sees it on their next /peds.

Editing a PED

Select any existing PED in the Management tab to rename it or swap the model. The table key is (citizen_id, ped_model) — editing the model updates the row in place.

Removing a PED

Admins can remove any PED from any player. Confirmation is required before the row is deleted.

Localization

Language is set via Config.Language in shared/config.lua. The language cannot be changed in-game — you must restart the resource after editing the config.

Adding a new language

1

Duplicate en.json

Copy locales/en.json to locales/<code>.json (e.g. nl.json).
2

Translate

Translate every string value. Leave keys untouched.
3

Apply

Set Config.Language = 'nl' and restart the resource.

Events API

Server → Client

Client → Server

Database

Single table: rarx_pedmenu Indexes: citizen_id, ped_model.

Troubleshooting

Make sure the player has at least one PED assigned (check the rarx_pedmenu table). If they do, enable Config.Debug.enabled = true and watch the console — IsServerReady / FrameworkReady / DBReady must all be true.
Verify your group is in Config.AdminGroups. If you use ACE, also check Config.AceEnabled = true and that your ACE grant is correct (e.g. add_ace group.admin command.rarxpedmenu allow).
rarx_clothing must be running and its GetAppearanceData / SetAppearance exports available. Without it, the ped model is swapped but the appearance isn’t re-applied.
The locale file must exist in locales/<code>.json. Restart the resource after changing the config — the language is not hot-reloadable.
Set Config.Webhooks.enabled = true and fill the url fields. Per-action enabled flags must also be true. Use /testwebhook <action> with Config.Debug.enabled = true to verify.