Going live Oct 1Follow us on YouTube for the beta testBeta test on YouTube

Grocery

A complete supermarket experience — stroll the aisles, work the register, or run the store. Realistic grocery shopping and a cashier job wrapped in a modern NUI.

v1.0.0QBCore$19.99Store page

A complete grocery-shopping experience for Qbox / QBCore servers, built around a slick modern online-grocery storefront UI. Walk up to any 24/7, press [E], and shop 190+ items — fresh produce, a deli counter, hot food, a full beer, wine & spirits aisle, plus pharmacy and household essentials — with a working cart, weekly deals, categories, favorites, and card/cash checkout.

By RR Interactive — https://playrosie.com/


Features

  • Modern storefront NUI — sidebar departments, search, weekly deals, favorites, live cart, checkout.
  • 190+ items across Produce, Bakery, Meat & Seafood, Deli & Sandwiches, **Hot Food Counter, Snacks, Frozen & Sweets, Pantry, Pizza, Prepared Meals, Drinks**, Beer, Wine & Spirits, Pharmacy & Care, and Home & Essentials — 14 departments.
  • Not just food — the Pharmacy & Care and Home & Essentials aisles sell *standard framework / server items* (phone, radio, lighter, repairkit, pharma_*, …) rather than groc_* items. If your server doesn't have one of those ids, delete its line in html/script.js and shared/prices.lua — everything else keeps working.
  • Real consumption — every item is usable from your inventory with native hunger / thirst / stress effects and eating / drinking animations (no custom status hacks).
  • Alcohol → drunk system — beer, wine and spirits build a buzz (camera sway, drunk walk, stumbling) via an optional AddBuzz export. Works out of the box with rr-bartender, or wire it to any drunk resource — and it's completely safe if you run neither.
  • Server-authoritative pricing — totals are recomputed on the server from a price table, so a modded client can't buy for free.
  • Config-driven — add unlimited store locations, tune the blip/marker, payment source and command, all from config.lua.
  • MySQL order history — every purchase is logged to rr_grocery_orders.

Dependencies

Installation

  1. Drop the resource into your resources folder and add ensure rr-grocery to your server.cfg (or place it in a folder already covered by an ensure — e.g. [custom]).
  1. Import the database — run install/install.sql against your server database (creates rr_grocery_orders and rr_grocery_favorites).
  1. Add the items to ox_inventory:
    • Open install/items.lua.txt and paste every line into the items table in ox_inventory/data/items.lua (before the final closing }).
    • Copy all PNGs from install/images/ into ox_inventory/web/images/.
  1. Add the drinking animation — open install/animations.lua.txt and add the drinking line to the anim = { ... } table in ox_inventory/data/animations.lua (ox_inventory only ships with eating).
  1. Restart ox_inventory and start rr-grocery.

Configuration

Everything lives in config.lua:

SettingWhat it does
Config.StoresList of store locations. Add as many { coords = vec3(...) } entries as you want.
Config.BlipMap blip toggle, sprite, colour, scale, label, and one-blip-vs-per-store.
Config.MarkerGround marker type/size/colour, draw + interaction distance, [E] help text.
Config.PayFrom'auto' (bank first, then cash), or force 'bank' / 'cash'.
Config.CommandCommand that also opens the store (set false to disable).
Config.AlcoholBuzzPer-item buzz amounts fed to Config.BuzzResource's AddBuzz export.

Changed a price in html/script.js? Regenerate shared/prices.lua so the server total stays in sync (the file is a plain id → price table).

Support

RR Interactive — https://playrosie.com/

Last updated 2026-09-27