REDM - Cactus Shop (UI)

Hello RedM Community,

Introducing Cactus Shop a complete point store, loot case system & reward economy built from scratch for RedM roleplay servers.

This is not a standard in-game shop. Cactus Shop is your server’s full monetization platform: players purchase point packs from your Tebex store, points are automatically credited in-game, and they spend them on items, weapons, VIP perks and CS:GO-style loot cases all from one beautiful western-themed NUI.

The entire loop is covered: Tebex purchase → in-game points → player spends in the shop → server owner tracks everything. Set your categories, connect your Tebex store, design your cases, and your monetization is live in minutes. RSG-Core and VORP Core are auto-detected — one resource, both frameworks.

:backhand_index_pointing_right: Preview video: Watch on YouTube :cactus:
:backhand_index_pointing_right: Discord: Join for support


Screenshots




Store front categories, item cards and live point balance


Case opening animated CS:GO-style roulette


Player profile balance, unique ID and Discord avatar


Transaction history with categories and timestamps


Daily bonus & promo code redemption


:cactus: What’s Included

:shopping_cart: Points Store

  • Fully customizable categories (VIP, items, weapons, consumables… add as many as you want)
  • Buy items, weapons, money or trigger custom actions (VIP roles, services, anything)
  • Selectable quantity per item (1–99) with live total
  • Flash sales — set a discounted price with an expiration date, original price shown crossed out
  • Custom currency label and icon (gold, points, your own image)
  • Server-side validation on every purchase no client trust
  • Home banner with news / announcements feed

:package: Case Opening (Loot Boxes) — CS:GO Style

  • Animated roulette case openings with smooth deceleration
  • 5 rarity tiers: common · uncommon · rare · epic · legendary
  • Rewards can be items, weapons, money or points directly
  • Per-reward drop chances (validated to sum to exactly 100%)
  • Sell back any reward you don’t want for points, by rarity
  • Event / featured cases that only appear for a limited time (date start → date end)
  • Optional cooldown between two openings
  • Legendary drop broadcasts announce rare pulls server-wide (name can be hidden)

:moneybag: Economy & Rewards

  • Daily bonus claim points every X hours via command or profile button
  • Promo codes create codes worth points, with optional max-use limits & expiration
  • Point transfers between players
  • Complete transaction history with source categories (admin / purchase / case / transfer / daily / code) and timestamps
  • Permanent unique player ID usable even while the player is offline

:credit_card: Tebex Integration — The Point Pack Loop

  • Players buy point packs from your Tebex store (you set the packages and prices)
  • Tebex executes cshop_addpoints via a server command delivery — points are credited instantly, even if the player is offline (unique player ID)
  • Works with any Tebex package type — one-time purchases, bundles, seasonal packs
  • Full transaction history records every Tebex delivery with source admin category
  • Server exports let you trigger deliveries from any resource, making it easy to chain Tebex rewards with other scripts
  • No third-party middleware needed — a standard Tebex command delivery is all it takes

:bulb: How it works in practice: You create a Tebex package → set the delivery command to cshop_addpoints {steam} 500 → player buys it → points land in their wallet, logged and auditable.

:globe_with_meridians: Discord Integration

  • Auto-fetch player avatars from Discord (bot token)
  • Webhook logging for purchases, legendary drops, daily claims and transfers
  • Username & profile picture displayed in the player profile

:zap: Performance

Idle 0.00ms
Menu open 0.01ms
  • Pure NUI front-end nothing runs when the shop is closed
  • Optimized SQL queries, database tables auto-created on first start
  • Efficient point & history caching
  • Server-side validation and anti-exploit checks on every action

:gear: Framework Compatibility

Framework Status
RSG-Core :white_check_mark: Fully supported
VORP Core :white_check_mark: Fully supported

Auto-detected at startup no manual configuration needed. One resource, both frameworks.


:shield: Security

  • Server-side validation on every purchase, case opening and transfer
  • Item/case IDs verified server-side prices can’t be tampered with
  • Cooldowns and use-limits on sensitive operations (daily, codes, cases)
  • Anti double-usage tracking for promo codes
  • Discord webhook logging for admin oversight
  • Ace-based access control for admin commands

:wrench: Dependencies

Resource Required? Why
oxmysql Yes Database the script won’t work without it
RSG-Core / VORP Core Yes One of the two frameworks (auto-detected)
Tebex store Yes (core use-case) Sell point packs to your community delivery via server command
Discord Bot Token Optional Only needed to display player Discord avatars

:open_book: Configuration

Everything is editable (config files excluded from escrow):

File What it controls
config.lua General settings framework, language, currency, daily bonus, cooldowns, Discord, logo
shared/config_categories.lua Store categories & items (price, quantity, discounts, custom actions)
shared/config_cases.lua Cases, rewards, drop chances, rarities & sell-back values
shared/config_news.lua Home banner news / announcements
shared/config_notifications.lua Notification system add your own resource easily
shared/config_trad.lua All translatable strings (FR / EN / ES / DE / PT included)

:book: Admin Commands

Console-only by default; can be granted in-game via the cactus_shop.admin ace.

Command Description
cshop_addpoints <id|unique_id> <amount> Add points to a player (online or offline)
cshop_setpoints <id|unique_id> <amount> Set a player’s points to an exact value
cshop_checkpoints <id|unique_id> Show a player’s balance and identifier
cshop_history <id|unique_id> Show a player’s last 25 transactions
cshop_createcode <CODE> <POINTS> [MAX_USES] Create a promo code (0 = unlimited uses)
cshop_testlegendary [item name] Test the legendary broadcast

:package: Exports

Full server-side API so other scripts can plug into your economy:

-- Read a balance
local pts = exports['cactus_shop']:GetPoints(identifier)

-- Reward points (logged in history)
exports['cactus_shop']:AddPoints(identifier, 200, 'Main quest reward')

-- Set an exact balance
exports['cactus_shop']:SetPoints(identifier, 1000)

-- Gate access behind a point requirement
if exports['cactus_shop']:HasPoints(identifier, 500) then
    -- allow access
end

-- Add a custom history entry
exports['cactus_shop']:LogHistory(identifier, 150, 'admin', 'PvP tournament reward')

Available: GetPoints, AddPoints, SetPoints, HasPoints, LogHistory.


PRICE: FREE SCRIPT

:shopping_cart: Tebex: https://cactus-code-webstore.tebex.io/package/7531978


Code is accessible Config files: Yes / Core: Escrowed
Subscription-based No
Lines (approximately) ~7,200
Requirements oxmysql · RSG-Core or VORP Core
Support Yes (Discord)
Language Support FR / EN / ES / DE / PT (easy to add more)