Configuration and Scenarios
Detailed guide for editing shared settings, scenario files, and common heist changes
This page is based on the real script structure inside the resource.
The most important thing to understand is this:
config/main.luacontrols the global systemconfig/heist.luacontrols the heist menu entries and the main rules for each scenarioconfig/scenarios/<scenario>.luacontrols the internal gameplay details of that one scenario
If you edit the wrong file, nothing will change in game.
Quick Answer Map
Use this first if you want the shortest possible answer:
Menu command, keybind, tablet item, police jobs, money options, credit system, clothing, locale
config/main.lua
Employer ped, employer spawn point, scenario card info, disable scenario, level, cops, max team, credits, scenario cooldown, player cooldown
config/heist.lua
Market item prices and payment methods
config/market.lua
Drone required item, prop model, max distance
config/drone.lua
Shared presets like cooldowns, durations, blips, models, animations, shared required items
config/scenarios/_shared.lua
Doors, guards, loot tables, drop zones, peds, robbery coordinates, special gameplay logic for one heist
config/scenarios/<scenario>.lua
Real File Structure
These are the files you will actually work with:
config/main.luaconfig/heist.luaconfig/market.luaconfig/drone.luaconfig/scenarios/_shared.luaconfig/scenarios/atm_robbery.luaconfig/scenarios/ammunation_robbery.luaconfig/scenarios/bobcat_robbery.luaconfig/scenarios/cargo_ship_robbery.luaconfig/scenarios/fleeca_bank_robbery.luaconfig/scenarios/house_robbery.luaconfig/scenarios/money_truck_robbery.luaconfig/scenarios/pacific_bank_robbery.luaconfig/scenarios/paleto_bank_robbery.luaconfig/scenarios/store_robbery.luaconfig/scenarios/train_robbery.luaconfig/scenarios/truck_robbery.luaconfig/scenarios/vehicle_theft_robbery.luaconfig/scenarios/vangelico_robbery.luaconfig/scenarios/yacht_robbery.lua
Read This Before You Edit Anything
Use this simple rule:
If the change should affect the whole script, start with
config/main.luaIf the change should affect the heist card in the menu, start conditions, cooldown, team size, credits, or level, go to
config/heist.luaIf the change should affect the robbery's inside logic, loot, doors, guards, peds, or coordinates, go to
config/scenarios/<scenario>.luaIf the change is inventory, target, notify, progressbar, dispatch, or framework adaptation, use the
Script Integrationspage
The safest workflow is always:
Decide exactly what you want to change.
Open the correct config file.
Change only one value.
Restart
0r-heistpack.Test that exact change in game.
What Each Main Config File Does
config/main.lua
config/main.luaThis is the global script config.
Important sections in the real source:
Config.localeConfig.inventoryImagesFolderConfig.heistMenuConfig.policeOptionsConfig.levelsConfig.infoBoxOptionsConfig.moneyOptionsConfig.dirtMoneyOptionsConfig.creditSystemConfig.jobClothingOptionsConfig.modernTextUIConfig.noMarkerAndOutlineConfig.potentialHeistNotifyConfig.debug
config/heist.lua
config/heist.luaThis is the most important file for normal server owners.
It controls:
Employer ped locations
Employer vehicle spawn points
The scenario list shown in the menu
Whether a scenario is active
Required level
Required cops
Maximum members
Required items to start
Scenario cooldown
Player cooldown
Credit cost
Completion rewards
Heist image
The
infoTextsshown to players
config/market.lua
config/market.luaThis controls the built-in market.
It defines:
Whether the market is enabled
Drone delivery behavior for purchased items
Allowed payment methods
Market item list and prices
config/drone.lua
config/drone.luaThis file controls the heist drone itself.
It defines:
Required drone item
Maximum usage distance
Drone prop model
Tablet model
Holding animation
config/scenarios/_shared.lua
config/scenarios/_shared.luaThis file is the shared preset file for all scenarios.
It contains reusable values for:
Blips
Max duration presets
Cooldown presets
Finish distances
Damage values
Animations
Common models
Carry positions
Shared required items like sticky bomb, grinder, and drill
config/scenarios/<scenario>.lua
config/scenarios/<scenario>.luaEach of these files controls one robbery's internal gameplay.
Typical things changed here:
Locations
Loot tables
Guard positions
Doors
Interaction zones
Special required tools used inside that robbery
Reward pools for lootable objects
Prop models
Route points and drop points
If you want to disable a robbery or add a cooldown, do not start with config/scenarios/<scenario>.lua. Start with config/heist.lua.
Common Changes
How Do I Disable One Scenario?
Open config/heist.lua.
Find the scenario key inside heistScenarios.
Example:
Change it to:
This removes that heist from normal usage.
Use this when:
You do not want that heist on your server
You want to temporarily close one robbery
You are testing only one or two scenarios
How Do I Add Or Change A Scenario Cooldown?
Open config/heist.lua.
Each heist entry can use:
scenarioCooldownplayerCooldown
Both values are in minutes.
Example:
What they mean:
scenarioCooldown: blocks that heist globally for everyone after it endsplayerCooldown: blocks the players who joined from starting another heist for that period
The script also uses preset values from config/scenarios/_shared.lua:
That means you can keep the shared preset style:
How Do I Change Required Items?
There are two different item layers.
1. Start items for entering the heist
Open config/heist.lua.
Example:
If you want Vangelico to also require a gas mask before starting:
2. Items used during the robbery itself
These are usually inside config/scenarios/<scenario>.lua.
Real examples from the script:
ATM rope item:
config/scenarios/atm_robbery.luaATM drill item:
config/scenarios/atm_robbery.luaHouse hacking device:
config/scenarios/house_robbery.luaCargo ship anchor item:
config/scenarios/cargo_ship_robbery.luaVangelico gas mask, drill, and painting rewards:
config/scenarios/vangelico_robbery.lua
Important:
The item must also exist in your inventory system
The item name in config must match the real inventory item name exactly
If you use the tablet menu,
heistpack_tabletmust exist when item menu opening is enabledThe hacking device is used as
weapon_hackingdevicein the real script
How Do I Change Police Requirements?
You can change police requirements in two places.
Global police settings
Open config/main.lua.
This controls:
Which jobs count as police
Whether only on-duty police are counted
The global fallback police requirement
Per-scenario police requirement
Open config/heist.lua.
If players should be able to start the heist with fewer officers online, lower that number.
If you want the heist to feel more restricted, raise that number.
How Do I Change Rewards?
Again, there are two reward layers.
1. Completion reward
Open config/heist.lua.
Real pattern:
In the real script this is written as:
These are the rewards players get when the scenario is completed.
2. Loot reward inside the robbery
Open the matching file in config/scenarios/<scenario>.lua.
Real examples:
config/scenarios/store_robbery.lualootRewardItems,cashierRobbery.rewards,miniSafe.rewardsconfig/scenarios/vangelico_robbery.luarobbablePedOptions.rewards,lootableDisplayOptions.rewards,smashableCaseOptions.rewardsconfig/scenarios/atm_robbery.luaropeOptions.rewards,hackingOptions.rewards,explodeOptions.rewards,drillOptions.rewardsconfig/scenarios/cargo_ship_robbery.lualootRewardItems
Change only the part you actually want:
Money payout
XP reward
Credits reward
Loot item chance
Loot item quantity
If you change completion rewards in config/heist.lua, the robbery's internal loot does not change. If you change loot rewards in config/scenarios/<scenario>.lua, the final completion reward does not change.
How Do I Change Difficulty?
Difficulty in this pack is spread across multiple files.
Start with config/heist.lua for:
requiredCopsrequiredItemsmaxMemberCountcreditCostscenarioCooldownplayerCooldown
Then use config/scenarios/<scenario>.lua for the real inside difficulty:
Guard count
Guard positions
Door behavior
Drop zones
Loot amount
Reward chance
Required drill, bomb, rope, hacking device, gas mask, grinder, anchor, and similar flow items
Finish distance
Real examples:
Vangelico difficulty is affected by gas flow, doors, peds, smashable cases, painting locations, and safe settings
Cargo ship difficulty is affected by guards, ship loot, boat spawn, helicopter usage, and big container delivery
Store robbery difficulty is affected by cashier logic, mini safe rewards, loot points, and carryable props
ATM difficulty is affected by rope, sticky bomb, drill, and hacking reward paths
How Do I Change A Location, Ped, Or Interaction Point?
Open the matching file in config/scenarios/<scenario>.lua.
The actual section names depend on the heist.
Real examples from the script:
Vangelico:
poisonousGasOptions.dropZones,entranceDoorOptions.doors,robbablePedOptions.peds,lootableDisplayOptions.locations,paintingSmuggleOptions.locationsStore robbery:
locations.standart,locations.custom,cashier,lootableCashRegisters,loots,miniSafeCargo ship:
boatSpawn,captainCabinKey,helicopterSpawn,bigContainers,guards,lootsATM:
atmModels,modelPlantingOffsets
You are usually editing one of these:
Start point
Ped location
Door position
Loot interaction point
Delivery point
Search point
Helicopter or boat spawn
Guard spawn
Example shape:
If you move a location:
Keep the coordinate format already used by the file
Move the linked zone, prop, scene coords, and marker if the file uses more than one position for the same action
Test the robbery from start to finish after changing coordinates
How Do I Change The Employer NPC Or Vehicle Spawn?
Open config/heist.lua.
This file contains:
blips.employerblips.vehicleemployers
Real example:
Change this if you want to move the employer or change where employer-related vehicles spawn.
How Do I Change The Heist Menu Access?
Open config/main.lua.
The menu supports 3 methods:
openWithCommandopenWithKeyopenWithItem
Real default values in the script:
Command:
heistmenuKeybind:
F10Item:
heistpack_tablet
You can also control:
allowedJobsforbiddenJobsrequiredMinDistanceswitchToIllegalPack
How Do I Change The Market?
Open config/market.lua.
This file controls:
Whether the market is enabled
Drone delivery settings
Cash / card / black money usage
Which items are sold
Item prices
Which scenario labels are shown in the UI
Real items already sold by default include:
heistpack_dronegasmaskheistpack_drilllockpickweapon_hackingdeviceheavy_ropeweapon_stickybombheistpack_anchorheistpack_grinder
How Do I Change Credits, Levels, Or Team Rules?
Open config/main.lua and config/heist.lua.
Use config/main.lua for:
Config.levelsConfig.creditSystem
Use config/heist.lua for:
levelmaxMemberCountteamSizecreditCost
Important:
When
Config.creditSystem.enabled = true, the normal level check is bypassed by the start logicCredit cost is checked for all lobby members, not just the leader
How Do I Change infoTexts?
infoTexts?Open config/heist.lua.
Each heist entry has an infoTexts table. These texts are the instructions shown to players in the heist UI.
Example:
Use this if players are confused about the flow and you want clearer in-game guidance.
How Do I Temporarily Turn A Scenario Into Testing Mode?
For safe testing, do this:
In
config/heist.lua, set the scenarios you do not need toisActive = false.Lower
requiredCopsto0.Lower or remove
creditCost.Set
scenarioCooldown = 0andplayerCooldown = 0for the one you are testing.Make sure the required items exist in your inventory.
Restart
0r-heistpack.Test the robbery from the beginning to the end.
This is the fastest way to confirm whether your issue is configuration-related or integration-related.
What Should Stay In config/scenarios/_shared.lua?
config/scenarios/_shared.lua?Keep only reused presets there.
Examples:
Shared cooldown values
Shared max durations
Shared animations
Shared models
Shared required items
Shared carry positions
Do not put heist-specific coordinates here unless you are intentionally editing the script architecture.
What To Do After Every Config Change
Always do these checks after editing:
Save the file
Restart
0r-heistpackWatch console for the first error, not the last error
Start the exact scenario you edited
Confirm the changed behavior actually happened in game
If nothing changed, the usual reason is one of these:
You edited
config/scenarios/<scenario>.luawhen the real setting was inconfig/heist.luaYou edited
config/heist.luawhen the real setting was inside the scenario fileThe scenario is disabled with
isActive = falseThe resource was not restarted
Your custom integration is failing before the scenario flow reaches your new config
You changed the structure of the table instead of just the value
Safest Editing Rule
Do not rename keys unless you are sure the script expects the new name.
If the file currently uses this:
and you only want a shorter cooldown, change only the value:
Do not rename keys like:
isActiverequiredCopsrequiredItemsscenarioCooldownplayerCooldowncreditCostrewardsinfoTexts
unless you are also changing the script code itself.
Do I Need A Separate Page For Every Heist?
No. The goal of this page is to stop you from searching blindly.
Once you understand:
what belongs in
config/main.luawhat belongs in
config/heist.luawhat belongs in
config/scenarios/<scenario>.luathe difference between completion rewards and loot rewards
the difference between start requirements and in-scenario tool requirements
you can handle most balancing and scenario customization without extra documentation.
Last updated