lation scripts
scriptsmembershipdocs
see the scripts
Skip to Content
lation ui
lation interact
lation banking
lation shops
lation jobs
lation weed
lation chop shop
Admin panelContracts and choppingConfigurationDevelopersChangelog

classics

money laundering
drug sales
coke processing
meth crafting
metal detecting
scuba diving
lation chop shop

Configuration

Every lation chop shop option in /chopadmin > Config, with its config key, default value, limits and what it changes.

lation chop shop has no Lua config file. Every option lives in the database (the lation_chopshop_config table, one row per section) and is changed in game under /chopadmin > Config, where a save reaches the server and every player at once. The panel itself is covered on the admin panel page.

On the first start, each section is seeded from lua/shared/defaults.lua, and the defaults on this page are what that file holds. After that, editing the file changes nothing on your server except what a reset puts back.

The sections below follow the Config page, and each lists its options in the order of its cards. The key is the option's path in an export, for example contracts.allowCancel, and the shape GetRuntimeConfig returns. Options marked restart apply after lation_chopshop restarts; everything else applies as it saves.

Setup

Four cards: General, Integrations, Jobs and Chop menu.

OptionKeyDefaultNotes
Version checksetup.versionOnrestart. Checks for a newer release on start and prints a notice in the server console.
Interaction systemsetup.interactautorestart. auto picks lation_interact, ox_target or qb-target, the first one running in that order. Also any of them by name, or custom.
Notification systemsetup.notifyox_libAlso lation_ui, esx, qb, okok, wasabi_notify or custom. It must match a notification resource running on the server.
Progress barsetup.progressox_libAlso lation_ui, qbcore or custom. A custom bar must support animations.
Context menusetup.menuox_libAlso lation_ui or custom. Used for the broker menu and both shops.
Dialogssetup.dialogsox_libAlso lation_ui or custom. Used for the quantity prompt in the shops.
Police jobssetup.policepolice, sheriffJob names that count toward Police required. On QBCore and Qbox only on-duty players count. Up to 20.
Blacklisted jobssetup.blacklistedJobsexamplejob1, examplejob2Players with these jobs can't open the broker menu, take contracts or chop, and don't see the blips. Up to 50.
Show vehicles choppedsetup.stats.vehiclesOnThe player's lifetime vehicle count under Statistics in the broker menu.
Show parts choppedsetup.stats.partsOnThe player's lifetime part count under Statistics. With both off, Statistics is hidden.
Show leaderboardsetup.leaderboardOnThe top 10 players by XP in the broker menu.

A player whose job changes to or from a blacklisted one sees the blips go or come back at once.

The custom options do nothing until you add your code: interaction in lua/client/utils/interact.lua, everything else in lua/client/utils/ui.lua.

Start

Five cards: Broker, Opening hours, Police, Vehicles and Map blip. The broker ped is where players take contracts and use the shops.

OptionKeyDefaultNotes
Start locationsstart.pedsOne, at -169.0171, -1352.3877, 29.9817, heading 91.8764Each location spawns its own broker ped and blip. Up to 20, each on a page of its own with the three below.
Wherestart.peds[n].coordsx, y, z and the heading the ped faces.
Ped modelstart.peds[n].modela_m_m_bevhills_01Picked from a list of ped models, or typed.
Scenariostart.peds[n].scenarioWORLD_HUMAN_CLIPBOARDWhat the ped stands doing, from a list or typed. Empty for none.
Rotate locationsstart.randomPedOffWith several locations, the server picks one and every player sees the same one. The pick holds until the resource restarts, so the broker moves between restarts.
Open fromstart.hours.min0 h0 to 23. The earliest in-game hour the broker is there.
Open untilstart.hours.max24 h0 to 24. The broker is there from Open from up to, not including, Open until. If Open from is later, the window runs overnight.
Police requiredstart.police00 to 50. Police on duty needed before a player can take a contract.
Allow owned vehiclesstart.allowOwnedOnOff, a car whose plate is in the owned vehicles table can't be chopped, whoever owns it.
Delete owned vehiclesstart.deleteOwnedOffSee below. Greyed out while Allow owned vehicles is off.
Blacklisted modelsstart.blacklistedModelsNoneSpawn names, such as adder or police3, in any case. Up to 100. See below.
Map blipstart.blip.enableOnA blip at each active location.
Blip spritestart.blip.sprite2251 to 957. The blip's icon id.
Blip colorstart.blip.color20 to 85. The blip's color id.
Blip scalestart.blip.scale0.90.1 to 5.
Blip labelstart.blip.labelChop ShopThe name on the map.

