Analytics runs only if you accept. No names, codes or payment details are sent, and shopping works the same either way. Details: privacy and cookies.

  • Necessary Keeps your cart and this choice in your browser so the store works. We ask again after 12 months.
    Always on
  • Analytics (PostHog) Counts pages, clicks and store actions with your device type and rough location, and may record your visit with typed text hidden. Its cookie lasts 365 days. Data is stored in the EU.
    Off
  • Videos Product videos load from YouTube (Google) only when you press Play. YouTube may store data on your device. If you reject, Play opens the video on youtube.com in a new tab instead.
    When you press Play

With analytics on, the site keeps this visit's campaign source in this tab until you close it.

Change your choice any time with Cookie settings at the bottom of the page.

How to set up a FiveM house robbery script

Our Advanced House Robbery V2 (tk_houserobbery) supports ESX, QBCore and Qbox. To set it up, turn off the house robbery your server already runs, add the items, then set the police count and cooldowns in config.lua. In the script, players take a job at a phone booth, lockpick the door and rob one of four interiors from the game map.

Before you start

  • ESX, QBCore or Qbox. Qbox runs it through its QBCore support, with Config.Framework = 'qb'.
  • bl_ui and pd-safe for the default minigames. You can replace both in client/main_editable.lua.
  • Optional: ox_lib, ox_target or qb-target, and tk_dispatch or cd_dispatch.
  • No SQL file to import: README.txt has no database step.
  • The houses use interiors that already exist in the game map, set in Config.Houses. Shell interiors do not work with it, as our docs say.

Turn off the old house robbery

On a QBCore server made with the txAdmin recipe, qb-houserobbery sits in resources/[qb]/qb-houserobbery and starts with the ensure [qb] line in server.cfg.

  1. Stop the server.
  2. Move the qb-houserobbery folder out of resources/[qb] to a folder outside resources. It no longer starts. To roll back, move it back.
  3. On ESX or Qbox, remove the ensure or start line of any other house robbery resource you run, or move its folder out the same way.

Moving qb-houserobbery leaves the lockpick item in qb-core/shared/items.lua, and tk_houserobbery uses that item for doors and safes.

Install the resource

  1. Extract tk_houserobbery into your resources folder. The download, copy and escrow steps are in how to install FiveM scripts.

  2. In server.cfg, after your framework, inventory and target, and after ox_lib when Config.UseOxLib is true, add:

    ensure bl_ui
    ensure pd-safe
    ensure tk_houserobbery
    
  3. If you replace the default minigames, leave out the bl_ui and pd-safe lines.

Add the items

README.txt lists every item the script gives or uses, in an ox_inventory block and a qb-inventory block.

  1. With ox_inventory, which Qbox also uses, copy the Items (ox_inventory) block into ox_inventory/data/items.lua. ox_inventory already defines lockpick, so leave that entry out.
  2. With qb-inventory, copy the Items (qb-inventory) lines into qb-core/shared/items.lua, inside QBCore.Shared.Items. qb-core already defines lockpick and diamond, so leave those two out.
  3. With ESX’s own inventory, README.txt has no item rows. The script calls xPlayer.addInventoryItem and xPlayer.removeInventoryItem, so each item name in the ox_inventory block must exist as a row in ESX’s items table, the one es_extended.sql creates. Weapons, such as the switchblade, are given as weapons and need no row.
  4. Copy the PNG files from tk_houserobbery/images into your inventory’s image folder.
  5. In config.lua, point Config.ImagePath at that folder: 'nui://ox_inventory/web/images' (the default) or 'nui://qb-inventory/html/images'. The equipment shop and the loot buyer then show the item pictures.

Config.Items sets the tools: lockpick for doors and safes, cutter for the glass display and WEAPON_SWITCHBLADE for paintings. The equipment shop in Config.Shops sells all three.

Connect the framework and your resources

