Changelog
Every lation chop shop release, newest first, with what it added, changed and fixed.
A rebuilt admin panel and contract card, a vehicle model blacklist, bonuses paid to contract holders who were away, car jacks that go back to whoever paid for them, and more options that apply as they save.
Added
- Blacklisted models under Config > Start > Vehicles: list spawn names such as
adderorpolice3, in any case, and those cars are never chopped or counted toward a contract. A contract holder who takes the driver's seat of one in their contract's class is told at once. Blacklisting a model while one is being chopped lets that car go, and the contract is free for another. See start. - A server hook,
Hooks.CanChopVehicle, inlua/server/utils/hooks.lua: the server's own say on a car when a chop starts. Returnfalseto refuse it. By default it refuses owned cars while Allow owned vehicles is off.
Changed
- If you kept an edited
lua/server/utils/hooks.lua, copyHooks.CanChopVehicleinto it from the new file. The server asks it every time a chop starts, and without it Start chopping fails with a script error. See upgrading from an earlier version 3. - If you kept an edited
lua/client/utils/ui.lua, copyCancelProgressinto it from the new file. Without it, a player who walks away from the car is only stopped once the stand's progress bar ends. - If you kept an edited
lua/bridge/client.lua, merge in the new handling for a character loading and a job changing, and thecore_inventoryitem list. If you kept an editedlua/server/utils/vehicles.lua, merge in the owned-plate lookup, which now trims plates and keeps each answer for a minute. - If you edited
fxmanifest.lua, start from the new one. It loadslua/shared/defaults.luaas the first server script, never a shared one, so no player receives it. - No table needs dropping, and your settings load as they are. A new table,
lation_chopshop_payouts, is created on start for what is owed to players who were away. See install. - The overview's history keeps 60 days instead of 30, so 30 days can be held against the 30 before. Vehicles chopped and contracts paid are counted from this version on.
- The admin panel is rebuilt on the frame lation jobs, lation shops and lation banking use: a rail with Overview and Config, lation ui's theme and UI scale when it runs, and every message through your notification system.
- The Overview shows the last 7 or 30 days against the same stretch before, instead of a 7-day chart: parts chopped, choppers, vehicles chopped and contracts paid, the parts per day by category, contracts about to run out and cars on the stands, the top choppers, and the hours of the week the server chops. See overview.
- Config is grouped into titled cards. Each option saves as it changes, is marked when it differs from its default, and resets on its own or with its section. The search reaches inside every list entry, one Export or import button holds both, and removing an entry happens in its Danger zone. See config.
- Only Version check and Interaction system wait for a restart now. The stand and drill props, Stands required and the two stand offsets apply as soon as they save, and the panel no longer marks the notifications, menus, start locations or chop location blips as needing a restart, since they already applied live. See settings that need a restart.
- Config > Shops opens with a short pitch for lation shops. Dismissing it folds it into a Shops chip in the header. Neither shows on a server that has
lation_shopsinstalled, even stopped. See shops. - The contract is a smaller card: the time left as a countdown with a bar that turns amber under 10 minutes and red under 2, the class and the bonus, a short note once it has run out, and Cancel contract asking in place. See the contract paper.
- The wheel, door and engine bay overlays follow lation ui's theme, light ones included, and the engine bay's spots stay visible on every theme.
- Require car jack is now Stands use up jacks. On, each stand takes a jack, and when the stands come off each jack goes back to the player who paid it, wherever they are, instead of to whoever removes them. Off, a jack in hand places every stand and none is taken or given back. Before, with it off, each stand still took a jack while the player had one, and removing the stands gave one back per stand, even for stands placed without one. See jacking it up.
Fixed
- A contract holder who was away when a helper finished their car (a crash, a disconnect) lost the contract's payout. The contract now closes with its cooldown, and the next time they load in they get the bonus, the car on their vehicles count, and the paper taken back. See rewards.
- An item bonus or a returned jack that didn't fit in the inventory was lost. The chop shop holds it, says so, and hands it over once there is room, checking every minute and at each login.
- With Allow owned vehicles off, a modified client could skip the owned car check. The server now checks the plate when a chop starts.
- A modified client can no longer get free car jacks out of placing and removing stands.
- A car jack worked from up to 30 m away. It now goes under the nearest car only from within 2.5 m of its body, and walking off cancels it without using the jack. The server checks stands, raising the car and starting a chop within 12 m.
- With
core_inventory, the Tool Shop, the Swap Shop and item notices show item labels, from its item list, and F8 no longer prints a contact support line for each one. See requirements. - An item your inventory doesn't know shows by its spawn name in the shops, instead of the shop failing.
- Players joining through character selection (ESX, QBCore, Qbox) could miss the broker blip and their saved contract. The resource now waits for the character.
- XP, parts and vehicle counts are saved when a player leaves, even when the framework has already let them go, and every 5 minutes, so a crash loses at most a few minutes.
- Editing the level ladder applies to everyone online and to the leaderboard.
- Start locations no longer read as changed right after a save, and resetting them clears the mark.
- Renaming the contract, jack or drill item retires the old name.
- Lowering the completion cooldown shortens the waits already running.
- The blips appear or go at once when a player's job joins or leaves the blacklisted jobs, by an edit or by the player changing jobs.
- After a restart, players on the server see their contract right away.
- A contract keeps its class when that class is taken off Allowed vehicle classes, so it can still be finished.
- A word in a list of numbers no longer breaks the save.
lua/shared/defaults.luais read by the server only and no longer reaches players. Set Discord webhooks under Config > Logging, which keeps them on the server. See logging.- The README and
install/Install Instructions.urllink to the install guide again.
Contracts that can stick to a player's highest tier and contracts players can cancel, with fixes for vehicles vanishing mid-job, players stuck in minigames, and event spam.
Added
- Highest tier only: contracts can stick to the highest tier a player has unlocked, so higher levels always get higher-tier jobs. Turn it on under Contracts in
/chopadmin. It is off by default, so nothing changes until you do. See contracts. - Players can cancel a contract: open it and select Cancel contract. They lose the bonus, and your server's completion cooldown applies if it has one. Allow cancelling under Contracts turns it off. See the contract paper.
Fixed
- The car being worked on no longer vanishes partway through the job, leaving the jacks behind.
- Players occasionally got stuck invisible, with their inventory locked, when starting on a wheel or a door.
- Looking at vehicles no longer floods your server with events.
- Start Chopping no longer shows on occupied vehicles, or while the player is already chopping one.
- Taking the stands off says Removing stands.
- Stray jack stands clean themselves up.
- A contract bonus can no longer be paid out on the wrong job.
- With Allow owned vehicles off, every player's car is protected, not just the player's own. See start.
Optional removal of stripped shells, the chop zone on the map for contract holders, and fixes for the torque minigame, reused contracts, cars with no hood, stand placement and item names.
Added
- The stripped shell can be removed shortly after the player takes their own jacks back off it. Off by default, so tow truck drivers keep the business. Turn it on with Remove vehicle when finished under Contracts. See contracts.
- Dedicated chop locations draw their radius as an area on the map, and are only shown to players carrying a contract. Both can be switched under Locations, with Show chop zone and Contract holders only. See locations.
Fixed
- In some cases the engine bay torque minigame's wrench step was impossible to complete.
- A contract could be abandoned just short of finishing and reused to start fresh vehicles indefinitely. It is tied to the car it was started on now.
- A few smaller models have no hood to open, so their engine bay could never be reached and the job never finished. Those vehicles finish on their wheels and doors now.
- Pulling the axle stands part way through a job and placing them again put them under the middle of the vehicle, in the wrong spot.
- A contract paid out in an item showed that item's spawn name on the case file and in the completion message.
- General tuning and polish across the chopping flow.
A ground-up rewrite, with an in-game admin panel, contracts in place of group jobs, open co-op and hands-on chopping; player levels, XP and stats carry over from version 2, and its config files don't.
Added
- An in-game admin panel. Every setting is edited in
/chopadmin(ACElation_chopshop.admin), stored in the database, saved as you edit and synced live to players, and settings that need a restart are marked. It has a settings search, an overview dashboard (registered players, vehicles chopped, parts received and a seven-day activity chart per part) and versioned export and import of the whole configuration. See the admin panel. - Contracts replace group jobs. The broker issues timed contracts for a vehicle class, gated by level and organized into tiers you define (classes, timer, cash bonus, minimum level), and any vehicle in the class counts. The contract is an inventory item that opens a case file. Contracts survive relogs and server restarts, the broker can reprint a lost copy, the on-time bonus pays to cash, bank or an item, and an optional completion cooldown spaces jobs out. See contracts.
- Open co-op, with no group system: anyone standing at an active chop vehicle can place stands and remove parts. Each part pays whoever removed it, and the bonus goes to the contract holder. See co-op.
- Hands-on chopping. See taking it apart.
- Vehicle prep: place four jack stands with the car jack item to raise the vehicle, and take them back when the shell is done.
- Wheels: a hold-to-drill lug nut minigame with a scripted camera, a drill prop that follows the cursor and a custom impact driver sound.
- Doors: drill the hinge bolts out from inside the jamb and the door drops to the ground as a physics object, synced to everyone nearby.
- Engine bay: the hood opens onto an illustrated hub of five parts (battery, radiator, alternator, ECU and turbocharger), each with its own steps built from torque, connector and tap mechanics.
- Seven salvaged part items with icons. The swap shop pays cash, an item or both per part, and the tool shop sells the impact drill and the car jack. Each shop takes cash, bank or an item. See selling parts.
- Progression: XP for each part from a range set per level, with doors scaled down. Level thresholds are editable, and the menu keeps lifetime stats and the top-ten leaderboard. See experience.
- Placement rules: several broker locations with optional rotation per restart, opening hours, a minimum police count, blacklisted jobs, optional chop locations with a radius and blips, and chopping owned vehicles, with optional deletion backed up to SQL. See start and locations.
- Rewards the server decides. Chop sessions, part state and contracts live on the server. Every part reward needs a single-use token and is checked again for distance, location and timing before it is given; a refused reward tells the player and leaves the part on the car.
- lation interact (
lation_interact) is supported natively, and the interaction system is detected on its own:lation_interactfirst, thenox_target, thenqb-target. Notifications, progress bars, menus and dialogs are picked in the panel, with lation ui supported throughout. See setup. - Logging: twelve events, each switched on its own, sent to Fivemanage (with optional screenshots) or a Discord webhook. See logs.
- Scheduled txAdmin restarts close any open minigame gracefully.
Changed
- Player levels, XP and stats move across from version 2 on their own; version 2's config files don't carry over. See upgrading from version 2.
- Player-facing text comes from the locale file. See language.
- The bridge, the hooks, the UI and interaction wrappers, permissions, logging, vehicle helpers, locales and the icon and animation configs ship open alongside the escrowed code. See open files.
- Removed: the group system, phone integrations, the vehicle finder item and easy mode, per-part skill checks, the torch, lug wrench and auto parts items, the interact and sd-notify integrations, and the Lua config files.
Still stuck? Ask in our Discord: the people who write the scripts answer.
Last updated
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.
money laundering
Requirements, install steps, items and first start for money laundering (lation_laundering), a FiveM script where players wash dirty money through buyers around the city and at a warehouse.