Skip to main content

config/config.lua

Main Settings

debug
boolean
default:"false"
Shows polyzones created inside the game. Useful for testing zone placement.
TestingMode
boolean
default:"false"
Disables all minigames. Useful for testing the full robbery flow without completing minigame challenges.
DrawtextButton
number
default:"38"
The key code used to trigger drawtext interactions. 38 is [E] by default.
DrawTextZoneSize
vector3
default:"vec3(0.8, 0.8, 2)"
The size of the drawtext interaction zone.
DrawTextRotation
number
default:"70.0"
The default rotation of the drawtext interaction zone. Individual stores can override this in Config.Stores.
SpawnNetworkedPropsServerSide
boolean
default:"true"
Spawns networked props server side. Set to false to spawn them client side instead.
SpawnNetworkedPedsServerSide
boolean
default:"true"
Spawns networked peds server side. Set to false to spawn them client side instead.
MinimumPolice
number
default:"0"
Minimum number of police required online before a robbery can be started. Set to 0 to disable.
PoliceJobs
table
default:"{\"police\"}"
The jobs that count as police for the MinimumPolice check and dispatch alerts.
PoliceJobs = {"police", "fbi"}
RequiredPlayersNearby
table
Requires a minimum number of players nearby to start a robbery.
RequiredPlayersNearby = {amount = 0, radius = 20.0}
Set amount to 0 or false to disable.
TotalActiveRobberies
number
default:"0"
Maximum number of store robberies that can be active at the same time. Set to 0 to disable.
DisableLoudApproach
boolean
default:"false"
Disables the loud approach path entirely.
DisableSilentApproach
boolean
default:"false"
Disables the silent approach path entirely.
DisableParticles
boolean
default:"false"
Disables all particle effects during robberies.
DisableRemovingWeapons
boolean
default:"false"
Disables weapon removal during robberies. Only enable this if you use a weapon wheel resource.
GruppeSechsJob17mov
boolean
default:"false"
Enables compatibility with the GruppeSechs job by 17mov.

Cooldowns & Limits

Cooldown.Global
boolean
default:"true"
When true, robbing one store puts all stores on cooldown. When false, each store has its own cooldown.
Cooldown.Timer
number
default:"180"
Cooldown duration in minutes.
Cooldown.PlayerCooldown
number
default:"0"
Per-player cooldown in minutes after completing a robbery. Set to 0 to disable.
Limits.TotalRobberiesPerRestart
table
Maximum robberies per server restart, split by store type. Set each value to 0 to disable.
TotalRobberiesPerRestart = {
    ['Stores247'] = 0,
    ['GasStations'] = 0,
    ['LiquorStores'] = 0,
}
Limits.RobberiesPerPlayer
table
Maximum robberies a single player can complete per restart, split by store type. Set each value to 0 to disable.
RobberiesPerPlayer = {
    ['Stores247'] = 0,
    ['GasStations'] = 0,
    ['LiquorStores'] = 0,
}

Skill System

SkillSystem
boolean
default:"false"
Requires players to meet a minimum level from an integrated XP/skill system before starting a robbery. Must have an XP system configured in the bridge.
MinimumLevel
number
default:"10"
Minimum level required to initiate a robbery. Only applies when SkillSystem is true.

Dispatch

Dispatch.Title
string
default:"\"Store Robbery\""
Title shown in the dispatch alert.
Dispatch.Message
string
default:"\"A store is being robbed\""
Message body shown in the dispatch alert.
Dispatch.Code
string
default:"\"10-70\""
Radio code shown in the dispatch alert.
Dispatch.Time
number
default:"5"
Time in seconds the dispatch alert remains visible. Not all dispatch systems support this.
Dispatch.Blip
table
Blip settings for the dispatch map marker.
Blip = {
    Text = 'Store Robbery',
    Color = 1,
    Sprite = 41,
    Scale = 0.8
}
DispatchLocation
table
Controls which steps trigger dispatch alerts. Loud and Silent can be enabled independently.
DispatchLocation = {
    ["Loud"] = true,
    ["Silent"] = false,
    ["Register"] = false,
    ["Atm"] = true,
}

Bonus Items

