prp-storerobbery

Documentation, installation, and configuration guide for the prp-storerobbery resource.

Highlights

Complete Robbery Loop - Threaten clerk or use location-based start -> Loot bag -> Hack computer -> Crack safe.

Secure Rewards - Server-side validation of all payouts to prevent abuse.

Location-Based Start - Rob stores without clerk peds; enable Config.Targeting.EnableLocationStartTarget and define store/start coords in robberylocations.lua.

Optional prp-shops - Use GetShops() from prp-shops, or set Config.Integrations.AllowRobberySettingsFallback = true and map stores in robberylocations.lua only.

Integrations - Dispatch (ps/cd/qs/core), bl_ui PathFind minigame, rcore_cam.

Installation

  1. Ensure dependencies are started first:
    ensure ox_lib
    ensure qbx_core
    ensure ox_inventory
    ensure ox_target
    # ensure prp-shops   # Optional when AllowRobberySettingsFallback = true
    ensure bl_ui         # For minigames
  2. Add ensure prp-storerobbery to your server.cfg.
  3. Configure config.lua (police, AllowRobberySettingsFallback, EnableLocationStartTarget) and robberylocations.lua.
  4. Restart server and run storerobbery:doctor in console to verify setup.

Configuration

The resource is highly configurable via `config.lua`.

Core Settings

Config.Framework = 'auto'  -- Auto-detects Qbox/QBCore/ESX
Config.Target = 'auto'     -- Auto-detects target system
Config.Police = {
    MinRequired = 0,       -- Minimum police online to rob
    Jobs = { 'police' }
}

Targeting (location-based start)

Config.Targeting.EnableLocationStartTarget = true  -- Start robbery at store coords (no ped)
Config.Targeting.LocationStartRadius = 2.0
Config.Targeting.LocationStartLabel = 'Start Robbery'

Config.Integrations.AllowRobberySettingsFallback = true  -- Use robberylocations.lua only (no GetShops)

Security & Cooldowns

Config.Security = {
    StartCooldownSeconds = 30,
    RequireWeapon = true,
    RequireBagBeforeHack = true  -- Must loot clerk first
}
Config.Cooldowns = {
    StoreSeconds = 4500  -- 75 minutes per store
}
With prp-shops: Use prp-shops and GetShops() for store locations, or run with fallback only and robberylocations.lua. Both modes supported.