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
| Dependency | Required | Purpose |
|---|---|---|
o-link | Yes | Framework and system abstraction layer used by the resource |
ox_lib | Yes | Shared utility library, locale loading, callbacks, and UI helpers |
oxmysql | Yes | Database access for businesses, machines, stock, revenue, progression, warehouse, and pickup data |
oxide-weather | No | Optional in-game time source for NPC sales; real system time is used if unavailable |
oxide-tablet | No | Optional; when running, the business dashboard opens as an app inside the tablet |
o-link modules used
frameworkcharacterinventorymoneytargetnotifyprogressbarinputmenuhelptextradialtablet- 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
Installation
Setup flow.
Configuration
Full config reference.
Features
Business, machine, and dashboard systems.
NPC Sales
Passive income simulation.
Progression
10-level XP and revenue system.
Exports & API
Server and client exports.
Admin Commands
Admin and debug commands.
Troubleshooting
Common issues and fixes.