Oxide Vending

Player-owned vending machine businesses for FiveM — placement, stocking, NPC sales, progression, warehouses, and a management dashboard.

Overview

oxide-vending is a player-owned vending business resource. Players register a business, buy and place machine props in the world, stock them from their inventory or warehouse, collect revenue, unlock additional machine tiers through progression, and manage the operation through an integrated dashboard or o-link menu flow.

The default package ships with:

  • 4 machine categories
  • 9 machine prop variants
  • 4 business permission roles
  • 10 progression levels
  • 2 sales channels: direct player purchases and passive NPC simulation
  • 1 showroom NPC
  • 1 warehouse interior and 1 wholesale pickup pallet
  • a packaged HTML dashboard and contract flow

Technical

DependencyRequiredPurpose
o-linkYesFramework and system abstraction layer used by the resource
ox_libYesShared utility library, locale loading, callbacks, and UI helpers
oxmysqlYesDatabase access for businesses, machines, stock, revenue, progression, warehouse, and pickup data
oxide-weatherNoOptional in-game time source for NPC sales; real system time is used if unavailable
oxide-tabletNoOptional; when running, the business dashboard opens as an app inside the tablet
  • framework
  • character
  • inventory
  • money
  • target
  • notify
  • progressbar
  • input
  • menu
  • helptext
  • radial
  • tablet
  • framework lifecycle events and callback bridge

The dashboard's map tab draws on o-link's shared map (o-link 1.8.0 or newer). See Configuration → Dashboard map.

Database

oxide-vending stores its own data under the vending_* tables created by sql/install.sql, including:

  • businesses and employee permissions
  • placed machines and unplaced owned machines
  • machine stock, revenue, and transaction history
  • progression records and claimed milestones
  • warehouse ownership and warehouse inventory
  • wholesale pickup boxes and pending deliveries

Frontend

The packaged UI lives under html/ and powers:

  • the business registration contract
  • the management dashboard
  • overview, stock, map, transactions, and analytics views
  • progression overlays and dashboard-side actions

Features

  • Business ownership: Players register a named vending business, pay a configurable fee, and operate under a single owner with optional employee roles.
  • Machine placement: Owners buy unplaced machines, choose a supported prop model, and place them in-world with a live aim-and-place preview (green where it fits, red where it doesn't, scroll wheel to rotate). Placed machines are used through o-link.target.
  • Stock and pricing control: Machines use per-type whitelists, per-item base prices, progression-aware markup limits, and inventory-backed stocking and retrieval.
  • Built-in business balance: Sales feed a business-owned balance stored by the resource, with owner and employee deposit or withdrawal permissions.
  • Wholesale and warehouse loop: Businesses can bulk-order stock, collect physical pickup boxes, and unlock a separate warehouse interior with keypad access and persistent storage.
  • Passive NPC economy: Active machines generate server-side passive sales based on time, location hotzones, pricing, stock variety, and nearby competition.
  • Progression: Ten levels unlock machine types, raise caps, widen pricing ranges, improve wholesale discounts, and increase NPC revenue bonuses.
  • Admin tooling: The resource includes business, machine, progression, NPC sales, and debugging commands plus exported admin read/delete helpers.

Documentation