NB SCRIPTS

NB SHOPS

NB SHOPS

$30.00

Add to Basket

NB Shops is a complete, dual-framework player shop system for RedM, supporting VORP Core and RSG Core natively with no bridge resources required. It combines a full player economy — shops, employees, missions, and NPC customers — into a single polished resource.


Player & NPC Shops

Players place a shop anywhere on the map using a shop token. Once placed, the owner stocks items from their own inventory, sets individual buy prices, configures a custom blip icon, sets shop hours, and manages all operations through an in-game management panel. Revenue flows into a persistent shop ledger that the owner can deposit to or withdraw from at any time. NPC-owned shops are configured in the config file and operate independently with their own stock, pricing, shopkeeper models, and greeting lines.


Custom Item System

Create entirely new items without touching a config file or restarting the server. The admin panel includes a full item creator — name, label, description, image, and optional use effects. Items are saved to the database and written to a JSON cache. On every server start, the cache is loaded and all custom items are automatically injected into the framework's item registry (RSGCore.Shared.Items / VORP inventory) before any player loads in, ensuring they survive restarts and appear correctly in inventories and shops.

Useable items can be configured with any combination of the following effects applied on use:

  • Health restore
  • Hunger restore
  • Thirst restore
  • Stamina restore
  • Warmth (applies proportional hunger + thirst restoration)

All effects fire correctly across every supported HUD system automatically — no additional configuration needed per effect type.


Registers — Placed & Portable

Placed registers deploy a physical prop (cash register on a crate table) at a fixed position in the world. The employee standing at it can charge nearby players directly from an in-game UI. Up to three registers can be placed per shop, each with its own world position and map blip.

Portable registers are an inventory item players carry and deploy anywhere on the map at runtime. Placing it spawns the same register prop, creates a map blip, and opens the shop for business at that location. The owner packs it up when done. Portable shops integrate fully with the customer NPC and employee systems.

Register charge types — cash, gold, and item: When a player is charged at a register, the cashier can charge in cash, in gold, or request a specific item from the customer's inventory. The item request flow sends a popup to the customer who accepts or declines — on acceptance the item is taken from their inventory and logged to the shop's sales record. All three charge types post to Discord, log to the database, and contribute to shop reputation.


Employee System

Hire other players as employees directly from the manage panel. Each employee is assigned a grade (custom role name) with configurable per-permission access controls — each tab of the manage panel (stock, sales, employees, ledger, registers, storage, consignment) can be independently unlocked or locked per grade. Owners create, rename, and delete grades freely, then assign them to individual employees.

Salaries are set per employee. The owner pays all employees with salary in a single action — the total is deducted from the shop ledger and delivered instantly to each online employee. Offline employees are skipped until they're next online (configurable).


Clock-In / Clock-Out

Employees and owners clock in at the shop to mark it as staffed. Clocking in activates the customer NPC spawn timer, unlocks the register charge prompt, and logs the shift start to Discord. Each session is written to a clock-in log table with timestamp and employee name. Shifts auto-expire after a configurable number of real hours. All clock events post to a dedicated or fallback Discord webhook.


Ambient Customer NPCs

When a shop is staffed, walk-in customer NPCs spawn on a configurable timer. Each customer walks in through the entrance, browses the counter, then approaches and offers to purchase a random selection of in-stock items. The serving player sees a cinematic dialog with the customer's offer — itemised list, quantities, and total — and accepts or declines. On acceptance, stock is deducted, revenue goes to the shop ledger, the serving player receives payment directly, and reputation is awarded. Spawn interval, variance, spawn chance, maximum item price, and browse duration are all configurable.


Shop Reputation

Five-tier reputation ladder — Newcomer, Known, Respected, Renowned, Legend. Reputation is earned through player sales, NPC customer purchases, and restocking, and decays slowly in real time with no shop activity. Higher tiers award:

  • Increased customer NPC spawn frequency (up to +50% at Legend)
  • A passive sale price bonus on every NPC customer purchase (up to +6% at Legend)
  • A chance of NPC customers ordering an extra item per visit at high tiers

Consignment

Other players list their own items for sale inside a shop on a configurable revenue split. The shop owner sets the default split percentage; consignors get the remainder of every sale. The owner manages active consignments from the manage panel and can remove listings.


Wanted Items Board

Shop owners post a public wishlist of up to five items they're actively looking to buy. Any player visiting the shop can view the board and bring those items to sell — creating a natural player-driven supply loop.


Daily Specials & Shop Hours

Owners mark any stocked item with a timed discount (configurable maximum %) visible to all customers. The special resets automatically at a configured real-clock hour each day. Shop open and close hours can be set using either real server time or in-game RDR2 time.