The ped spawns when a player comes within 100 meters during its hours. A change to the locations, their peds or the blip moves, adds or removes the peds and blips for everyone at once.

With Allow owned vehicles off, the plate is checked on the server when a chop starts, against owned_vehicles (ESX) or player_vehicles (QBCore and Qbox), as the game reads it and trimmed. A plate's answer is kept for a minute.

A car of a blacklisted model is never chopped or counted toward a contract. Start chopping still shows on one whose class matches, and picking it tells the player the shop won't take the model; a contract holder who takes the wheel of one hears it then. Blacklisting a model while one is being chopped lets that car go: nothing more comes off it, its stands can still be taken off, and the contract is free for another car.

The Start section's Vehicles card: Allow owned vehicles on, Delete owned vehicles off with its warning sign, and Blacklisted models empty
Vehicles

With Delete owned vehicles on, when the last part comes off a car owned by the player who removed it, its row is deleted from owned_vehicles (ESX) or player_vehicles (QBCore and Qbox). A copy of the row is first appended as an INSERT to lua/server/database/deleted_vehicles.sql. This can't be undone from the panel.

Contracts

Three cards: General, Bonus payout, and Tiers and classes.

OptionKeyDefaultNotes
Contract itemcontracts.itemls_chop_contractItem handed out with each contract. Using it opens the contract.
Completion cooldowncontracts.completionCooldown0 min0 to 1440. Minutes a player waits for a new contract after finishing or cancelling one. 0 turns it off. Lowering it shortens the waits already running.
Allow cancellingcontracts.allowCancelOnA Cancel contract button on the contract. Without a cooldown, players can cancel to reroll for a better tier.
Highest tier onlycontracts.highestTierOnlyOffOn, contracts only come from the highest tier the player has reached. Off, any tier at or below their level can come up.
Remove the vehicle when finishedcontracts.despawnVehicleOffDeletes the stripped shell 3 seconds after its jack stands come off, unless someone is sitting in it. Off, the shell is left behind.
Bonus payout accountcontracts.accountCash (cash)Cash, Bank or Item. With an item name, the bonus is paid as that many of the item.
Allowed vehicle classescontracts.allowedClasses0 to 7The classes contracts can ask for. Tiers pick their classes from this list. A contract already out keeps its class until it is finished or runs out.
Contract tierscontracts.tiersFive, belowUp to 20, each on a page of its own.
The Contracts section: its General card, with the completion cooldown changed to 15 minutes and marked as changed, then Bonus payout on Cash, and the allowed vehicle classes, Compacts to Super picked
Contracts

Tiers

Each tier is one kind of contract. When a player asks for a contract, the script finds every tier with a minimum level at or below theirs that still has an allowed class, picks one at random with equal odds, then picks one of its classes at random.

FieldKeyNotes
LabellabelThe name on the contract. Up to 40 characters.
Minimum levelminLevel1 to 100. The level needed to be offered this tier.
Vehicle classesvehicleClassesPicked from the allowed classes. A tier with none of them is never issued.
Time limitdurationSecondsTime to finish the whole car for the bonus. The panel sets it in minutes, 1 to 1440.
BonuscashBonus0 to 10,000,000. Paid in the payout account when the car is finished in time.
The Muscle tier's page: label Muscle, minimum level 3, the Muscle class picked among the allowed ones, a 90 minute time limit and a 1000 bonus, then the Danger zone with Remove
A tier

