Skip to content

Configuration and Job Settings

Detailed explanation for global config, market config, per-job settings, required items, team sizes, and job-specific special cases

This script has three real configuration layers:

  • config.lua
  • escrow/market/config.lua
  • escrow/jobs/<job_name>/config.lua

If you remember only one rule, remember this:

  • config.lua = global menu, level, money, police, drone, and market behavior
  • escrow/market/config.lua = which items the illegal market sells
  • escrow/jobs/<job>/config.lua = the actual job you want to enable, disable, or rebalance

Quick Answers#

  • Menu command, key, or tablet item: config.lua -> Config.IllegalMenu
  • Change police jobs: config.lua -> Config.PoliceJobName
  • Change dirty or clean money handling: config.lua -> Config.DirtyMoney and Config.CleanMoney
  • Change drone delivery or market payment methods: config.lua -> Config.IllegalMarket
  • Change image path: config.lua -> Config.InventoryImagesFolder
  • Disable a whole job: escrow/jobs/<job>/config.lua -> active = false
  • Change level, reward, or description for one job: escrow/jobs/<job>/config.lua
  • Change team size: escrow/jobs/<job>/config.lua -> teamSize
  • Change required items: sometimes top-level requiredItems, sometimes inside job-specific game.*.requiredItems
  • Limit a step so it does not run forever: steps -> progress.target
  • Change market items or prices: escrow/market/config.lua

What Is Inside config.lua?#

The real source file controls:

  • Config.InventoryImagesFolder
  • Config.IllegalMenu
  • Config.PoliceJobName
  • Config.Levels
  • Config.DroneDelivery
  • Config.JobInfoBoxAlign
  • Config.ExpandJobInfoBoxKey
  • Config.DirtyMoney
  • Config.CleanMoney
  • Config.IllegalMarket
  • Config.DefaultRoutingBucket
  • Config.debug

Default item-based menu access uses:

lua
itemName = 'illegal_tablet'

The same file also includes:

lua
switchToHeistPack

So if you are changing main menu behavior, do not look inside individual job folders first. Start with config.lua.

What Is Inside escrow/market/config.lua?#

This file is only for the illegal market list.

Each entry controls:

  • itemName
  • label
  • price
  • job

Real source examples include:

  • weapon_crowbar
  • lockpick
  • weapon_digiscanner
  • powdered_milk
  • money_sheet
  • anchor
  • plant_spray
  • ammonia
  • sacid
  • atm_hack_device
  • blank_card
  • moonshine_still
  • moonshine_pack

If the player can open the menu but cannot buy the item you expect, this is the first file to check.

What Is Inside Each Job Config?#

Every job file under escrow/jobs/<job_name>/config.lua is the real job definition.

Common fields found in the real source include:

  • active
  • level
  • label
  • description
  • image
  • reward
  • information
  • steps
  • requiredItems
  • teamSize
  • requiredJobName
  • requiredGangName

That means most job-specific edits happen in the job's own config file, not in config.lua.

How Do I Disable One Job?#

Open the job you want to remove, for example:

lua
escrow/jobs/weed_job/config.lua

Then set:

lua
active = false

If the job still appears, make sure you edited the correct job folder. This pack contains many jobs and each one has its own file.

How Do I Change Level, Reward, Or Team Size?#

Use the same job config file.

The most common fields are:

  • level
  • reward = { ... }
  • teamSize = { min = 1, max = 2 }

Examples from the real source:

  • some jobs are single-player only
  • some jobs expose teamSize.max
  • some jobs use fixed money, others use 'Random'

How Do I Add Required Items?#

This is the important part many server owners miss:

  • some jobs use top-level requiredItems
  • some jobs also use scene-specific game.*.requiredItems

Examples from the real source:

  • bag_snatch uses top-level requiredItems for weapon_crowbar
  • car_theft uses top-level requiredItems for lockpick
  • moonshine uses top-level requiredItems for still and ingredient items
  • weed_job, meth_job, cocaine_job, and counterfeit_money also use scene-level requiredItems inside their production stages

So if you changed one required item and nothing changed in game, check whether the real requirement is inside a nested game section instead of the top of the file.

How Do I Stop A Production Step After X Actions?#

Use progress.target inside the steps array.

Real source examples use this for jobs such as:

  • bag_snatch
  • car_theft
  • diving
  • fraud
  • illegal_delivery
  • moonshine
  • plane_drug_delivery

If a production-style job feels endless, this is the first thing to inspect.

How Do I Change Police Alert Chances?#

Many jobs store police alert logic inside their game section.

Real source examples include:

  • bag_snatch
  • car_theft
  • chicken_kidnapping
  • chop_shop
  • cocaine_job
  • container_heli
  • counterfeit_money
  • diving
  • fraud
  • gun_smuggling
  • illegal_delivery
  • meth_job
  • money_laundering
  • moonshine

Look for:

lua
police_alert_chance

inside the job file you are editing.

Special Cases You Should Know#

These jobs are not all identical:

  • moonshine references object_gizmo_resource_name and extra object placement logic
  • money_laundering has scene-specific required items logic instead of a normal job-start item gate
  • corner_deal uses custom sellable item tables and area risk settings
  • some jobs use requiredJobName
  • some jobs use requiredGangName

So if a job behaves differently from the others, that is normal. Open the exact job file and read its own game section.

If Your Changes Do Not Apply#

Check these in order:

  1. Did you edit config.lua, escrow/market/config.lua, or the exact job file you are testing?
  2. Did you edit the correct job folder?
  3. Did you restart 0r-illegalpack after the change?
  4. Did you change top-level requiredItems when the real requirement lives inside game.*.requiredItems?
  5. Did you change market settings when the real problem is in the job file, or the reverse?