STG ScriptsDocumentation
Robbery Pack

Configuration

How STG Robbery Pack is configured, from the language and lockpick difficulty to ATMs, banks, street robberies, stash houses, vehicle crime and the payphone heist hub.

All settings live in stg-robberypack/shared/config/, one file per group of robberies. The files stay editable in the escrow version, together with shared/functions.lua and locales/. Every option has a comment in the file explaining what it does. Restart the resource after a change.

FileWhat it controls
main.luaLanguage, lockpick difficulty, target icons, sound volume
atm.luaATM rope rip, ATM hack, ATM bomb, parking meters
bank.luaThermite, door breaches, Fleeca, Pacific Standard, safe cracking
street.luaMugging and pickpocketing, armored trucks, store hold-ups, Vangelico
stash.luaStash house raids, big stashes, house burglary
vehicle.luaPlates, trunks, car doors, hotwiring, trunk loot
vehrob.luaShowroom and garage car jobs, containers, riot vans
heists.luaPayphones, Lifeinvader, military depot, PMC camp, the heist hub and its jobs

Language

Config.Language = 'en'

Available: en, de, fr, es, pt, it, nl, pl, sv, no, fi, cs, ar, he, jp, ko, zh. Every message, help prompt, target label and heist hub text lives in stg-robberypack/locales/<language>.lua. The heist hub interface texts are in the web table at the bottom of the same file.

Lockpick difficulty

Config.Difficulty = {
    easy = { Stages = 1, Tolerance = 22, Attempts = 5, TurnSpeed = 110, StressRate = 0.8 },
    medium = { Stages = 2, Tolerance = 14, Attempts = 4, TurnSpeed = 95, StressRate = 1.1 },
    hard = { Stages = 3, Tolerance = 9, Attempts = 3, TurnSpeed = 80, StressRate = 1.5 },
}

Config.DefaultDifficulty = 'medium'
Config.UseTarget = true

Prop

Type

Car trunks, car doors, hotwiring, plates and house doors each pick one of these presets with their own Difficulty option.

Shared options

Most robberies use the same set of options, so once you know them you can tune any of them:

Prop

Type

ATMs and parking meters

Config.Atm = {
    Enabled = true,
    RopeItem = 'rope',
    SmashItem = 'sledgehammer',
    RespawnTime = 1800,
    VehicleDistance = 12.0,
    Rope = { ... },
    Reward = { ... },
}

Config.AtmHack = { Enabled = true, Item = 'electronickit', BreakChance = 0.25, Cooldown = 900, ... }
Config.AtmBomb = { Enabled = true, Item = 'c4', Cooldown = 1800, FuseTime = 10, ... }
Config.Meter = { Enabled = true, Item = 'weapon_crowbar', Cooldown = 1200, ... }

Prop

Type

Banks

Config.Bank = {
    Enabled = true,
    DrillItem = 'drill',
    DrillBreakChance = 0.15,
    HackItem = 'trojan_usb',
    Cooldown = 3600,
    VaultOpenTime = 3600,
    Banks = { ... },
}

Config.Pacific = { Enabled = true, ResetTime = 3600, Cooldown = 7200, Gates = { ... }, Hack = { ... }, Hostages = { ... } }
Config.Thermite = { Item = 'thermite', ConsumeItem = true, BurnTime = 10, ... }
Config.SafeCrack = { Enabled = true, Cooldown = 3600, Game = { Wheels = 3, ... } }

Prop

Type

Config.SafeCrack is not placed anywhere by itself. Call CrackSafe and LootSafe from your own script, see Integrations.

Street robberies

Config.Mugging = { Enabled = true, FleeChance = 0.15, PedCooldown = 900, Reward = { Money = { Min = 60, Max = 450 } }, ... }
Config.ArmoredTruck = { Enabled = true, SpawnInterval = 900, MaxActive = 1, Cases = { Min = 2, Max = 4 }, ... }
Config.Store = { Enabled = true, Cooldown = 1200, BraveChance = 0.33, Reward = { Money = { Min = 900, Max = 2200 } }, ... }
Config.Jewelry = { Enabled = true, AlarmTime = 180, ResetTime = 1800, RequireGun = true, ... }

Prop

Type

Stash houses and burglary

Config.StashHouse = {
    Enabled = true,
    Cooldown = 3600,
    ResetTime = 1800,
    BucketBase = 4200,
    Houses = { ... },
    Interiors = { ... },
    Gangs = { ... },
    Loot = { ... },
}

Config.Burglary = { JobTime = 900, Cooldown = 1800, LockpickDifficulty = 'medium', Tiers = { ... }, ... }

Prop

Type

Vehicle crime

Config.Plate = { Enabled = true, RequiredItem = 'screwdriverset', PlateItem = 'license_plate', GiveKeysOnInstall = true, ... }
Config.Trunk = { Enabled = true, AllowedTools = { 'lockpick', 'screwdriver' }, AlarmChance = 0.6, ... }
Config.Cabin = { Enabled = true, AllowedTools = { 'lockpick', 'screwdriver' }, ... }
Config.Hotwire = { Enabled = true, Key = 74, GiveKeys = true, AlarmChance = 0.4, ... }
Config.Loot = { Enabled = true, EmptyChance = 0.3, MinItems = 1, MaxItems = 3, Items = { ... } }

Config.OnlyNpcVehicles = false
Config.OwnedVehicleTable = 'auto'

Prop

Type

Heist hub

Config.Heists = {
    Enabled = true,
    Payphone = true,
    RequireContract = true,
    CheckCops = false,
    MaxCrew = 4,
    Cooldown = 1800,
    ContractTime = 3600,
    ReturnToPhone = true,
    InfoAccount = 'cash',
    PoliceJobs = { police = true, sheriff = true, lspd = true, bcso = true, sasp = true },
    Levels = { 0, 1000, 2500, 4500, 7000, 10000, 14000, 19000, 25000, 32000 },
    Categories = { ... },
    Jobs = { ... },
}

Prop

Type

Jobs

{
    Id = 'fleeca', Category = 'banks',
    Payout = { 30000, 60000 }, Crew = { 1, 4 }, Cops = 3, Difficulty = 2, Level = 3, Xp = 800, Cooldown = 3600,
    Items = {
        { Item = Config.Bank.DrillItem, Icon = 'drill', Count = 1 },
        { Item = Config.Thermite.Item, Icon = 'thermite', Count = 1 },
    },
    LeaveRadius = 150.0,
    Start = { Type = 'fleeca' },
},

Prop

Type

Job names, locations and descriptions are in locales/<language>.lua. A custom job can also set Name, Location and Description directly in the config.

Still having trouble?

Open a ticket on our Discord. Our team answers around 15 hours a day.

Get help on Discord

On this page