Tiers are stored under contracts.tiers.<key>. Add asks for the key: lowercase letters, digits, underscores and dashes. The defaults:

KeyLabelMin levelClassesTime limitBonus
streetStreet1Compacts, Sedans, Coupes60 min500
suvSUV2SUVs75 min750
muscleMuscle3Muscle90 min1,000
sportsSports4Sports Classics, Sports105 min1,500
superSuper5Super120 min2,500

Vehicle class ids

These are GTA's vehicle classes, used in allowedClasses and vehicleClasses.

IdClassIdClass
0Compacts12Vans
1Sedans13Cycles
2SUVs14Boats
3Coupes15Helicopters
4Muscle16Planes
5Sports Classics17Service
6Sports18Emergency
7Super19Military
8Motorcycles20Commercial
9Off-Road21Trains
10Industrial22Open Wheel
11Utility

Locations

By default players can chop anywhere. Turn on the restriction to limit chopping to set areas. Two cards: Zones and Map blips.

OptionKeyDefaultNotes
Restrict chop locationslocations.enabledOffOn, starting a chop, placing or removing stands and removing parts only work within the chop radius of a listed point.
Chop radiuslocations.radius25 m1 to 500. Greyed out until the restriction is on.
Chop locationslocations.coordsNoneThe points, as x, y, z. Up to 50. Greyed out until the restriction is on.
Map bliplocations.blips.enableOffA blip at each point.
Blip spritelocations.blips.sprite2251 to 957.
Blip colorlocations.blips.color10 to 85. Also the color of the drawn zone.
Blip scalelocations.blips.scale0.90.1 to 5.
Blip labellocations.blips.labelChop LocationThe name on the map.
Draw the zonelocations.blips.zoneOnThe radius as a filled circle on the map, next to the pin.
Contract holders onlylocations.blips.contractOnlyOnOnly players holding a contract see these blips.

Location blips only show while Restrict chop locations is on.

Items

Three cards: Tools, Salvaged parts, and Jack stands and drill.

OptionKeyDefaultNotes
Impact drill itemitems.impact_drill.itemls_impact_drillItem players use to take out the drill.
Require the impact drillitems.impact_drill.requireOnPlayers must carry the drill to remove parts.
Break chanceitems.impact_drill.break_chance10%0 to 100. The chance the drill breaks after a part comes off. A broken drill is removed from the inventory. 0 never breaks it.
Car jack itemitems.car_jack.itemls_car_jackItem players use to place jack stands.
Stands use up jacksitems.car_jack.requireOnEach stand takes a car jack, given back to whoever placed it when the stands come off. Off, a jack in hand places every stand and none is used up.
Salvaged wheelitems.parts.wheells_salvaged_wheelGiven for each wheel. All four wheels share it.
Salvaged dooritems.parts.doorls_salvaged_doorGiven for each door. All four doors share it.
Salvaged batteryitems.parts.batteryls_salvaged_batteryGiven for the battery.
Salvaged radiatoritems.parts.radiatorls_salvaged_radiatorGiven for the radiator.
Salvaged alternatoritems.parts.alternatorls_salvaged_alternatorGiven for the alternator.
Salvaged ECUitems.parts.eculs_salvaged_ecuGiven for the ECU.
Salvaged turbochargeritems.parts.turbols_salvaged_turboGiven for the turbocharger.
Stand propitems.prep.standModelimp_prop_axel_stand_01aProp used for the jack stands.
Drill propitems.prep.drillPropsf_prop_impact_driver_01aProp for the impact drill, in the player's hand and in the wheel and door minigames.
Stands requireditems.prep.cornersRequired41 to 4. Stands needed before the car goes up.
Stand inboard offsetitems.prep.standInboardOffset0.38 m0 to 5. How far each stand sits from the wheel toward the middle of the car.
Stand longitudinal offsetitems.prep.standLongitudinalOffset0.2 m0 to 5. How far each stand sits forward or back along the car.
The Items section's Tools card: the impact drill item, Require the impact drill on, a 10% break chance, the car jack item, and Stands use up jacks on
Tools

