Battlepass v2 vorp

Battlepass V2
is a fully featured seasonal progression system built for RedM servers running the VORP framework. Players earn XP through jobs, activities, and simply being online — then unlock rewards across 30 levels with both a free Normal and a paid Premium track.

The UI is clean, fast, and purpose-built for RDR2’s western aesthetic. No external UI dependencies. Everything runs through a single config.lua.

:sparkles: Features

  • 30-level progression with separate Normal and Premium reward tracks
  • Custom XP system — XP is earned through any job script via a simple export, and automatically awarded to idle (unemployed) players over time
  • Two membership tiers — Normal (free) and Premium (purchased with in-game gold or granted by admin)
  • Premium members can also claim all Normal rewards — configurable
  • Full server-side security — reward claims are validated on the server (level check, duplicate claim check, membership check, claimType validation)
  • Admin commands with permission system — /AddXP, /AddBattlepass
  • Discord webhook logging for admin actions
  • 4 server exports for integration with other scripts
  • Fully configurable — rewards, XP thresholds per level, prices, online XP rate, idle job list — all in config.lua

Normal Track (30 levels) and Premium Track (30 levels)

  • :high_voltage: XP System

XP can be awarded from any resource on the server using the export:

exports['vteam_battlepass']:AddBattlepassXP(source, 50)

Players who are not currently employed (job listed in Config.IdleJobs) automatically receive 100 XP per hour just for being online. The rate and interval are fully configurable.

:keyboard: Commands

/AddBattlepass [id]` Admin / God Grant Premium to a player
/AddXP [id] [amount]` Admin / God Give XP to a player
/battlepass	All players	Open the battlepass UI

:gear: Configuration Highlights

Config.OnlineXPPerHour         = 100   -- XP per hour for idle players
Config.OnlineXPIntervalMinutes = 60    -- how often XP is distributed

Config.IdleJobs = {                    -- jobs that count as "unemployed"
    "police",
    "doctor",
}

Config.PremiumSettings = {
    PremiumWichGold = 50               -- gold cost to buy premium in-game
}

:locked: Security

All reward claims are processed server-side with the following checks:

  • Player must have sufficient level for the reward
  • Rewards cannot be claimed twice (tracked per level and type)
  • Premium rewards require verified premium membership
  • claimType is validated — cannot be spoofed from the client

Preview:
Tebex

Code is accessible No (Config only)
Subscription-based No
Lines (approximately) 2200+
Requirements vorp_core,vorp_inventory, oxmysql
Support Yes