The Advanced House Robbery V2 page lists the supported inventories, targets and dispatch resources. In config.lua:

  1. Set Config.Framework to 'esx', or to 'qb' on QBCore and Qbox.
  2. Set Config.Inventory to 'ox' for ox_inventory or 'qs' for qs-inventory. Keep 'default' for qb-inventory or ESX’s own inventory: it uses the framework’s item functions.
  3. Set Config.Target to 'ox' or 'qb'. 'none' shows [E] prompts instead.
  4. Set Config.Dispatch to 'tk' for tk_dispatch or 'cd' for cd_dispatch. 'default' sends police a map blip, styled in Config.Blip.
  5. Set Config.NotificationType to 'esx', 'qb', 'ox' or 'mythic'.
  6. For ox_lib prompts, set Config.UseOxLib = true. For these prompts and for 'ox' notifications, remove the -- from --'@ox_lib/init.lua', in fxmanifest.lua.

The tk_dispatch and cd_dispatch alerts go to the police job only. If your police job has another name, change jobs = {'police'} and job_table = {'police'} in client/main_editable.lua.

Set police and cooldowns

  1. Set Config.PoliceRequired to the number of police needed online before a door can be lockpicked. The default is 0.
  2. In Config.PoliceJobs, list each police job with its lowest counting grade, such as police = 0. The count checks job and grade, not duty.
  3. Set Config.Cooldown.user, in milliseconds. The default 1000 * 60 * 30 is 30 minutes between jobs for one player; 0 turns it off.
  4. Set Config.Cooldown.house, also in milliseconds. The default 1000 * 60 * 120 keeps a robbed house closed for 2 hours.
  5. To allow robberies only at night, set Config.RobAtNightOnly = true.
  6. To skip the phone booths, set Config.UsePhoneBooths = false. Players then lockpick any door listed in Config.Entrances.

Alerts also come from failed lockpicks (Config.LockpickAlertChance.fail = 40, in percent) and from a woken homeowner (Config.NPC.alertChance = 50).

Check it works

Use a character without a police job: police skip the lockpick and cannot take jobs.

  1. Set Config.PoliceRequired = 1, restart the server with no police online, and put a lockpick in your inventory.
  2. At a phone booth, use “Use phone booth” and press “Accept Job”. The notification “GPS set to job location” appears with a waypoint.
  3. Try to lockpick the marked door. “Not enough police on duty” appears.
  4. Set Config.PoliceRequired back to your value and restart the server, which also clears the job cooldown. Take a job again and lockpick the door. The pd-safe minigame opens, and success lets you in.

The Advanced House Robbery V2 showcase on YouTube (1:35) shows the robbery in game.

If it fails

  • [WARNING] pd-safe resource not started. Skipping lockpick minigame. Install pd-safe or change minigame in client/main_editable.lua: doors and safes open with no minigame. Start pd-safe, or change DoDoorLockpickMinigame and DoSafeLockpickMinigame in client/main_editable.lua.
  • [WARNING] bl_ui resource not started. Skipping minigame. Install bl_ui or change minigame in client/main_editable.lua: the security panel hack is skipped. Start bl_ui, or change DoSecurityDisableMinigame.
  • “You need” followed by an amount and an item: the player lacks the tool, or the item is missing from your inventory’s item list.
  • “Not enough police on duty”: fewer players hold a job and grade from Config.PoliceJobs than Config.PoliceRequired.
  • A cooldown that ends almost at once: a value typed as minutes (30) is read as 30 milliseconds. Write 1000 * 60 * 30.
  • Item pictures missing in the shop or buyer screen: copy the PNG files and check Config.ImagePath.

The script in this guide

  • Break into houses past lasers and a noise meter, then carry out and sell the loot.

    Supports ESX, QBCore and Qbox

    Most used paid house robbery script on FiveM

    600+ servers (5Metrics, checked 11 October 2026)

    €14.99+ VAT at checkout, one-off

Server counts: 5Metrics, checked 11 October 2026. Detected servers running each script, rounded down.