A standalone store system that actually respects your time.
Drop it in. Define your shops in plain Lua. Start selling.
No framework lock-in. No bridge circus. No "you need 47 dependencies" nonsense.
If your server can add/remove money and items, this works.
What Makes It Different
File-Based Store Creation
Every store is a single Lua file in custom/stores/.
Add a file, restart the resource, the shop is live.
No database menus. No admin panels. Just code.
Real Economy Control Stock isn't fake. Every item quantity is tracked in the database. Shops can auto-restock, run dry, or let players control supply entirely. Want a player-driven economy? Turn off auto-restock and watch capitalism happen.
One File to Rule Your Framework
All framework-specific code lives in custom/hooks.lua.
Money checks, item handling, player IDs—adapt this file once and you're done.
The rest of the script stays untouched.
Flexible Store Modes
- Buy-only shops
- Sell-only shops
- Full buy/sell markets
- Per-location mode switching (one location buys, another sells)
Multiple Interaction Methods
- NPCs with scenarios
- Target system support (ox_target, qb-target, etc.)
- Built-in DUI sprite zones (UI draws in-world)
- Simple key-press zones
- Blips optional
Payment Flexibility Players can pay with:
- Cash
- Bank balance
- Other items (barter system)
- Custom currency types
You define what's accepted per item or per location.
How It Works
1. Create a store file:
-- custom/stores/fishing_gear.lua
return {
label = "Fishing Supplies",
blip = { sprite = 52, colour = 3 },
ped = { model = "a_m_y_beach_01", scenario = "WORLD_HUMAN_CLIPBOARD" },
locations = {
paleto = {
mode = "buy",
coords = vector4(-1850.28, -1248.59, 8.62, 325.45),
opening_times = { open = 6, close = 20 }
}
},
items = {
fishing_rod = {
label = "Fishing Rod",
description = "A basic fishing rod.",
buy_prices = {
cash = { type = "balance", value = 150 }
},
stock = {
start_amount = 50,
max_amount = 50,
auto_restock = true
}
}
}
}
2. Restart the resource:
restart boii_stores
3. That's it.
Stock syncs automatically. Players can interact immediately.
Dependencies
pluck - Handles UI, notifications, and interaction zones.
That's it. One dependency.
(If you enable target support, only the interaction method changes—the UI stays the same.)
Quick Install
1. Download both resources
-
pluck -
boii_stores
2. Add to server.cfg:
ensure pluck
ensure boii_stores
3. Configure your framework:
Open custom/hooks.lua and adapt:
- Money checking (cash/bank)
- Item adding/removing
- Player identifier handling
- Notifications
4. Create your first store:
Add a file to custom/stores/ using the example above.
5. Restart: Players automatically sync. Shops go live.
What You Get
- Standalone - No framework dependency hell
- File-based - Stores are code files, not database entries
- Real economy - Stock is tracked, shops can run dry
- Hot-reload safe - Players resync on resource restart
- Multiple payment types - Cash, bank, items, custom currencies
- Flexible modes - Buy-only, sell-only, or full markets
- Location-specific rules - Different prices/modes per location
- Target or native - Works with or without target systems
- Opening hours - Shops can close at night
- Access control - Jobs, gangs, levels—your choice
Why You Want This
Because you're tired of:
- Store scripts that need 6 bridges to function
- "Easy setup" that takes 3 hours of config hell
- Fake stock systems where items never run out
- Breaking your entire server to add one shop
- UI that looks like Windows 95
This is a store system that gets out of your way and lets you build shops that actually matter.
Support
Shop eating money? Items duplicating into another dimension?
Support Hours: Mon–Fri, 10AM–10PM GMT
Outside those hours? Leave a message. We'll get to it when we've had coffee.