> ## 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.

# House Presets

> Learn how to use and create house presets for House Robbery V2

## What Are Presets?

Presets are pre-configured house interiors that you can easily add to your server. The House Robbery V2 resource includes a `presets` folder where you can simply drag and drop preset files shared by the community in our Discord's **Snippets** channel.

<Info>
  Join our Discord at [discord.gg/projectxdev](https://discord.gg/projectxdev) and check the **Snippets** channel for community-shared presets!
</Info>

## How to Use Presets

1. Download a preset file from the Discord Snippets channel
2. Place the preset file in the `presets` folder of your House Robbery V2 resource
3. Restart the resource or your server
4. The preset will automatically load and be available for use

<Info>
  When creating custom presets, use the `/getoffset` command to get accurate coordinates for all items, spots, and props inside shells. See the [Commands](/resources/house-robbery-v2/commands) page for details.
</Info>

## Preset Structure

Here's a complete example of a preset with all possible options:

```lua theme={null}
LoadHousePreset("Shells", "example", {
    ["ExitCoords"] = vector4(-779.21, 339.86, 196.69, 177.92),
    ["Spots"] = {},
    ["Props"] = {},
    ["Cash"] = {},
    ["Safe"] = {},
    ["Painting"] = {},
    ["Display"] = {},
    ["HighValueItems"] = {},
    ["Tenants"] = {},
    ["Pets"] = {},
    ["Laser"] = {},
    ["Alarms"] = {},
    ["Contracts"] = {}
})
```

## Function Parameters

<ParamField path="InteriorType" type="string">
  The type of interior system used. Values: `"Shells"`, `"IPL"`
</ParamField>

<ParamField path="HouseName" type="string" required>
  Unique identifier for the house. Must match the house name configured in your housing script
</ParamField>

<ParamField path="Config" type="table" required>
  Configuration table containing all house preset data
</ParamField>

## Configuration Options

### ExitCoords

<ParamField path="ExitCoords" type="vector4" required>
  Coordinates where the player will exit the house interior. Includes position (x, y, z) and heading (w)
</ParamField>

**Example:**

```lua theme={null}
["ExitCoords"] = vector4(-779.21, 339.86, 196.69, 177.92)
```

### Spots

Searchable spots in the house that can be looted for random items.

<ParamField path="Spots[n].Type" type="string" required>
  Type of spot being searched. Examples: `"drawer"`, `"cabinet"`, `"kitchen"`, `"closet"`, `"bathroom"`
</ParamField>

<ParamField path="Spots[n].Coords" type="vector3" required>
  Position of the searchable spot
</ParamField>

<ParamField path="Spots[n].Icon" type="string" required>
  Font Awesome icon for the interaction. Example: `'fas fa-search'`
</ParamField>

<ParamField path="Spots[n].Label" type="string" required>
  Text displayed for the interaction
</ParamField>

<ParamField path="Spots[n].Animation" type="table" required>
  Animation played when searching the spot. Can use `Dict` and `Anim` properties OR `Scenario` property (use one or the other)
</ParamField>

**Example with Animation:**

```lua theme={null}
["Spots"] = {
    ["1"] = {
        ["Type"] = "drawer",
        ["Coords"] = vector3(-771.69, 335.96, 195.94),
        ["Icon"] = 'fas fa-search',
        ["Label"] = "Search drawer",
        ["Animation"] = {Dict = "amb@prop_human_bum_shopping_cart@male@idle_a", Anim = "idle_c"}
    }
}
```

**Example with Scenario:**

```lua theme={null}
["Spots"] = {
    ["1"] = {
        ["Type"] = "drawer",
        ["Coords"] = vector3(-771.69, 335.96, 195.94),
        ["Icon"] = 'fas fa-search',
        ["Label"] = "Search drawer",
        ["Scenario"] = "WORLD_HUMAN_STAND_MOBILE"
    }
}
```

### Props

Stealable props that spawn in the house and can be looted for specific items.

<ParamField path="Props[n].Reward" type="string" required>
  Item name that will be given when looting this prop
</ParamField>

<ParamField path="Props[n].Exp" type="number" required>
  Experience points awarded for looting this prop
</ParamField>

<ParamField path="Props[n].Prop" type="string" required>
  Prop model name to spawn
</ParamField>

<ParamField path="Props[n].Coords" type="vector3" required>
  Position where the prop will spawn
</ParamField>

<ParamField path="Props[n].Rotation" type="vector3" required>
  Rotation of the prop (pitch, roll, yaw)
</ParamField>

<ParamField path="Props[n].Icon" type="string" required>
  Font Awesome icon for the interaction
</ParamField>

<ParamField path="Props[n].Label" type="string" required>
  Text displayed for the interaction
</ParamField>

<ParamField path="Props[n].Animation" type="table" required>
  Animation played when stealing the prop. Can use `Dict` and `Anim` properties OR `Scenario` property
</ParamField>

**Example:**

```lua theme={null}
["Props"] = {
    ["1"] = {
        ["Reward"] = "laptop",
        ["Exp"] = 5,
        ["Prop"] = "reh_prop_reh_laptop_01a",
        ["Coords"] = vector3(-772.97, 328.25, 195.91),
        ["Rotation"] = vector3(0.0, 0.0, 227.85),
        ["Icon"] = 'fas fa-box-archive',
        ["Label"] = "Steal laptop",
        ["Animation"] = {Dict = "random@train_tracks", Anim = "idle_e"}
    }
}
```

### Cash

Props that contain cash or marked bills.

<ParamField path="Cash[n].Cash" type="boolean" required>
  If `true`, gives actual cash. If `false`, gives the cash item specified in `CashItem`
</ParamField>

<ParamField path="Cash[n].CashItem" type="string">
  Item name to give when `Cash` is `false`. Example: `"markedbills"`
</ParamField>

<ParamField path="Cash[n].Amount" type="table" required>
  Cash amount range with `min` and `max` values
</ParamField>

<ParamField path="Cash[n].MetaData" type="any">
  Metadata to attach to the cash item. Set to `false` for no metadata
</ParamField>

<ParamField path="Cash[n].Exp" type="number" required>
  Experience points awarded for looting
</ParamField>

<ParamField path="Cash[n].Prop" type="string" required>
  Prop model name (wallet, purse, etc.)
</ParamField>

<ParamField path="Cash[n].Coords" type="vector3" required>
  Position of the cash prop
</ParamField>

<ParamField path="Cash[n].Rotation" type="vector3" required>
  Rotation of the prop
</ParamField>

<ParamField path="Cash[n].Icon" type="string" required>
  Font Awesome icon for the interaction
</ParamField>

<ParamField path="Cash[n].Label" type="string" required>
  Text displayed for the interaction
</ParamField>

<ParamField path="Cash[n].Animation" type="table" required>
  Animation played when stealing cash. Can use `Dict` and `Anim` properties OR `Scenario` property
</ParamField>

**Example:**

```lua theme={null}
["Cash"] = {
    ["1"] = {
        ['Cash'] = true,
        ['CashItem'] = "markedbills",
        ['Amount'] = {min = 25, max = 100},
        ['MetaData'] = false,
        ["Exp"] = 5,
        ["Prop"] = "prop_ld_wallet_pickup",
        ["Coords"] = vector3(-771.40, 336.41, 196.15),
        ["Rotation"] = vector3(-91.413, -0.000, -107.493),
        ["Icon"] = 'fas fa-money-bill-wave',
        ["Label"] = "Steal Cash",
        ["Animation"] = {Dict = "mini@repair", Anim = "fixing_a_player"}
    }
}
```

### Safe

Safes that require cracking and contain valuable loot.

<ParamField path="Safe[n].Exp" type="number" required>
  Experience points awarded for cracking the safe
</ParamField>

<ParamField path="Safe[n].Coords" type="vector3" required>
  Position of the safe
</ParamField>

<ParamField path="Safe[n].Rotation" type="vector3" required>
  Rotation of the safe prop
</ParamField>

<ParamField path="Safe[n].Icon" type="string" required>
  Font Awesome icon for the interaction
</ParamField>

<ParamField path="Safe[n].Label" type="string" required>
  Text displayed for the interaction
</ParamField>

**Example:**

```lua theme={null}
["Safe"] = {
    ["1"] = {
        ["Exp"] = 10,
        ["Coords"] = vector3(-763.27, 331.14, 199.49),
        ["Rotation"] = vector3(0.0, 0.0, -0.67),
        ["Icon"] = 'fab fa-keycdn',
        ["Label"] = "Unlock Safe"
    }
}
```

### Painting

Paintings that can be stolen from walls.

<ParamField path="Painting[n].Reward" type="string" required>
  Item name given when stealing the painting
</ParamField>

<ParamField path="Painting[n].Exp" type="number" required>
  Experience points awarded
</ParamField>

<ParamField path="Painting[n].Coords" type="vector3" required>
  Position of the painting on the wall
</ParamField>

<ParamField path="Painting[n].Rotation" type="vector3" required>
  Rotation of the painting
</ParamField>

<ParamField path="Painting[n].AnimRotation" type="vector3" required>
  Rotation the player faces when stealing
</ParamField>

<ParamField path="Painting[n].AnimPosition" type="vector3" required>
  Position where the player stands when stealing
</ParamField>

<ParamField path="Painting[n].Prop" type="string" required>
  Painting prop model name
</ParamField>

<ParamField path="Painting[n].Icon" type="string" required>
  Font Awesome icon for the interaction
</ParamField>

<ParamField path="Painting[n].Label" type="string" required>
  Text displayed for the interaction
</ParamField>

**Example:**

```lua theme={null}
["Painting"] = {
    ["1"] = {
        ["Reward"] = "x_painting",
        ["Exp"] = 10,
        ["Coords"] = vector3(-769.91, 324.92, 199.63),
        ["Rotation"] = vec3(0.00, -0.00, 88.01),
        ["AnimRotation"] = vec3(0.00, -0.00, 90.10),
        ["AnimPosition"] = vector3(-769.48, 324.99, 199.49),
        ["Prop"] = "ch_prop_vault_painting_01g",
        ["Icon"] = 'fas fa-paintbrush',
        ["Label"] = "Steal Painting"
    }
}
```

### Display

Glass display cases containing valuable items.

<ParamField path="Display[n].Reward" type="string" required>
  Item name given when breaking the display
</ParamField>

<ParamField path="Display[n].Exp" type="number" required>
  Experience points awarded
</ParamField>

<ParamField path="Display[n].DisplayCoords" type="vector3" required>
  Position of the glass display case
</ParamField>

<ParamField path="Display[n].DisplayHeading" type="number" required>
  Heading rotation of the display case
</ParamField>

<ParamField path="Display[n].Prop" type="string" required>
  Item prop model shown inside the display
</ParamField>

<ParamField path="Display[n].PropCoords" type="vector3" required>
  Position of the item inside the display
</ParamField>

<ParamField path="Display[n].PropHeading" type="number" required>
  Heading rotation of the item prop
</ParamField>

<ParamField path="Display[n].RemoveStand" type="boolean">
  If `true`, the stand inside the display will not spawn
</ParamField>

<ParamField path="Display[n].Icon" type="string" required>
  Font Awesome icon for the interaction
</ParamField>

<ParamField path="Display[n].Label" type="string" required>
  Text displayed for the interaction
</ParamField>

**Example:**

```lua theme={null}
["Display"] = {
    ["1"] = {
        ["Reward"] = "x_goldenknife",
        ["Exp"] = 10,
        ["DisplayCoords"] = vector3(-761.311, 332.210, 196.090),
        ["DisplayHeading"] = 269.22,
        ["Prop"] = "w_me_knife_xm3_08",
        ["PropCoords"] = vector3(-761.311, 332.210, 196.090),
        ["PropHeading"] = 269.22,
        ["RemoveStand"] = true,
        ["Icon"] = 'fas fa-gem',
        ["Label"] = "Break Glass"
    }
}
```

### HighValueItems

High value items that can be stolen from the house.

<ParamField path="HighValueItems[n].Reward" type="string" required>
  Item name given when stealing
</ParamField>

<ParamField path="HighValueItems[n].Exp" type="number" required>
  Experience points awarded
</ParamField>

<ParamField path="HighValueItems[n].Prop" type="string" required>
  Prop model name
</ParamField>

<ParamField path="HighValueItems[n].Coords" type="vector3" required>
  Position of the item
</ParamField>

<ParamField path="HighValueItems[n].Rotation" type="vector3" required>
  Rotation of the prop
</ParamField>

<ParamField path="HighValueItems[n].Icon" type="string" required>
  Font Awesome icon for the interaction
</ParamField>

<ParamField path="HighValueItems[n].Label" type="string" required>
  Text displayed for the interaction
</ParamField>

<ParamField path="HighValueItems[n].Animation" type="table" required>
  Animation played when stealing. Can use `Dict` and `Anim` properties OR `Scenario` property
</ParamField>

**Example:**

```lua theme={null}
["HighValueItems"] = {
    ["1"] = {
        ["Reward"] = "emerald_necklace",
        ["Exp"] = 5,
        ["Prop"] = "sf_prop_sf_necklace_01a",
        ["Coords"] = vector3(-765.17, 328.56, 199.35),
        ["Rotation"] = vector3(0.0, 0.0, 43.255),
        ["Icon"] = 'fas fa-box-archive',
        ["Label"] = "Steal necklace",
        ["Animation"] = {Dict = "anim@amb@carmeet@checkout_car@female_d@base", Anim = "base"}
    }
}
```

### Tenants

NPCs that live in the house and can detect the player.

<ParamField path="Tenants[n].Coords" type="vector4" required>
  Spawn position and heading of the tenant
</ParamField>

<ParamField path="Tenants[n].Model" type="string" required>
  Ped model name for the tenant
</ParamField>

<ParamField path="Tenants[n].Animation" type="table" required>
  Animation the tenant performs. Can use `Dict` and `Anim` properties OR `Scenario` property
</ParamField>

<ParamField path="Tenants[n].Detection.Enable" type="boolean">
  Enable or disable detection for this tenant
</ParamField>

<ParamField path="Tenants[n].Detection.ZoneCoords" type="table">
  Polyzone coordinates defining the detection area (only if `Enable` is `true`)
</ParamField>

<ParamField path="Tenants[n].Detection.ZoneHeight" type="number">
  Height of the detection zone (only if `Enable` is `true`)
</ParamField>

**Example:**

```lua theme={null}
["Tenants"] = {
    {
        ["Coords"] = vector4(-774.9, 318.97, 195.89, 91.18),
        ["Model"] = "s_m_m_strpreach_01",
        ["Animation"] = {Dict = "timetable@ron@ig_3_couch", Anim = "base"},
        ["Detection"] = {
            ["Enable"] = true,
            ["ZoneCoords"] = {
                vec(-773.58, 313.86, 195.89),
                vec(-773.48, 323.12, 195.89),
                vec(-780.63, 322.83, 195.89),
                vec(-780.67, 313.86, 195.89)
            },
            ["ZoneHeight"] = 4.0
        }
    }
}
```

### Pets

Animals in the house that can alert tenants.

<ParamField path="Pets[n].Coords" type="vector4" required>
  Spawn position and heading of the pet
</ParamField>

<ParamField path="Pets[n].Model" type="string" required>
  Animal model name
</ParamField>

<ParamField path="Pets[n].Animation" type="table" required>
  Animation the pet performs. Can use `Dict` and `Anim` properties OR `Scenario` property
</ParamField>

**Example:**

```lua theme={null}
["Pets"] = {
    {
        ["Coords"] = vector4(-777.54, 321.39, 195.89, 280.85),
        ["Model"] = "a_c_chop",
        ["Animation"] = {Dict = "creatures@rottweiler@amb@sleep_in_kennel@", Anim = "sleep_in_kennel"}
    }
}
```

### Laser

Laser security system that must be disabled.

<ParamField path="Laser.LasersProp.Model" type="string" required>
  Prop model for the laser control panel
</ParamField>

<ParamField path="Laser.LasersProp.Coords" type="vector4" required>
  Position and heading of the control panel (as offset)
</ParamField>

<ParamField path="Laser.LasersProp.Label" type="string" required>
  Text displayed for the interaction
</ParamField>

<ParamField path="Laser.LasersProp.Icon" type="string" required>
  Font Awesome icon for the interaction
</ParamField>

<ParamField path="Laser.RequiredLaserItem" type="string or boolean" required>
  Item required to disable lasers. Set to `false` for no requirement
</ParamField>

<ParamField path="Laser.LaserCoords[n].Coords1" type="vector3" required>
  Start position of the laser beam
</ParamField>

<ParamField path="Laser.LaserCoords[n].Coords2" type="vector3" required>
  End position of the laser beam
</ParamField>

<ParamField path="Laser.LaserCoords[n].Range" type="number" required>
  Detection range around the laser beam
</ParamField>

**Example:**

```lua theme={null}
["Laser"] = {
    ["LasersProp"] = {
        ["Model"] = "ch_prop_fingerprint_scanner_01e",
        ["Coords"] = vector4(-767.87, 332.73, 196.30, 178.250),
        ["Label"] = "Turn off the lasers",
        ["Icon"] = "fas fa-barcode"
    },
    ["RequiredLaserItem"] = "x_device",
    ["LaserCoords"] = {
        {["Coords1"] = vector3(-766.6, 334.14, 195.09), ["Coords2"] = vector3(-766.6, 334.14, 197.09), ["Range"] = 5.0},
        {["Coords1"] = vector3(-766.67, 333.47, 195.09), ["Coords2"] = vector3(-766.67, 333.47, 197.09), ["Range"] = 5.0}
    }
}
```

### Alarms

Alarm system that can be disabled.

<ParamField path="Alarms.AlarmProp.Model" type="string" required>
  Prop model for the alarm box
</ParamField>

<ParamField path="Alarms.AlarmProp.Coords" type="vector4" required>
  Position and heading of the alarm box (as offset)
</ParamField>

<ParamField path="Alarms.AlarmProp.Label" type="string" required>
  Text displayed for the interaction
</ParamField>

<ParamField path="Alarms.AlarmProp.Icon" type="string" required>
  Font Awesome icon for the interaction
</ParamField>

<ParamField path="Alarms.RequiredItem" type="string or boolean" required>
  Item required to disable alarm. Set to `false` for no requirement
</ParamField>

**Example:**

```lua theme={null}
["Alarms"] = {
    ["AlarmProp"] = {
        Model = "v_res_tre_alarmbox",
        Coords = vector4(-767.25, 326.49, 199.69, 0.0),
        Label = "Disable Alarm",
        Icon = "fas fa-bell-slash"
    },
    ["RequiredItem"] = "x_device"
}
```

### Contracts

Special contracts that can spawn in the house.

<ParamField path="Contracts.ChanceOfSpawning" type="number" required>
  Percentage chance (0-100) that a contract will spawn
</ParamField>

<ParamField path="Contracts.PossibleContracts[n].Contract" type="string" required>
  Contract name from the contracts.lua file
</ParamField>

<ParamField path="Contracts.PossibleContracts[n].Type" type="string" required>
  Contract type: `"Break Objects"`, `"Littering"`, or `"Steal Objects"`
</ParamField>

<ParamField path="Contracts.PossibleContracts[n].PickupCoords" type="vector3" required>
  Position where the contract object spawns
</ParamField>

<ParamField path="Contracts.PossibleContracts[n].PickupRotation" type="vector3" required>
  Rotation of the contract object
</ParamField>

<ParamField path="Contracts.PossibleContracts[n].LitteredCoords" type="vector3">
  Position where littered items spawn (for `"Littering"` type)
</ParamField>

<ParamField path="Contracts.PossibleContracts[n].LitteredRotation" type="vector3">
  Rotation of littered items (for `"Littering"` type)
</ParamField>

**Example:**

```lua theme={null}
["Contracts"] = {
    ["ChanceOfSpawning"] = 100,
    ["PossibleContracts"] = {
        ["1"] = {
            ["Contract"] = "Trashcan",
            ["Type"] = "Littering",
            ["PickupCoords"] = vector3(-764.00, 321.12, 199.17),
            ["PickupRotation"] = vector3(0.0, 0.0, 343.53),
            ["LitteredCoords"] = vector3(-764.00, 321.12, 199.17),
            ["LitteredRotation"] = vector3(0.0, 0.0, 343.53)
        }
    }
}
```

## Creating Your Own Preset

When creating your own preset:

1. Start with the basic structure using `LoadHousePreset()`
2. Add the `ExitCoords` (required)
3. Use `/getoffset` command while inside the shell to get accurate coordinates for each item
4. Add any of the optional sections you want (Spots, Props, Cash, etc.)
5. For tenant detection zones, enable `Config.PolyTool` and use `/polycreate` command
6. Test in-game to ensure all coordinates and rotations are correct
7. Share your preset in the Discord Snippets channel for others to use!

<Info>
  **Pro Tip**: Use `/getoffset` for every single position in your preset. This ensures items spawn exactly where you want them inside the shell interior.
</Info>

### Using Development Commands

* **`/getoffset`**: Stand at the desired location inside the shell and run this command to get the offset coordinates
* **`/polycreate`**: Create detection zones around tenants by defining the area boundaries

See the [Commands](/resources/house-robbery-v2/commands) page for detailed command usage and examples.

## Complete Example

Here's a full example preset with all possible sections:

```lua theme={null}
LoadHousePreset("Shells", "example", {
    ["ExitCoords"] = vector4(-779.21, 339.86, 196.69, 177.92),
    ["Spots"] = {
        ["1"] = {
            ["Type"] = "drawer",
            ["Coords"] = vector3(-771.69, 335.96, 195.94),
            ["Icon"] = 'fas fa-search',
            ["Label"] = "Search drawer",
            ["Animation"] = {Dict = "amb@prop_human_bum_shopping_cart@male@idle_a", Anim = "idle_c"},
        },
        ["2"] = {
            ["Type"] = "cabinet",
            ["Coords"] = vector3(-771.69, 337.52, 195.97),
            ["Icon"] = 'fas fa-search',
            ["Label"] = "Search cabinet",
            ["Animation"] = {Dict = "amb@prop_human_bum_shopping_cart@male@idle_a", Anim = "idle_c"},
        },
        ["3"] = {
            ["Type"] = "kitchen",
            ["Coords"] = vector3(-779.37, 325.99, 195.92),
            ["Icon"] = 'fas fa-search',
            ["Label"] = "Search kitchen",
            ["Animation"] = {Dict = "anim@amb@clubhouse@tutorial@bkr_tut_ig3@", Anim = "machinic_loop_mechandplayer"},
        },
        ["4"] = {
            ["Type"] = "cabinet",
            ["Coords"] = vector3(-770.91, 321.59, 195.70),
            ["Icon"] = 'fas fa-search',
            ["Label"] = "Search cabinet",
            ["Animation"] = {Dict = "anim@amb@clubhouse@tutorial@bkr_tut_ig3@", Anim = "machinic_loop_mechandplayer"},
        },
        ["5"] = {
            ["Type"] = "drawer",
            ["Coords"] = vector3(-760.55, 319.66, 199.29),
            ["Icon"] = 'fas fa-search',
            ["Label"] = "Search drawer",
            ["Animation"] = {Dict = "anim@amb@clubhouse@tutorial@bkr_tut_ig3@", Anim = "machinic_loop_mechandplayer"},
        },
    },
    ["Props"] = {
        ["1"] = {
            ["Reward"] = "x_plush",
            ["Exp"] = 5,
            ["Prop"] = "sum_prop_sum_arcade_plush_04a",
            ["Coords"] = vector3(-763.83, 322.41, 199.17),
            ["Rotation"] = vector3(0.0, 0.0, 95.0),
            ["Icon"] = 'fas fa-box-archive',
            ["Label"] = "Steal plushie",
            ["Animation"] = {Dict = "mini@repair", Anim = "fixing_a_player"},
        },
        ["2"] = {
            ["Reward"] = "x_toaster",
            ["Exp"] = 5,
            ["Prop"] = "prop_toaster_02",
            ["Coords"] = vector3(-779.56, 327.62, 196.04),
            ["Rotation"] = vector3(0.0, 0.0, 92.274),
            ["Icon"] = 'fas fa-box-archive',
            ["Label"] = "Steal toaster",
            ["Animation"] = {Dict = "random@train_tracks", Anim = "idle_e"},
        },
        ["3"] = {
            ["Reward"] = "laptop",
            ["Exp"] = 5,
            ["Prop"] = "reh_prop_reh_laptop_01a",
            ["Coords"] = vector3(-772.97, 328.25, 195.91),
            ["Rotation"] = vector3(0.0, 0.0, 227.85),
            ["Icon"] = 'fas fa-box-archive',
            ["Label"] = "Steal laptop",
            ["Animation"] = {Dict = "random@train_tracks", Anim = "idle_e"},
        },
        ["4"] = {
            ["Reward"] = "x_printer",
            ["Exp"] = 5,
            ["Prop"] = "v_res_printer",
            ["Coords"] = vector3(-762.69, 329.43, 195.81),
            ["Rotation"] = vector3(0.0, 0.0, 179.527),
            ["Icon"] = 'fas fa-box-archive',
            ["Label"] = "Steal printer",
            ["Animation"] = {Dict = "mini@repair", Anim = "fixing_a_player"},
        },
    },
    ["Cash"] = {
        ["1"] = {
            ['Cash'] = true,
            ['CashItem'] = "markedbills",
            ['Amount'] = {min = 25, max = 100},
            ['MetaData'] = false,
            ["Exp"] = 5,
            ["Prop"] = "prop_ld_purse_01",
            ["Coords"] = vector3(-761.16, 327.84, 199.30),
            ["Rotation"] = vector3(86.389, -4.940, 35.907),
            ["Icon"] = 'fas fa-money-bill-wave',
            ["Label"] = "Steal Cash",
            ["Animation"] = {Dict = "mini@repair", Anim = "fixing_a_player"},
        },
        ["2"] = {
            ['Cash'] = true,
            ['CashItem'] = "markedbills",
            ['Amount'] = {min = 25, max = 100},
            ['MetaData'] = false,
            ["Exp"] = 5,
            ["Prop"] = "prop_ld_wallet_pickup",
            ["Coords"] = vector3(-771.40, 336.41, 196.15),
            ["Rotation"] = vector3(-91.413, -0.000, -107.493),
            ["Icon"] = 'fas fa-money-bill-wave',
            ["Label"] = "Steal Cash",
            ["Animation"] = {Dict = "mini@repair", Anim = "fixing_a_player"},
        },
    },
    ["Safe"] = {
        ["1"] = {
            ["Exp"] = 10,
            ["Coords"] = vector3(-763.27, 331.14, 199.49),
            ["Rotation"] = vector3(0.0, 0.0, -0.67),
            ["Icon"] = 'fab fa-keycdn',
            ["Label"] = "Unlock Safe"
        },
    },
    ["Painting"] = {
        ["1"] = {
            ["Reward"] = "x_painting",
            ["Exp"] = 10,
            ["Coords"] = vector3(-769.91, 324.92, 199.63),
            ["Rotation"] = vec3(0.00, -0.00, 88.01),
            ["AnimRotation"] = vec3(0.00, -0.00, 90.10),
            ["AnimPosition"] = vector3(-769.48, 324.99, 199.49),
            ["Prop"] = "ch_prop_vault_painting_01g",
            ["Icon"] = 'fas fa-paintbrush',
            ["Label"] = "Steal Painting"
        },
        ["2"] = {
            ["Reward"] = "x_painting",
            ["Exp"] = 10,
            ["Coords"] = vector3(-766.74, 315.87, 196.0),
            ["Rotation"] = vec3(0.00, -0.00, 268.63),
            ["AnimRotation"] = vec3(0.00, -0.00, -90.87),
            ["AnimPosition"] = vector3(-767.25, 316.22, 195.79),
            ["Prop"] = "h4_prop_h4_painting_01c",
            ["Icon"] = 'fas fa-paintbrush',
            ["Label"] = "Steal Painting"
        },
    },
    ["Display"] = {
        ["1"] = {
            ["Reward"] = "x_goldenknife",
            ["Exp"] = 10,
            ["DisplayCoords"] = vector3(-761.311, 332.210, 196.090),
            ["DisplayHeading"] = 269.22,
            ["Prop"] = "w_me_knife_xm3_08",
            ["PropCoords"] = vector3(-761.311, 332.210, 196.090),
            ["PropHeading"] = 269.22,
            ["RemoveStand"] = true,
            ["Icon"] = 'fas fa-gem',
            ["Label"] = "Break Glass"
        },
    },
    ["HighValueItems"] = {
        ["1"] = {
            ["Reward"] = "emerald_necklace",
            ["Exp"] = 5,
            ["Prop"] = "sf_prop_sf_necklace_01a",
            ["Coords"] = vector3(-765.17, 328.56, 199.35),
            ["Rotation"] = vector3(0.0, 0.0, 43.255),
            ["Icon"] = 'fas fa-box-archive',
            ["Label"] = "Steal necklace",
            ["Animation"] = {Dict = "anim@amb@carmeet@checkout_car@female_d@base", Anim = "base"},
        },
    },
    ["Tenants"] = {
        {
            ["Coords"] = vector4(-774.9, 318.97, 195.89, 91.18),
            ["Model"] = "s_m_m_strpreach_01",
            ["Animation"] = {Dict = "timetable@ron@ig_3_couch", Anim = "base"},
            ["Detection"] = {
                ["Enable"] = true,
                ["ZoneCoords"] = {vec(-773.58, 313.86, 195.89), vec(-773.48, 323.12, 195.89), vec(-780.63, 322.83, 195.89), vec(-780.67, 313.86, 195.89)},
                ["ZoneHeight"] = 4.0,
            },
        },
        {
            ["Coords"] = vector4(-762.72, 321.76, 200.06, 269.09),
            ["Model"] = "s_f_y_hooker_01",
            ["Animation"] = {Dict = "timetable@tracy@sleep@", Anim = "idle_c"},
            ["Detection"] = {
                ["Enable"] = false,
                ["ZoneCoords"] = {},
                ["ZoneHeight"] = 0.0,
            },
        },
    },
    ["Pets"] = {
        {["Coords"] = vector4(-777.54, 321.39, 195.89, 280.85), ["Model"] = "a_c_chop", ["Animation"] = {Dict = "creatures@rottweiler@amb@sleep_in_kennel@", Anim = "sleep_in_kennel"}},
    },
    ["Laser"] = {
        ["LasersProp"] = {["Model"] = "ch_prop_fingerprint_scanner_01e", ["Coords"] = vector4(-767.87, 332.73, 196.30, 178.250), ["Label"] = "Turn off the lasers", ["Icon"] = "fas fa-barcode"},
        ["RequiredLaserItem"] = "x_device",
        ["LaserCoords"] = {
            {["Coords1"] = vector3(-766.6, 334.14, 195.09), ["Coords2"] = vector3(-766.6, 334.14, 197.09), ["Range"] = 5.0},
            {["Coords1"] = vector3(-766.67, 333.47, 195.09), ["Coords2"] = vector3(-766.67, 333.47, 197.09), ["Range"] = 5.0},
        },
    },
    ["Alarms"] = {
        ["AlarmProp"] = {Model = "v_res_tre_alarmbox", Coords = vector4(-767.25, 326.49, 199.69, 0.0), Label = "Disable Alarm", Icon = "fas fa-bell-slash"},
        ["RequiredItem"] = "x_device",
    },
    ["Contracts"] = {
        ["ChanceOfSpawning"] = 100,
        ["PossibleContracts"] = {
            ["1"] = {
                ["Contract"] = "Trashcan",
                ["Type"] = "Littering",
                ["PickupCoords"] = vector3(-764.00, 321.12, 199.17),
                ["PickupRotation"] = vector3(0.0, 0.0, 343.53),
                ["LitteredCoords"] = vector3(-764.00, 321.12, 199.17),
                ["LitteredRotation"] = vector3(0.0, 0.0, 343.53),
            },
        },
    }
})
```