If you rename an item here, the new name works straight away and the old one stops doing anything, but the new one still has to exist in your inventory.

Minigames

Five cards: Wheels, Doors, Torque spin, Connector unclip and Rapid tap.

OptionKeyDefaultNotes
Lug nut holdminigame.wheel.lugHoldMs2150 ms100 to 10000. How long to hold each lug nut. Every wheel has five.
Impact drill audiominigame.wheel.audioEnabledOnPlays the drill sound while holding a lug nut or hinge bolt.
Hinge bolts per doorminigame.door.boltCount41 to 8. Bolts to drill out before a door drops.
Hinge bolt holdminigame.door.boltHoldMs2150 ms800 to 10000. How long to hold each hinge bolt.
Torque rotationsminigame.torque.rotationsRequired41 to 20. Full circles of the mouse to spin a bolt loose.
Torque decayminigame.torque.decayPerSec20 to 100. Rotations of progress lost per second while not spinning.
Torque minimum speedminigame.torque.minSpeed40 to 50. Below this spin speed the bolt slips and progress barely moves.
Torque full speedminigame.torque.fullSpeed121 to 100. The spin speed where progress counts in full.
Connector flashminigame.connector.flashMs450 ms100 to 3000. How long each clip lights up while the player memorizes the order.
Tap fill amountminigame.tap.progressRequired10010 to 1000. Progress the bar needs before the clamp or line lets go.
Tap decayminigame.tap.decayPerSec300 to 500. Progress lost per second while not clicking fast enough.
Tap minimum rateminigame.tap.minCps20 to 30. Clicks per second needed before progress counts.
Tap full rateminigame.tap.fullCps4.50.5 to 60. The click rate where each click counts in full.

The torque and tap rates take steps of 0.5. The server refuses a part claimed less than 1.5 seconds after it was started. If the number of fasteners times the hold time would come in under about 1.7 seconds, the hold time is raised automatically so honest players are never refused.

Experience

Level ladder lists the total XP needed to reach each level, up to 50 levels. XP per part is the range a player gets for each part, rolled between the least and the most for the level they are at when it comes off.

LevelTotal XPXP per part
1025 to 35
25,00035 to 50
310,00050 to 75
425,00075 to 100
575,000100 to 150

Keys are experience.levels.<level> and experience.rewards.<level>.xp.min / .max. Level 1 is the start and stays at 0. Add a level adds one on top and Remove the top level takes the highest away, so the highest level is the number of levels. Doors pay half the rolled XP, since a car has four of them.

A change to the ladder applies to every player: those online move to the level their XP reaches (a player it lifts is told), and the stored levels the leaderboard reads are updated.

Shops

The broker has two built-in shops, in two cards: Tool shop and Swap shop. A player must be within 15 meters of an active broker to buy or swap, and an entry with a level above 0 needs at least that level.

The section opens with a short pitch for lation shops, for anything more than these two. Dismissing it folds it into a Shops chip in the panel's header, which brings it back. Neither shows on a server that has lation_shops installed.

Tool shop

OptionKeyDefaultNotes
Tool shopshops.tool.enableOnThe Tool Shop in the broker menu.
Tool shop accountshops.tool.accountCash (cash)What tools are paid with: cash, bank or an item name used as currency.
Tools for saleshops.tool.itemsTwo, belowUp to 50. Each has item, price (0 to 10,000,000), level (0 to 100; 0 is anyone) and icon (Font Awesome).
ItemPriceLevelIcon
ls_impact_drill1,5000screwdriver-wrench
ls_car_jack7500car

Swap shop

Players turn salvaged parts in for cash, an item, or both.

OptionKeyDefaultNotes
Swap shopshops.swap.enableOnThe Swap Shop in the broker menu.
Swap shop accountshops.swap.accountCash (cash)Where cash payouts go: cash, bank or an item name.
Swapsshops.swap.itemsSeven, belowUp to 50, each on a page of its own: item (the part turned in), amount (1 to 1000 per swap), payout (0 to 10,000,000), rewardItem and rewardAmount (0 to 1000), level (0 to 100) and icon.
PartQtyPayoutIcon
ls_salvaged_wheel1150life-ring
ls_salvaged_battery1200car-battery
ls_salvaged_radiator1180fan
ls_salvaged_alternator1220bolt
ls_salvaged_ecu1300microchip
ls_salvaged_turbo1350wind
ls_salvaged_door1100door-open

