BJ Hause Robbery 2.0
A house-robbery heist script for FiveM ESX Legacy, built on `ox_lib` and `ox_target`. Players buy a recon contract on a district, lockpick their way into a randomly rolled house, disarm an alarm before the timer/noise runs out, loot furniture stashes, and sell the loot online (via a custom NUI "hacking laptop") or in person at a pawnshop.
Features
District-based contracts — players buy a locating fee for a district (e.g. Mirror Park, Vespucci Canals, Davis); the server rolls a random house/tier/location within it once purchased.
Leveling system — players level up by fully looting houses, unlocking higher-tier (better paying, harder) districts. Levels and completed-house counts are stored server-side in MySQL, so progress survives client rejoins and server restarts.
Custom minigames — lockpicking (rotating needle/target) to break in, and a maze minigame to disarm the alarm, both rendered in NUI.
Alarm & noise system — noise builds up while moving/sprinting inside the house; a countdown timer forces the alarm to trigger if not disarmed in time. A triggered alarm calls the police via a configurable dispatch integration.
Custom "hacking laptop" NUI** — a fake OS/desktop UI (target planner, dark-web market to sell loot online, level/progress window, system diagnostics) opened either handheld or by placing a physical laptop prop on the ground.
Pawnshop — sell stolen goods in person to an NPC fence for cash, including a "Sell All" button.
Stash minigames — drawers, wardrobes and safes each have their own interactive NUI animation before loot can be taken.
Installation
1. Copy the `bj_house` folder into your server's `resources` directory.
2. Add the required items to your `ox_inventory` items data (`data/items.lua`) using `!!install!!/items.txt` as a reference — it lists every stealable item (label, weight, stack, description). The item images used by the NUI/inventory are provided in `!!install!!/images/` and `nui/images/`.
3. Make sure the following items already exist in your inventory (they aren't new, just referenced by this script): `lockpick`, `weapon_pistol`, `weapon_knife`, `ammo-9`.
4. Add `ensure bj_house` to your `server.cfg`, **after** `es_extended`, `ox_lib`, `ox_target`, `ox_inventory` and `oxmysql`.
5. Start the server. On first start the resource automatically creates the `bj_house_players` MySQL table (used for the leveling system) — no manual SQL import needed.
6. (Optional) Set up a Discord webhook for heist logs in `editable/webhook.lua` (`Webhook.Url`).
Dependencies
- ox_lib
- oxmysql