~/docs/coins-shop/configuration/products
coins shop docs›
Coins Shop
Products
-- 8 code blocks · 1 min read
All products live in shared/config.lua under Shop.Products. Each product type has its own schema. The id of a product must be unique across all categories — it is used for cart, stock, promos, gifts, and spotlight references.
Vehicle
{
id = "rebla",
name = "Rebla GTS",
price = 4500,
type = "car", -- "car" | "bike" | "boat" | "plane" | "heli"
brand = "Pfister",
img = "https://docs.fivem.net/vehicles/rebla.webp",
previewImg = "images/preview/rebla.mp4", -- optional video / image preview
special = false -- optional badge highlight
}
Weapon
{
id = "WEAPON_AK4K",
name = "AK-4K",
price = 1500,
wtype = "ar", -- "ar" | "smg" | "sniper" | "shotgun" | "pistol" | "melee"
rarity = "common", -- "common" | "rare" | "epic" | "legendary"
img = "...",
stats = {
dmg = 30, rate = 80, acc = 65, recoil = 40
}
}
Stats are displayed on cards if WeaponStatsOnCards = true in config.
Skin (weapon skin)
{
id = "SKIN_WEAPON_NEVA",
name = "Neva Glowing In Night",
price = 450,
weaponFor = "WEAPON_NEVA",
rarity = "epic",
img = "...",
variants = { "black", "red" } -- optional color variants
}
Pack
A pack bundles multiple items at a discount. Items are referenced by id.
{
id = "pack_explorer",
name = "Explorer Pack",
price = 7800,
save = 18, -- shown as "-18%" badge
img = "images/pack.png",
contents = {
{ kind = "vehicle", ref = "rebla" },
{ kind = "weapon", ref = "WEAPON_AK4K" },
{ kind = "skin", ref = "SKIN_WEAPON_NEVA" }
}
}
When delivered, the pack is unpacked recursively and each child item runs through its own delivery handler.
Subscription
{
id = "sub_monthly",
name = "Monthly Subscription",
price = 2500,
billing = "monthly", -- "monthly" | "permanent"
durationDays = 30, -- ignored when billing = "permanent"
description = "Temporary premium benefits and monthly bonuses.",
perks = {
"Queue priority in-game",
"10% bonus on Coin purchases",
},
badge = "Monthly",
accent = "#3fd4b3",
image = "/images/var.webp"
}
Vehicle upgrades
Optional upgrades shown on vehicle cards (full performance, custom plate, etc.):
VehicleOptions = {
Upgrades = {
perf = { Enabled = true, Price = 350 },
plate = { Enabled = true, Price = 150 },
}
}
The upgrade price is added on top of the base vehicle price at checkout.
Categories visibility
Hide a whole category from the menu:
Categories = {
Home = true,
Ranks = true,
Vehicles = true,
Weapons = true,
Cosmetics = true,
Subscriptions = true,
Packs = true,
Account = true,
Gifts = true
}
Loyalty tiers
Players are ranked by total Coins spent. Define your tiers:
Loyalty = {
DefaultTier = "Rookie",
Tiers = {
{ name = "Rookie", threshold = 0, privileges = { "..." } },
{ name = "Bronze", threshold = 1000, privileges = { "..." } },
{ name = "Silver", threshold = 2500, privileges = { "..." } },
{ name = "Gold", threshold = 6000, privileges = { "..." } },
{ name = "Diamond", threshold = 12000, privileges = { "..." } },
{ name = "Mythic", threshold = 20000, privileges = { "..." } },
}
}