ns-carthief
NullSect Car Thief for Qbox (QBCore and ESX through the bridge). Steal a vehicle the hands-on way: pick the door lock, then hotwire the ignition under the dash. Every result is decided by the server.
Features
- Lockpick: a front view of the door lock. Move the pick with the mouse and hold to turn the cylinder. It only turns all the way at the right angle; a wrong angle stresses the pick until it snaps. Harder vehicles have more pins and a narrower sweet spot. An advanced lockpick is used first and is more forgiving and more durable.
- Hotwire: in the driver seat without keys, press
G. Five steps under the dash:- unscrew the steering column cover,
- find the battery, ignition and starter wires on the wiring tag and cut them,
- strip the three ends at the right moment,
- twist battery and ignition together,
- touch the starter wire and let go the moment the engine catches.
- Alarm and police: a lockpick attempt can set the alarm off (horn and lights for everyone nearby). The police get an alert for the area, not the exact spot. The online owner of a player vehicle is told.
- Difficulty tiers:
easy,normal,hard,expert, chosen per vehicle class or model. Emergency vehicles and any model you list can never be stolen. - Progression: thief XP and levels, saved per character. Higher levels make both minigames slightly more forgiving.
- Server authority: the lockpick angles never leave the server, every hotwire step is checked against the server clock and the server counts the mistakes. Keys, unlocking, XP, alarms and item removal are server-only.
- Fits a Qbox server as it is: uses the existing
lockpick,advancedlockpickandscrewdriversetitems. Keys and door locks stay with qbx_vehiclekeys. Using a lockpick away from a vehicle is passed on, so house robbery keeps working. - Built in: art for the lock and the dash, wires drawn per vehicle, synthesised sounds (no audio files), local fonts, English and Turkish.
How it plays
| Situation | What happens |
|---|---|
| On foot next to a locked vehicle | target option Pick the lock on a door, or use a lockpick item |
| Driver seat, no keys, engine off | prompt [G] Hotwire (rebindable in GTA settings), or use a lockpick item |
| Lockpick started | the alarm may go off (chance per tier) |
| Lock opened | the doors unlock |
| Hotwire mistake | a wrong cut, a missed strip or a burnt starter; each can give an electric shock |
| Too many mistakes | the wires are ruined and the attempt fails; the tool may break |
| Hotwire done | you get the keys and the engine starts |
| Hotwired vehicle, later | it starts again without the minigame |
Commands
| Command | Who | What |
|---|---|---|
/carthiefreset <id> | admins, console | resets a player's thief progression |
/carthieftest <pick|wire> [tier] | admins, with Config.Debug = true | opens a minigame without a vehicle; never rewards |
Requirements
- oxmysql
- OneSync (the server reads vehicle and ped positions)
- Qbox (recommended), QBCore or ESX
- Optional: ox_lib, ox_target or qb-target, ox_inventory, qbx_vehiclekeys or qb-vehiclekeys, ps-dispatch, cd_dispatch, rcore_dispatch or core_dispatch (a built-in police alert is used otherwise)
Quick start
ensure oxmysql
ensure ox_lib
ensure qbx_core
ensure ox_target
ensure [qbx]
ensure ns-carthief # after [qbx], so the lockpick item take-over registers last
add_ace group.admin ns-carthief.admin allow
Tables are created on the first start. See INSTALLATION.md and CONFIGURATION.md.