> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectx.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Full reference for all configuration options in the Default Paleto Bank Robbery resource

## config/config.lua

### Main Settings

<ParamField path="debug" type="boolean" default="false">
  Shows polyzones created inside the game. Useful for testing zone placement.
</ParamField>

<ParamField path="TestingMode" type="boolean" default="false">
  Disables all minigames. Useful for testing the full robbery flow without completing minigame challenges.
</ParamField>

<ParamField path="ResetHeist" type="number" default="180">
  Time in minutes before the bank resets and becomes available to rob again after a completed robbery.
</ParamField>

<ParamField path="DrawtextButton" type="number" default="38">
  The key code used to trigger drawtext interactions. `38` is `[E]` by default.
</ParamField>

<ParamField path="DrawTextZoneSize" type="vector3" default="vec3(0.8, 0.8, 2)">
  The size of the drawtext interaction zone.
</ParamField>

<ParamField path="Disable2PlayerPuzzles" type="boolean" default="false">
  Disables puzzles that require two players. Enable this to test the script solo.
</ParamField>

<ParamField path="DisableLoudApproach" type="boolean" default="false">
  Disables the loud approach path entirely.
</ParamField>

<ParamField path="DisableSilentApproach" type="boolean" default="false">
  Disables the silent approach path entirely.
</ParamField>

<ParamField path="DisableAnimalPuzzle" type="boolean" default="false">
  Disables the animal puzzle step.
</ParamField>

<ParamField path="DisableTheNeedForGrenades" type="boolean" default="false">
  When enabled, players use a target interaction to plant a bomb item instead of requiring throwable explosives.
</ParamField>

<ParamField path="DisableParticles" type="boolean" default="false">
  Disables all particle effects during the robbery.
</ParamField>

<ParamField path="DisableExplosions" type="boolean" default="true">
  Disables client-side explosions. Set to `false` only if your anticheat allows explosion events.
</ParamField>

<ParamField path="DisableRemovingWeapons" type="boolean" default="false">
  Disables weapon removal during the robbery. Only enable this if you use a weapon wheel resource.
</ParamField>

<ParamField path="SpawnNetworkedPropsServerSide" type="boolean" default="true">
  Spawns networked props server side. Set to `false` to spawn them client side instead.
</ParamField>

<ParamField path="RequireBag" type="boolean" default="true">
  Requires players to have a `bag` item in order to loot the trolleys.
</ParamField>

<ParamField path="MinimumPolice" type="number" default="0">
  Minimum number of police required online before the robbery can be started. Set to `0` to disable.
</ParamField>

<ParamField path="PoliceJobs" type="table" default="{&#x22;police&#x22;}">
  The jobs that count as police for the `MinimumPolice` check and dispatch alerts.
</ParamField>

<ParamField path="RequiredPlayersNearby" type="table">
  Requires a minimum number of players nearby to start a robbery.

  ```lua theme={null}
  RequiredPlayersNearby = {amount = 0, radius = 20.0}
  ```

  Set `amount` to `0` to disable.
</ParamField>

<ParamField path="UnlockAllEntrances" type="table">
  Door indices from `Config.DoorList` to unlock when the robbery starts, giving criminals and police extra entry/exit options.
</ParamField>

***

### Cooldowns & Limits

<ParamField path="Cooldown.PlayerCooldown" type="number" default="0">
  Per-player cooldown in minutes after completing a robbery. Set to `0` to disable.
</ParamField>

<ParamField path="Limits.TotalRobberiesPerRestart" type="number" default="0">
  Maximum number of total robberies allowed per server restart. Set to `0` to disable.
</ParamField>

<ParamField path="Limits.RobberiesPerPlayer" type="number" default="0">
  Maximum number of robberies a single player can complete per server restart. Set to `0` to disable.
</ParamField>

***

### Strike System

<ParamField path="TotalTrollys" type="number" default="5">
  Maximum number of trolleys that can spawn. Actual count depends on the strike system and approach used.
</ParamField>

<ParamField path="Strikes" type="number" default="5">
  Number of strikes players can accumulate before their reward is cut. Set to `false` to disable.
</ParamField>

<ParamField path="StrikeAmount" type="number" default="3">
  (Silent approach only) Number of trolleys removed when the strike limit is reached.
</ParamField>

<ParamField path="StrikeLoud" type="number" default="3">
  (Loud approach only) Number of trolleys that spawn during a loud approach.
</ParamField>

***

### Skill System & Bonus

<ParamField path="SkillSystem" type="boolean" default="false">
  Requires a minimum criminal level from an integrated XP system before starting the heist.
</ParamField>

<ParamField path="MinimumLevel" type="number" default="20">
  Minimum level required when `SkillSystem` is enabled.
</ParamField>

<ParamField path="Bonus" type="table">
  Optional bonus items awarded at the end of the heist (`Status`, `BonusChance`, `ItemCount`, `Items`).
</ParamField>

***

### Dispatch

<ParamField path="Dispatch.Title" type="string" default="&#x22;Paleto Bank Robbery&#x22;">
  Title shown in the dispatch alert.
</ParamField>

<ParamField path="Dispatch.Message" type="string" default="&#x22;Paleto Bank is being robbed&#x22;">
  Message body for the dispatch alert.
</ParamField>

<ParamField path="DispatchLocation" type="table">
  Controls when dispatch fires for loud/silent approaches and individual steps such as `ElectricBox` and `MainComputer1`.
</ParamField>

***

### Codes & Inputs

<ParamField path="Codes" type="table">
  Random code ranges for cooperative office computer puzzles (`SideFusebox2`, `SideFusebox3`).
</ParamField>

<ParamField path="CodeResetTimer" type="table">
  Seconds players have to enter each cooperative code before it resets.
</ParamField>

<ParamField path="Inputs" type="table">
  ox\_lib input dialog labels for vault and office computer prompts.
</ParamField>

***

### Items & Rewards

```lua theme={null}
Config.Items = {
    ["Pliers"] = "pliers",
    ["Key"] = "paleto_key",
    ["Keycard"] = "paletocardtwo",
    ["Bag"] = "bag",
    ["Device"] = "x_device",
    ["Phone"] = "x_phone",
    ["Decryptor"] = "decryptor",
    ["HackCard"] = "hackcard",
}
```

<ParamField path="ItemsBreak" type="table">
  Break chance percentages for tools such as pliers, device, phone, and decryptor.
</ParamField>

<ParamField path="Rewardcash" type="table">
  Cash trolley payout settings (`ObtainPerPickup`, `Cash`, `Item`, `StackAmount`, `ItemInfo`).
</ParamField>

<ParamField path="Rewardgold" type="table">
  Gold trolley payout settings.
</ParamField>

<ParamField path="Rewarddiamond" type="table">
  Diamond trolley payout settings.
</ParamField>

<ParamField path="Config.Trollys" type="table">
  Trolley spawn locations, types (`cash`, `gold`, `diamond`), and interaction settings.
</ParamField>

<ParamField path="Config.PaletoSteps" type="table">
  Step definitions (labels, icons, coords). Enable `debug` to visualize zones while tuning placements.
</ParamField>

***

### Evidence, Stress & Logs

<ParamField path="Evidence.Status" type="boolean" default="true">
  Enables fingerprint evidence drops on interaction points.
</ParamField>

<ParamField path="Stress.Status" type="boolean" default="true">
  Applies stress when players fail minigames.
</ParamField>

Logging is configured in `config/logs.lua` (`Enable`, `APIKey`, `FivemanageDataset`).