Set payout to 0 for an item-only trade. A swap with no payout and no reward item is refused, so players never lose parts for nothing.

Logging

Three cards: Service, Events and Discord. The keys start with logs.

OptionKeyDefaultNotes
Logging servicelogs.serviceNone (none)Also fivemanage or discord. Fivemanage needs the fmsdk resource started before lation_chopshop.
Screenshotslogs.screenshotsOffAttaches a screenshot of the player's screen to each log. Fivemanage only.
Webhook namelogs.discord.nameChop ShopDisplay name on Discord posts.
Webhook URLlogs.discord.linkEmptyYour Discord webhook URL. Once set, the panel never shows it again; it reads A value is set.
Avatar imagelogs.discord.imagehttps://i.imgur.com/ILTkWBh.pngProfile image on Discord posts.
Footer imagelogs.discord.footerhttps://i.imgur.com/ILTkWBh.pngFooter icon on Discord posts.

The Discord options are greyed out unless the service is Discord. Turn on the events you want under logs.events:

EventDefaultLogged when
contract_issuedOffA player takes a contract.
contract_completedOffA contract is finished in time.
contract_dismissedOffA player throws away an expired contract or cancels one.
chop_startedOffA player starts chopping a car.
vehicle_preppedOffA car goes up on its stands.
part_choppedOffA part comes off.
strip_completedOffEvery part is off a car.
tool_brokeOffAn impact drill breaks.
item_purchasedOffA player buys from the tool shop.
parts_swappedOffA player uses the swap shop.
level_upOffA player reaches a new level.
owned_vehicle_deletedOffAn owned vehicle is deleted after chopping.
config_editedOnAn admin changes or imports the configuration. The changes in one section are logged together, each old value and new one, when the admin leaves it.

The Logging section is never sent to players' game clients, so the webhook URL stays on the server. An export does hold it.

Files you can still edit

A few things are plain Lua files, read when the resource starts. Restart lation_chopshop after editing them.

FileWhat's in it
lua/config/icons.luaFont Awesome icons and colors for menu entries and interaction prompts.
lua/config/animations.luaProgress bars for placing and removing stands, and the animations for wheels, doors, the engine bay and reading the contract.
lua/shared/defaults.luaThe defaults on this page: what a section is seeded with on the first start, and what a reset puts back. Only the server reads it.

Language

Every string is in locales/en.json, the only language that ships. To translate, copy it to a new file such as locales/de.json and translate the values.

The admin panel and the in-game screens (contract, minigames, engine bay) read the lation:locale convar, which every lation script reads, unless lation_chopshop:locale gives this one its own. Notifications, menus and prompts go through ox_lib's locale, which follows its own ox:locale setting.

server.cfg
setr lation:locale de
setr ox:locale de

If a file for the chosen language is missing, English is used.

Still stuck? Ask in our Discord: the people who write the scripts answer.

Last updated November 10, 2026

Contracts and chopping

How players take a lation chop shop contract, jack a car up, take its wheels, doors and engine bay apart, get paid, work a car together and trade parts in.

Developers

The lation chop shop server and client exports, its events, its server and client hooks and the files that ship open, with signatures, return shapes and Lua examples.

On this page

SetupStartContractsTiersVehicle class idsLocationsItemsMinigamesExperienceShopsTool shopSwap shopLoggingFiles you can still editLanguage
lation scripts

FiveM scripts for Qbox, QBCore and ESX servers, made to look and work like one product.

store

  • all scripts
  • membership
  • classics

help

  • docs
  • discord
  • email support

legal

  • terms
  • refunds
  • privacy
© 2026 Lation Labslationscripts.com
  • home
  • scripts
  • membership
  • docs