For the complete documentation index, see llms.txt. This page is also available as Markdown.

Products

The Products tab is the heart of the admin panel — the full catalog editor. Everything you do here writes straight to the vip_products table and is live immediately, no restart required.

Browsing the catalog

  • A category selector at the top left filters the table. It always includes an All categories option (the default), which merges every category's products into one list with a Category column so you can tell them apart.

  • A search box filters the visible products by name or value.

  • Each row shows the product, its value/model, price, stock, and flags (VIP, requires‑VIP, Web).

Adding or editing a product

Click Add product (or the pencil icon on a row) to open the editor:

Field
Meaning

Category

Which category the product belongs to. You can move a product between categories here.

Name

The label players see.

Value / Model

The internal identifier passed to your reward handler — a vehicle model, item name, weapon hash, etc.

Price

Cost in the chosen account.

Stock

Units available. Enter a very high number (≥ 9999) for unlimited stock.

Account

Which balance is charged (tokens, bank, cash, money, crypto).

Account label

How that currency is shown on the card.

Image URL

Optional custom image; falls back to sensible defaults if empty.

Website URL

Optional. Turns the product into a web link — clicking opens the URL, nothing is charged.

VIP months

(VIP category only) How many months of VIP the product grants.

Requires active VIP

Player must already be VIP to buy.

Allow preview

Lets players zoom the product image (vehicles / peds).

Custom data

Below the standard fields is a Custom data section where you can attach any number of extra key → value pairs. These are stored with the product and delivered to your reward handler untouched — use them for things like amount, plate, ammo, or components. Values are auto‑typed: numbers stay numbers, true/false become booleans, and JSON objects/arrays are parsed. Reserved field names are blocked so custom data can never clobber a managed field. See Product fields for the full list.

For the VIP category, the VIP months field always saves a real value (defaulting to 1) even if you don't touch it.

Last updated