Oxide Shops

Complete multi-framework shopping economy with static stores, player-owned businesses, services, and auctions.

Overview

oxide-shops is a complete shopping economy for FiveM, covering everything from a corner store to a player-run business empire. It ships with 61 fully configured shops at familiar GTA locations and eight distinct shop types: general retail stores, weapon stores, pawn shops, mask shops, clothing stores, barbershops, tattoo parlors, and a peer-to-peer auction house.

The core loop is buying and selling. Players walk up to a shop, browse a catalog or service menu, and pay from their pockets; static stores are stocked infinitely, while player-owned stores draw from real inventory the owner has to restock. Owners buy shops outright, set their own prices, manage a shop till, order stock from a wholesale supplier, and can later resell the whole business to another player. Service shops (barber, tattoo, mask, clothing) run on consumable supplies, so an owned parlor has to be kept stocked to keep serving customers.

Out of the box the resource provides a 40-item weapon catalog with 3D previews, a 10-collection tattoo catalog with seated application scenes, dynamic-priced pawn shops, and a full auction house for items and vehicles. Everything is server-authoritative, framework-agnostic through o-link, and configurable live in-game through a database-backed settings editor.

Technical

DependencyRequiredPurpose
o-linkYesFramework abstraction for character identity, money, inventory, jobs, notify, targeting, menus/input, progress bars, in-world placement, vehicle ownership, and logging
ox_libYesLocale and shared UI/runtime helpers
oxmysqlYesDatabase access for shops, inventory, transactions, tattoos, and auctions

Database

  • shops: every shop's definition, ownership, balance, location, styling, and access rules
  • shop_inventory: per-shop item stock, prices, and auto-restock targets
  • shop_transactions: sales, restocks, wholesale orders, deposits/withdrawals, and purchase history
  • shop_pending: queued shop-resale payouts for sellers who were offline when their shop sold
  • shop_tattoos: tattoo fallback store for clothing backends without a native tattoo store
  • shop_tattoo_cameras: per-tattoo camera framing overrides set by admins
  • auction_listings: active and completed item/vehicle auction listings
  • auction_pending: queued payouts, refunds, and item/vehicle deliveries for offline players
  • auction_preview_spots: vehicle-preview display spots at auction houses
  • oxide_settings: shared cross-resource settings store backing the live /shop settings editor

All tables are created automatically on first server start.

Frontend

Vue 3 + Vite + Tailwind CSS for the storefront, weapon store, pawn shop, auction house, clothing/mask/barber/tattoo views, the owner management desktop, the admin panel, and the live settings editor.

Features

  • Eight shop types in one resource: general retail, weapon stores, pawn shops, mask shops, clothing stores, barbershops, tattoo parlors, and an auction house — with 61 pre-placed default shops at stock GTA locations.
  • Server-authoritative purchasing: prices, stock, ownership, and proximity are all validated server-side, with per-source rate limiting and a shared per-player money lock so concurrent purchases can never overspend a balance.
  • Weapon stores with a 40-item catalog (pistols, SMGs, rifles, shotguns, snipers, melee, throwables, armor), rotating 3D weapon props, on-screen weapon stats, and a flat-fee firearm registration flow.
  • Pawn shops with a supply-and-demand pricing model: per-item prices decay as items are sold and recover over time, with configurable decay, recovery, floor, and cap.
  • Barber and tattoo shops with nearest-chair seating scenes, derived cameras, per-category (barber) and per-tattoo (parlor) pricing, and a 10-collection GTA tattoo catalog with admin-tunable camera framing.
  • Clothing and mask stores with per-slot pricing across 14 clothing/accessory slots.
  • Auction house for items and vehicles: timed listings (1/6/12/24h), bidding with configurable minimum increments, instant buyouts, listing and completion fees, up to 10 active listings per player, and automatic offline delivery of items, refunds, and payouts.
  • Full player-owned economy: buy up to three shops, set retail prices, manage a shop till, deposit/withdraw, order stock from a wholesale catalog, auto-restock to per-item targets, and resell a shop to another player with fee handling and offline payouts.
  • Consumable supply loop for owned service shops (hair_product, tattoo_ink, mask_blank, fabric) that gates service when empty; static shops remain unlimited.
  • Per-shop access control by job, minimum rank, and on-duty status, plus per-shop blip visibility and overrides.
  • Admin panel (/shop admin) for template-based shop creation, editing, deletion, reclaiming, balance/price/stock management, and in-world placement of peds, blips, and chairs.
  • Live database-backed configuration via /shop settings, editable in-game without file edits or restarts.
  • Framework-agnostic through o-link (QBCore/ESX/QBX/custom) and fully localizable via locales/*.json.

Documentation