Bonus.Status
boolean
default:"false"
Enables or disables bonus item drops at the end of a robbery.
Bonus.BonusChance
number
default:"15"
Percentage chance that any bonus item is given at all.
Bonus.ItemCount
number
default:"1"
Number of items that can be given from the bonus items table.
Bonus.Items
table
Table of possible bonus items. Each entry has a Name, Chance (%), and Amount range. The total chance across all items needs to add up to 100%.
Items = {
    {Name = "x_device", Chance = 30, Amount = {min = 1, max = 1}},
    {Name = "x_phone", Chance = 50, Amount = {min = 1, max = 1}},
    {Name = "x_stethoscope", Chance = 20, Amount = {min = 1, max = 1}},
}

Evidence & Stress

Evidence.Status
boolean
default:"true"
Enables fingerprint evidence drops at the crime scene.
Evidence.Chance
number
default:"50"
Percentage chance that fingerprint evidence is left behind.
Stress.Status
boolean
default:"true"
Enables the stress system. Stress is only applied when a minigame is failed.
Stress.Chance
number
default:"90"
Percentage chance that stress is applied on a minigame fail.
Stress.Amount
table
default:"{min = 1, max = 3}"
The minimum and maximum amount of stress applied per failure.

Required Items

Items
table
Maps logical item names to your inventory item names.
Items = {
    ["Circuit"] = "x_circuittester",
    ["Lockpick"] = "advancedlockpick",
    ["Harddrive"] = "x_harddrive",
    ["Device"] = "x_device",
    ["Key"] = "storekey",
}
ItemsBreak
table
Break chance (%) for each item when used during a robbery.
ItemsBreak = {
    ["Circuit"] = 0,
    ["Lockpick"] = 0,
    ["Device"] = 0,
}

Rewards

Register, ATM, and safe rewards are configured per store type. Each table follows the same format.
Cash
boolean
default:"true"
Set to true to give money directly. Set to false to give a cash item instead.
CashItem
string
default:"'markedbills'"
The item name used when Cash is false.
StackAmount
table
The minimum and maximum cash or item amount per reward.
StackAmount = {min = 3000, max = 6000}
ItemInfo
boolean | table
default:"false"
Optional item metadata. Used if markedbills or similar items carry random value data in their info table.
Reward tables by store type:
TableDescription
Config.RegisterStores247Register loot from 24/7 stores
Config.RegisterGasStationsRegister loot from gas stations
Config.RegisterLiquorStoresRegister loot from liquor stores
Config.AtmStores247ATM loot from 24/7 stores
Config.AtmGasStationsATM loot from gas stations
Config.SafeStores247Safe loot from 24/7 stores (uncorrupted data)
Config.SafeCorruptStores247Safe loot from 24/7 stores (corrupted data)
Config.SafeGasStationsSafe loot from gas stations
Config.SafeLiquorStoresSafe loot from liquor stores
Shelf loot is configured in Config.RewardShelf. Config.MaxItems controls how many items can be taken from each shelf.

Store Locations

Enable or disable store types and individual locations using these tables:
  • Config.Stores247 — 24/7 supermarkets (9 locations, FM Supermarket map)
  • Config.GasStations — Gas stations (5 locations)
  • Config.LiquorStores — Liquor stores (5 locations)
Each enabled location has a full entry in Config.Stores with coordinates, interactions, NPC settings, reset timers, and per-store overrides. Use the store key (e.g. "Strawberry", "Davis") when calling exports.
You can add custom store locations by copying an existing entry in Config.Stores and adjusting the coordinates and interaction zones.

Other Settings

ComputerPassword
table
Controls the safe code range and UI text for the office computer step.
Config.Sounds.AlarmDuration
number
default:"15"
How long the alarm lasts in minutes.
Config.Weapons
table
Weapons allowed for threatening the clerk during the loud approach. Add or remove weapon hashes as needed.
Step durations (FuseboxDuration, RegisterDuration, ServerDuration, etc.) control how long progress bars run for each interaction step.

Logs

Configured in config/logs.lua.
Enable
boolean
default:"false"
Enables or disables the logging system.
APIKey
string
default:"\"\""
Your Discord webhook URL, or your Fivemerr/Fivemanage API key.
FivemanageDataset
string
default:"\"default\""
The Fivemanage dataset to log activity to. Leave as "default" unless you have a specific dataset configured.