Skip to content

oskar_battlepass

Complete Battle Pass system for FiveM servers with progression, normal rewards, premium rewards, legal-only catalog options, diamond shop, loot boxes, profile image integration, and an open framework adapter layer.

INFO

This script is prepared for vRP, ESX, QBCore, and QBox based servers. The adaptation files stay open so server owners can integrate the resource without editing the protected client/server core.

lua
author 'Crabo'
lua54 'yes'
ui_page 'web/build/index.html'
lua
server_scripts {
  'frameworks/vrp.lua',
  'frameworks/esx.lua',
  'frameworks/qbcore.lua',
  'frameworks/qbox.lua',
  'functions/store.lua',
  'functions/server.lua',
  'server/token.lua',
  'server/server.lua'
}

Overview

oskar_battlepass is a season-style progression resource. Players earn XP through configured missions, unlock one level per 100 XP, claim normal rewards, and unlock premium rewards when they have the configured premium group.

The active catalog is designed for legal rewards only:

  • 30 normal rewards.
  • 30 premium rewards.
  • 80 missions.
  • 30 levels.
  • 100 XP per level.
  • 3000 total mission XP.
  • Premium access and XP boost by group.
  • Repeatable diamond shop purchases.
  • 6 loot boxes with legal rewards.
  • Profile image from config or lb-phone Instapic.

Start Here

Important Notes

  • Main config file: config/config.lua.
  • Open integration files: functions/ and frameworks/.
  • Protected core candidates: client/client.lua, server/server.lua, and server/token.lua.
  • Default command: /passe.
  • Default framework in the current base: vrp.
  • Default diamond item: diamante.
  • Active catalog version: legal_30_rewards_80_missions_v1.
  • Premium group: PassePremium.
  • Premium XP multiplier: 2.0.
  • Store purchases do not lock after buying; players can buy the same item multiple times.
  • Store quantity starts at 1; the selected quantity is the delivered amount unless legacy pack mode is enabled.
  • Boxes are consumed from the internal Battle Pass box inventory when opened.
  • Box rewards should be delivered when the countdown finishes, not only when the close button is pressed.

Product Structure

text
oskar_battlepass/
  config/
    config.lua
  functions/
    shared.lua
    client.lua
    server.lua
    store.lua
  frameworks/
    vrp.lua
    esx.lua
    qbcore.lua
    qbox.lua
  client/
    client.lua
    utils.lua
  server/
    server.lua
    server_functions.lua
    token.lua
  web/
    build/

Support

Support: discord.gg/NcfpG9jDuq

Built for Crabo Devs FiveM scripts.