Catalytic Converter Robbery
A complete catalytic converter theft job for your server.
Built for ESX, QBCore and Qbox, with or without ox_inventory, and it detects all of it automatically on start.
The cutting minigame
Using the grinder opens a progress bar while your character searches under the car, then a fullscreen minigame takes over:
- Hold the grinder against one of the two marked edges of the exhaust section and keep moving the mouse up and down a real sawing motion, not just resting the cursor on the target.
- Both sides have to be cut through before the piece drops out.
- A heat bar fills while the grinder is on the metal and cools while it is not, so the cut has to be done in bursts. Let it overheat and the cut fails and the car alarm goes off.
- Escape cancels at any time, and cancelling costs the player nothing.
Three difficulty presets (easy / medium / hard, or random per attempt) change how long each side takes, how large the cutting zones are, and how quickly the grinder heats up and cools down so you can tune it from a quick side job to a genuinely demanding one.
The grinding sound is generated in browser out of the box, and you can drop in your own audio file instead if you want a specific grinder sound.
Tools that wear out
The angle grinder is not eaten by a single cut. Every cut takes a configurable slice off the durability of the most worn grinder the player is carrying, so one tool gets used up before the next one is started the whole stack does not wear down evenly.
- Real durability stored in item metadata on ox_inventory (with ox's own durability bar) and on qb-inventory.
- On ESX's own inventory, which cannot store per item data, each cut has an equivalent chance to break the tool outright instead so the same number of cuts per grinder either way.
- Want the classic one cut per grinder? Set the loss per cut to 100.
- A worn out grinder can either break or stay in the inventory at 0 for a repair script to restore, and it is refused before the minigame starts so nobody gets sent through the whole thing for nothing.
Payouts you can actually shape
Money and items are one single payout list per sellable item, so the buyer can hand over cash, bank, black money, an item, or any mix of them just by adding lines to the config.
- Amounts are a fixed number or a min/max range, and the range is rolled per converter sold on the server, so selling five is five separate rolls instead of one price times five.
- Each money entry picks its own account, so one buyer can pay in marked bills and the next straight into the bank. Custom account names are passed through to your framework untouched.
- Carrying room is checked before anything is taken, and if a payout still fails halfway through, everything already handed over is taken back and the converters are returned a full inventory can never eat a sale.
- As many buyer locations as you like, each with its own ped, coordinates, optional blip and its own item and payout list.
Police dispatch
A successful cut raises a police alert through whichever dispatch resource you run ps-dispatch, cd_dispatch, qs-dispatch or core_dispatch detected automatically, or turned off entirely with one setting. The alert's title, message, code, icon, priority, duration and which job(s) receive it are all in the config, so retheming it never means touching the code.
Written to be safe on a live server
Nothing is granted client side. The item, the money and every state change go through server events that revalidate the entity, the vehicle blacklist, the player's distance, the tool in their hands and the cooldowns the minigame cannot be used to hand out rewards on its own. Per player action cooldowns, a per cut cooldown and a rolling cuts per period cap are all configurable, and buyer peds, blips and particle effects are cleaned up properly when the resource stops.
Also included
- Vehicles lose engine health when cut and drive around smoking with a broken exhaust note until they are repaired.
- Optional command alongside the usable item, plus a standalone mode.
- Every notification goes through ox_lib, on every framework.
- One editable file per framework, all sharing the same interface adding support for a custom core is a single file and one config line.
- Fully editable config, locale file for translations, and open, unencrypted source.
Requirements
- ox_lib (required)
- ox_target or qb-target (required for the buyer ped interaction)
- ESX, QBCore or Qbox or standalone
- ox_inventory optional; the framework's own inventory works fine
- A dispatch resource is optional
Installation
Drop it in, add the two items to your inventory (SQL file for ESX, copy paste instructions for QBCore and ox_inventory included), copy the two item images over, and start it. Framework, inventory, target and dispatch detection are all automatic, and the console prints exactly what it detected on boot.
