Free FiveM commands panel

Commands documentation

In-game command list for your players, with their own keys. Free script by ROLO SCRIPT.

  • Version 1.0.1
  • Requirements: FXServer build 35245+, ox_lib and oxmysql. OneSync is not needed.
  • Frameworks: QBCore · Qbox Legacy · standalone · 'custom' (see Integrations / Custom)
  • Languages: es · en
  • No lock-in: rolo_notify and every other ROLO SCRIPT resource are optional. Their commands only show when they run (Config.HideStoppedResources).
  • No tickets needed: everything you may want to adapt is in open files (see Escrow: what is open).

What's new in 1.0.1: the default list now includes the newer ROLO SCRIPT resources, with their own groups: /domicilio (rolo_masterjob), /empresas and /companiesadmin (rolo_companies), /servicios (rolo_services); 'custom' option for the framework, job and text UI from the open bridge files. No config keys to merge ('custom' is a new value of Config.Framework).

  • Manage from the tablet (staff): add, edit, remove and restore commands without touching any file. Changes are saved in the database and reach every player at once. From the server lists the commands that really exist on your server (server and client side) and are not in the list yet, to add them with one click. The defaults of commands.lua can be edited or removed and always restored.

  • My job: only the commands of the job the player has right now (mechanic, EMS, police, reporter…). It updates by itself when the job or duty changes.

  • General: what everyone can use, grouped by script.

  • Keys: every key-bound action with the key the player really has (what they set in FiveM's key bindings). A key the player changed is highlighted.

  • Staff: only for admins (framework groups or the ace rolo_commands.admin).

  • Commands of scripts that are not started are hidden, so the list only shows what exists on your server.

  • Use runs commands that need nothing else; Copy puts /command in the clipboard for the ones that need arguments.

  • Search box, dark / light theme, refresh button, Spanish and English. QBCore, Qbox and standalone.

Installation

  1. Put rolo_commands in your resources and ensure rolo_commands (after your framework, oxmysql and ox_lib). The table rolo_commands is created by itself.
  2. Open it with /comandos (or /ayuda). Players can bind a key in Settings → Key Bindings → FiveM (Config.Key sets a default; it starts empty because F1 is used by many phones and radial menus).
  3. Add your own commands from the tablet (Manage, staff only), or in commands.lua.

Dependencies: ox_lib, oxmysql.

commands.lua

One line per command:

{ cmd = 'taller', who = 'job', jobs = { 'mechanic', 'bennys' }, resource = 'rolo_mechanic',
  desc = { es = 'Tablet del taller.', en = 'Workshop tablet.' } },
{ cmd = '+rolo_seatbelt', who = 'all', resource = 'rolo_interface', key = 'B', keymap = '+rolo_seatbelt', run = false,
  desc = { es = 'Cinturón de seguridad.', en = 'Seatbelt.' } },
Field Meaning
cmd Command name without / (a key-bound action uses its key-mapping name).
args Hint of what goes after it (e.g. '[id]').
who 'all', 'job' (with jobs = { ... }) or 'staff'.
resource The script it belongs to: hidden while it isn't started.
key / keymap Default key text / the key-mapping command, to show the player's real key.
run false = no Use button.
desc { es = '...', en = '...' }

CommandGroups at the top names the headings (resource → title). It comes filled with the ROLO SCRIPT commands and the usual QBCore, voice and popular scripts.

Config

Option What it does
Config.Framework, Notify, TextUI 'auto' detects them (rolo_notify first); 'custom' = your own in the open bridge/ files.
Config.Command, Aliases, Key How the list opens.
Config.AdminGroups Who sees the Staff tab (plus ace rolo_commands.admin).
Config.HideStoppedResources Hide commands of scripts that aren't running.
Config.ShowRealKeys Show each player's own key.
Config.UseButton The Use button.
Config.TabletCase, TabletView Look of the tablet; 'screen' opens at once.

Integrations / Custom

Everything you may want to adapt is in open files (config.lua, commands.lua, locales/, bridge/): you never need the escrowed code. The list of commands is commands.lua plus what your staff edits in the tablet (saved in the rolo_commands table), so adding a command for your own script never needs a code change.

Export: exports.rolo_commands:Open() (client) opens the list, for example from your own menu or phone app.

Where to plug in your own system ('custom')

System config.lua Open file and function
Framework: admin check for the Staff tab Config.Framework = 'custom' Bridge.IsAdmin(src) in bridge/server.lua (also Config.AdminGroups and the ace rolo_commands.admin)
Framework: the player's job (My job tab) Config.Framework = 'custom' Bridge.MyJob() in bridge/client.lua (return { name, label, grade, onDuty }), Bridge.OnJobChange(cb) (call cb() when the job or duty changes), Bridge.PlayerInfo() (return { name, citizenid, job })
Notifications and "[E]" texts Config.Notify / TextUI = 'custom' Bridge.Notify, Bridge.ShowText / Bridge.HideText in bridge/client.lua
Which commands exist, who sees them, groups, keys commands.lua (Commands, CommandGroups) and the tablet Manage tab
Texts locales/*.lua

Example:

-- bridge/client.lua  (Config.Framework = 'custom')
function Bridge.MyJob()
    local j = MyFramework.GetJob()
    return j and { name = j.name, label = j.label, grade = j.gradeLabel, onDuty = j.onDuty } or nil
end

Escrow: what is open

These files stay open (editable) when the resource is escrowed, exactly as escrow_ignore in fxmanifest.lua says:

  • config.lua;
  • commands.lua: the default command list;
  • locales/*.lua: every text;
  • bridge/*.lua: bridge/client.lua (job, player info, notifications, texts) and bridge/server.lua (admin check).

The rest of the Lua code (client/, server/, shared/) is encrypted. This resource has no webhooks, no items and no inventory, so there is no config_server.lua, compat/ or items/. Everything a buyer may need to adapt has a 'custom' hook in the open files above.

Stuck?

Write to us in the Discord support channel with the script, your framework and the console error.