Supply Missions

When a player visits a player-owned shop a configurable number of times, there's a chance a supply run becomes available. The player accepts the mission, collects shop supplies from a world location, and delivers them to restock the shop. On completion they receive a cash reward and the shop's stock is restocked automatically. Cooldown, reward range, and mission chance are configurable per server.


Freight Missions (Full Cinematic Delivery System)

Freight agent NPCs are placed in the world and dispatch multi-step delivery missions to restock target shops. The full flow:

  1. Player approaches the freight agent and opens a cinematic dialog. The agent delivers a randomly chosen briefing line from a configurable pool.
  2. Player accepts a mission — a specific shop is assigned as the delivery destination, a collect point appears on the map.
  3. At the collect point, a contact NPC waits. The player interacts, receives a randomly chosen greeting from that NPC, and collects the supplies.
  4. Player delivers the supplies to the target shop. The shop owner's NPC (or a staff member) delivers a configurable completion line and pays the reward in cash.
  5. Stock defined in the mission config is added to the target shop's inventory automatically.

Each freight agent supports multiple missions, each targeting different shops with different collect locations, contact NPCs, supply rewards, and dialog lines. Agents enforce a per-character cooldown between runs. A run bonus system rewards frequent runners — every N completed runs adds a percentage multiplier to cash and stock rewards, capped at a configurable ceiling.

If the player doesn't complete a run in time or cancels, a configurable cancel line is shown and the mission clears. All mission events log to the server console.


Placed Agents — In-World Admin Placement

Admins place Land Agent and Freight Agent NPCs anywhere in the world directly from the game using /ws_landagent and /ws_freightagent. Agent positions, models, names, and blip icons are saved to the database and persist across restarts — no config file edits required. Freight agents are linked to a mission NPC key from the config, allowing any freight agent NPC placed in-world to dispatch that agent's configured missions. Agents can be deleted in-world by admins at any time.


Shop Ownership Quest Line

New players earn their shop token by completing a configurable set of quests tracked through a Land Agent NPC with full cinematic dialog. Quest types include:

  • Buy items from player-owned shops (quantity tracked)
  • Spend cash at player-owned shops (dollar total tracked)
  • Buy from a shop in a specific region (Valentine, Tumbleweed, Annesburg, or custom)
  • Buy from N different player-owned shops

Quest progress is shown in a dedicated panel opened by interacting with the Land Agent. When all quests are complete, the player claims a configured property from the NPC — which grants the shop token and opens the shop for business. Quest definitions, regions, UI labels, and dialog lines are all configurable. A /shopquests command lets players check progress from anywhere.


Per-Shop Storage

Each player shop has a dedicated persistent stash accessible from the Storage tab in the manage panel. The stash is powered by the framework's native inventory (vorp_inventory / rsg-inventory), so items are visible in the standard inventory UI, survive server restarts, and support the full weight and slot system. Slot count and max weight are configurable.


Tax & Repo System

Automated tax cycles (weekly or monthly) charge shop owners a configurable dollar amount on a set schedule. Shops that can't pay are flagged for repo — their items are locked and they appear differently on the map. Admins can manually repo or un-repo shops with /ws_reposhop and /ws_unreposhop. All tax events log to Discord.


Immersive NPC Dialogue

Every NPC in the resource — shopkeepers, freight agents, contact NPCs, the Land Agent — uses a full cinematic dialog system. The camera swings to face the NPC, text rolls in with a typewriter effect, and choice buttons appear. Shopkeeper NPCs open with weather-aware greetings that change based on current in-game conditions (rain, storm, snow, fog, overcast, clear). Return visitors get a separate pool of recognition lines. All dialog lines are configurable per NPC.


Admin Commands

Command

Description

/ws_shopplot

Place a new player shop at your position

/ws_npcshop

Open the NPC shop creation panel

/ws_delshop

Delete a shop by key

/ws_reposhop

Mark a shop as repossessed

/ws_unreposhop

Restore a repossessed shop

/ws_testmission

Force-spawn a test freight mission

/ws_testcustomer

Force-spawn a test customer NPC at the nearest shop

/ws_landagent

Open the Land Agent NPC placement UI

/ws_freightagent

Open the Freight Agent NPC placement UI

/ws_register

Place a register at your current position

/ws_regtest

Test the register charge UI


Framework & HUD Compatibility

Frameworks: VORP Core, RSG Core Inventories: vorp_inventory, rsg-inventory HUD / Metabolism: bcc-corehud, vorp_metabolism, rsg-hud, ss-metabolism, bln_hud, DevDokus Metabolism, fx-hud, native RDR2 cores Dependencies: oxmysql, ox_lib

Back to category