Admin Guide
The /pills command — the live settings editor, the lab kit, setting levels, the tray test, player commands, Machine Test debug mode, police alerts and permissions.
Commands for testing and managing oxide-pills.
Everything runs through one command, /pills, followed by a subcommand. Typing /pills on its own shows the list of subcommands.
Commands Overview
| Command | What it does | Who can use it |
|---|---|---|
/pills stats | Shows the player's own level and XP card | Everyone |
/pills pillid | Opens Pill ID, the brand and imprint lookup | Everyone |
/pills settings | Opens the in-game settings menu | Admins (see Permissions) |
/pills kit | Gives a full pill lab starter kit | Admins |
/pills setlevel [id] [level] | Sets a player's pill level | Admins (also works from the server console) |
/pills traytest [tint] [line] [symbol] | Fills a press tray with one tablet of every defect, to see what each looks like | Admins |
Settings Menu
/pills settings
Opens an in-game editor for the resource's settings: the values stored in the oxide_settings database table (see Configuration). Changes apply live and are saved to the database straight away, with no restart and no file editing.
- Settings are in a sidebar of four categories (Core, Lab, Players, and Advanced) holding 12 sections.
- A Basic / Advanced switch at the top picks which settings you see, and a search box jumps straight to a setting. Some sections (Usage Whitelist, Quality, Dispatch) only appear once you switch to Advanced.
- Fields you've edited but not saved are marked changed, and Save Changes saves them. Reset to default puts a whole setting back to the value from the
shared/configfiles and saves it straight away. - The placement zones are drawn directly in the world: the menu hides, you place the corners of the area, then the menu comes back. Each zone has a Teleport button to jump to it.
- A few settings live only in the config files. Configuration explains which, and how to change them.
Only admins can open the menu, and every save is checked again on the server, so a non-admin can't change settings even by faking the request. Drawing zones in the world needs an up-to-date o-link (it provides the drawing tool). If yours is out of date, the menu tells you.
Admin Commands
/pills kit
Gives you everything you need to try every station:
- 1x Lab Workbench
- 1x every machine: Crank Press, Blade Grinder, Stand Mixer, Light Box, Die Engraver, Electric Press, Label Printer, Hardness Tester, Capsule Filling Board, Ball Mill, Blister Sealer, Reject Bin, Dust Collector, Drum Tumbler, Pan Coater, Rotary Press
- 1x Mortar & Pestle, 1x Granulating Screen, 1x Punch & Die Set, 1x Dust Mask, 1x Reagent Test Kit, 1x Pressing Manual
- 10x each raw active: Party Powder, Pharma Bottle, Mystery Powder
- 10x each additive: Tablet Filler, Tablet Binder, Die Lubricant, Tablet Dye
- 5x Cleaning Brush, 5x Cleaning Solvent
- 5x Granulating Fluid, 5x Coating Solution
- 100x Empty Capsule
- 10x each packaging: Pill Baggie, Pill Bottle, Blister Sheet
The kit is heavy. With the suggested item weights it comes to about 139 kg, more than a default player inventory holds on QBCore, QBX or ESX. Anything that doesn't fit, or that isn't registered in your inventory, is skipped, and you see "N of M kit items could not be given (inventory full or item not registered)" instead of "Pill lab kit received". Make room first, or give yourself the pieces you need with /giveitem [your server ID] [item name] [amount] (qb-inventory and ox_inventory both have it).
Each workbench holds 2 machines by default, and the kit gives one workbench. To try several benchtop machines at once, give yourself more pill_workbench items, or pack machines up and swap them.
Many stations are level-gated (see Features), so raise your own level with /pills setlevel to try them all.
Run it in game on a test character. From the server console it just tells you to run it in game, because the items go to a player.
/pills setlevel [id] [level]
Sets a player's pill level, and sets their XP to that level's starting amount.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Yes | The player's server ID |
level | number | Yes | 1 to 10 (with the default level table) |
Examples:
/pills setlevel 1 5 -- player 1 to level 5 (electric press, label printer, VELA Blues, AXIA Percs)
/pills setlevel 1 10 -- player 1 to max levelOutput:
- Success: "Set player 1 pill level to 5 (1200 XP)"
- Failure: "Usage: /pills setlevel [id] [level]", "Invalid level. Valid: 1-10", "Player 1 is not online", or "Player 1 has no loaded character"
The player must be online with a character loaded. The new level applies straight away. This command also works from the live server console (txAdmin or terminal), where no permission is needed.
/pills traytest [tint] [line] [symbol]
A visual check. Stand at a press (crank or electric press, or the capsule board) and run it: the press's tray fills with 12 tablets, one of each defect plus clean ones, at the real sorting camera. You can sort it like a real tray to see how each defect reads in game.
| Parameter | Type | Required | Description |
|---|---|---|---|
tint | number | No | Party pill colour, 0–7 (default 0) |
line | string | No | party, bar, blues or perc (default party). AURA Capsules can't be tested this way. |
symbol | string | No | A brand symbol to show on the good tablets (party only): pulse, bolt, star, crown, skull, heart, diamond, moon |
/pills traytest -- pink party pills
/pills traytest 3 party skull -- purple party pills with the Skull brand symbol
/pills traytest 0 bar -- NOVA Bars (includes a snapped bar)Which slot holds which defect is printed to the server console only, so whoever is looking at the tray isn't told the answer. The tray test uses nothing and produces nothing: finishing it gives no pills and no rejects.
It won't start on a press someone is working at ("Someone is already working at this press.") or on a press with a real tray waiting to be collected ("Somebody else left something on this press.", even when the tray is yours), because finishing the test clears the press's tray. Collect the real tray first, or use another press. Standing away from every press gives "Stand at a press to run the tray test."
Player Commands
/pills stats
Any player can run this. It shows their career card:
- current level, XP, and progress to the next level
- total pills made and sold
- what they've unlocked, and what's coming up next
/pills pillid
Any player can run this. It opens Pill ID, the lookup for brands and counterfeit imprints (see Features). If oxide-tablet is running, it opens the Pill ID app on the tablet instead. On-duty officers with an evidence job also get the Log the pills I'm carrying button.
Machine Test (Debug Mode)
With Debug mode on (/pills settings → switch to Advanced → Core → General), a Machine Test option appears on every placed machine. It lets you start and stop the machine's moving parts, play each of its animations, and step through its visual states (for example a press die from clean to filthy). It's useful for checking a machine looks right on your server. Every player sees the option while Debug mode is on, but the server checks both Debug mode and admin permission, so it does nothing for players who aren't admins.
Debug mode also prints extra [oxide-pills] lines to the console. Turn it off on a live server.
Police Alerts
Under Advanced → Dispatch (switch the menu to Advanced to see it) you can make production carry a risk of being reported to police.
Set Alert chance above 0, and every time a player starts a stage the server rolls for a dispatch call at that station's location. Each stage can carry its own chance; leave it at -1 to follow the main chance.
Two settings stop it becoming noise:
- Site cooldown (default 5 minutes): after a station alerts, it doesn't alert again until the cooldown runs out. A roll that doesn't alert doesn't start it. Other stations are unaffected.
- Per-stage chance: turn the quiet stages down or off, and leave the press itself risky.
Alerts go into any dispatch resource o-link supports, including oxide-dispatch. Without one, officers only get a short notification and a 30-second blip on the lab (see Configuration).
Pharma delivery run handoffs are one of the stages (Delivery handoff). They alert at the doorstep with their own wording, and their cooldown is per player.
Everything is decided on the server from the station's saved position, so a player can't suppress an alert or make it point somewhere else. See Configuration for the full list.
Permissions
The admin subcommands (settings, kit, setlevel, traytest) check whether you're a server admin through o-link. The check uses FiveM's built-in permission system (called ACE), so there's nothing pills-specific to set up.
A player counts as an admin if any of these is true:
- They have the
commandpermission. Stock QBCore and QBXserver.cfgfiles already give this togroup.admin(add_ace group.admin command allow), so your existing framework admins can use the commands with no changes. - They're an admin in ESX (an ESX admin group).
- They have the
adminpermission.
If you need to make someone an admin, two lines in server.cfg do it: one to put the player in the admin group, and one to give that group the admin permission.
add_principal identifier.license:YOUR_LICENSE_HERE group.admin
add_ace group.admin admin allowReplace YOUR_LICENSE_HERE with the player's license identifier, then restart the server.
If a player without permission runs an admin subcommand, they get "You do not have permission to use this command".
The live server console is always allowed to run /pills setlevel. /pills stats and /pills pillid need no permission.
Next Steps
Features
How oxide-pills works — the production line, every station, the hidden tablet profile, product lines, brands, packaging, the rotary press crew, dust, reagent tests, overdoses, selling, the delivery run, Pill ID and progression.
API Reference
Server exports provided by oxide-pills — progression, XP and sales, buyer pricing through PriceFor, live settings — plus the metadata every pill item carries.