Scripts
Chopshop
Take a contract, steal the right cars, and strip them to the frame piece by piece.
- Requires
- ox_lib
- Frameworks
- ox, qb, qbx & esx
- Target & inventory
- ox or qb target; ox, qb or ps inventory; or your own
#Install
#Install dependencies
Install (or update)
ox_lib, and start it before this script in yourserver.cfg.#Pick your target, progress bar and notify
Set
interactioninconfigs/cl_config.luato'ox'or'qb'. That one setting covers target, progress bar and notifications. Using something else? Set it to'custom'and make your own inutils/cl_utils.lua.The inventory goes through
bridge/inventory.#Add the items
Copy the items below into your inventory, and add images for them (items.rainmad.com/ has plenty). Several items share an image, as you can see in the list.
Paste these into
ox_inventory/data/items.lua:lua['chop_easy_contract'] = { label = 'Easy Chop Contract', weight = 100, stack = false, close = false, description = 'A contract for an easy chop job.', client = { image = 'chop_contract.png' } }, ['chop_easy_cert'] = { label = 'Easy Chop Certificate', weight = 100, stack = false, close = false, description = 'A certificate for completing an easy chop job.', client = { image = 'chop_cert.png' } }, ['chop_medium_contract'] = { label = 'Medium Chop Contract', weight = 100, stack = false, close = false, description = 'A contract for a medium difficulty chop job.', client = { image = 'chop_contract.png' } }, ['chop_medium_cert'] = { label = 'Medium Chop Certificate', weight = 100, stack = false, close = false, description = 'A certificate for completing a medium difficulty chop job.', client = { image = 'chop_cert.png' } }, ['chop_hard_contract'] = { label = 'Hard Chop Contract', weight = 100, stack = false, close = false, description = 'A contract for a hard chop job.', client = { image = 'chop_contract.png' } }, ['chop_hard_cert'] = { label = 'Hard Chop Certificate', weight = 100, stack = false, close = false, description = 'A certificate for completing a hard chop job.', client = { image = 'chop_cert.png' } }, ['chop_door'] = { label = 'Vehicle Door', weight = 1000, stack = false, close = false, description = 'A removed vehicle door.', client = { image = 'vehicle_door.png' } }, ['chop_hood'] = { label = 'Vehicle Hood', weight = 1000, stack = false, close = false, description = 'A removed vehicle hood.', client = { image = 'vehicle_hood.png' } }, ['chop_trunk'] = { label = 'Vehicle Trunk', weight = 1000, stack = false, close = false, description = 'A removed vehicle trunk lid.', client = { image = 'vehicle_trunk.png' } }, ['chop_tire'] = { label = 'Vehicle Tire', weight = 1000, stack = false, close = false, description = 'A removed vehicle tire.', client = { image = 'vehicle_wheel.png' } },Paste these into
qb-core/shared/items.lua:lua['chop_easy_contract'] = { name = 'chop_easy_contract', label = 'Easy Chop Contract', weight = 100, type = 'item', image = 'chop_contract.png', unique = true, useable = false, shouldClose = false, description = 'A contract for an easy chop job.' }, ['chop_easy_cert'] = { name = 'chop_easy_cert', label = 'Easy Chop Certificate', weight = 100, type = 'item', image = 'chop_cert.png', unique = true, useable = false, shouldClose = false, description = 'A certificate for completing an easy chop job.' }, ['chop_medium_contract'] = { name = 'chop_medium_contract', label = 'Medium Chop Contract', weight = 100, type = 'item', image = 'chop_contract.png', unique = true, useable = false, shouldClose = false, description = 'A contract for a medium difficulty chop job.' }, ['chop_medium_cert'] = { name = 'chop_medium_cert', label = 'Medium Chop Certificate', weight = 100, type = 'item', image = 'chop_cert.png', unique = true, useable = false, shouldClose = false, description = 'A certificate for completing a medium difficulty chop job.' }, ['chop_hard_contract'] = { name = 'chop_hard_contract', label = 'Hard Chop Contract', weight = 100, type = 'item', image = 'chop_contract.png', unique = true, useable = false, shouldClose = false, description = 'A contract for a hard chop job.' }, ['chop_hard_cert'] = { name = 'chop_hard_cert', label = 'Hard Chop Certificate', weight = 100, type = 'item', image = 'chop_cert.png', unique = true, useable = false, shouldClose = false, description = 'A certificate for completing a hard chop job.' }, ['chop_door'] = { name = 'chop_door', label = 'Vehicle Door', weight = 1000, type = 'item', image = 'vehicle_door.png', unique = true, useable = false, shouldClose = false, description = 'A removed vehicle door.' }, ['chop_hood'] = { name = 'chop_hood', label = 'Vehicle Hood', weight = 1000, type = 'item', image = 'vehicle_hood.png', unique = true, useable = false, shouldClose = false, description = 'A removed vehicle hood.' }, ['chop_trunk'] = { name = 'chop_trunk', label = 'Vehicle Trunk', weight = 1000, type = 'item', image = 'vehicle_trunk.png', unique = true, useable = false, shouldClose = false, description = 'A removed vehicle trunk lid.' }, ['chop_tire'] = { name = 'chop_tire', label = 'Vehicle Tire', weight = 1000, type = 'item', image = 'vehicle_wheel.png', unique = true, useable = false, shouldClose = false, description = 'A removed vehicle tire.' },#Start the script
- Put the
l3th-chopshopfolder in your resources folder - Add
ensure l3th-chopshopto yourserver.cfg, after its dependencies - Restart the server
- Put the
#Configuration
configs/cl_config.lua has the NPC, the chop spots and the contract items. configs/sv_config.lua has the stash size, how many cars each contract asks for, the cash reward per contract, and which cars can show up.
#Need help?
Most issues come from a missing dependency or the wrong start order in server.cfg, so run through the steps once more first. Still stuck? See Common problems or open a ticket on Discord.