Release
qs-dealership 3.0.0 replaces qs-vehicleshop 2.x with a script written from scratch. Showrooms put a real car in front of the customer with a scripted camera, a paint shop and a one-card checkout that takes any currency. Dealerships can be owned by players or jobs, with ranks, a till, a sales ledger, a sales desk and restock runs driven by a crew. Test drives, finance, buyback, hire and reservations are all built in and each ships switched off. Every dealership — its counter, grounds, preview spots and the furniture and cars on its forecourt — is placed in-game with a freecam and a gizmo, and every behaviour is a setting changed live from an in-game panel. There is no SQL to import: the first boot builds the tables and opens eight stocked dealerships.
This is a new resource, not an update of qs-vehicleshop. It has its own tables (qs_dealership_*) and imports nothing from the old script.
qs-vehicleshop, remove its ensure line and its folder. Running both puts two dealerships, two sets of targets and two blips on every forecourt.ensure qs-dealership after ox_lib and oxmysql, and start the server.qs_vehicleshop_* tables are left exactly as they were. Delete them once you no longer need their records.There is no SQL to import. The first boot builds every table and writes the starter data: eight dealerships — Premium Deluxe Motorsport, Luxury Autos, Albany Autos, Vapid Autos, Benefactor Autos, Premium Motor Yacht, Luxury FlyAway and Pegasus FlyAway — placed, staffed by a salesperson and stocked, over a catalogue of 528 vanilla vehicles priced by class and performance. It only ever writes into empty tables.
If you tested the 1.0.0 betas, run qs-dealership:dbreset confirm once in the server console after installing. It drops the script's tables and builds them again with the starter data.
config/server/admins.lua, the command ace, or your framework's admin group) and open the creator with /qsdealershipadmin./qsdealership, F6), furnish it, put cars on the forecourt, or hand it to a player or a job.config/, client/custom/, server/custom/ and locales/ ship readable and are kept across updates. Your dealerships, stock, staff, sales and settings are in the database. The docs/ folder in the download is the manual: twelve pages from installation to troubleshooting.
A new resource with its own tables (qs_dealership_*) and its own config. Nothing is imported from qs-vehicleshop, and the cars your players already own are untouched — they live in your framework's vehicle table. Remove the old resource before starting this one.
The migration runner builds every table and writes eight starter dealerships — cars, exotics, American muscle, trucks and vans, European marques, boats, planes and helicopters — placed, staffed by a salesperson and stocked, over a catalogue of 528 vanilla vehicles priced by class and performance. It only ever writes into empty tables.
The showroom is full-bleed over the game with the middle of the screen left to the car. A real display car stands on a real spot, the customer beside it in their own routing bucket so two customers never see each other's preview. One camera with eased shots, a cinematic tour, an idle showreel, a hand-held drift, drag to orbit, scroll to zoom and seven presets — and the lens never goes through the floor, the ceiling or a wall. The whole shot list is config, written by name.
Browse (the vehicle card and a filmstrip of the stock), the catalogue with search and filters, a paint shop that applies every colour and livery live to the real car, performance as four lit gauges with an overall grade, and the checkout. The customer can reorder the stock by type, price, marque, name or speed, or keep the shop's own arrangement.
For aircraft and boats the customer is seated in the pilot's seat of the display vehicle rather than stood beside it under a wing or on the water.
A shop's own playlist, the server's, or the thirteen loudness-matched tracks that ship in music/ (phonk, house, electronic, credited in music/CREDITS.md). Files, mp3/ogg URLs or YouTube links. Each player sets their own volume and shuffle, and streamer mode plays only tracks an admin marked as safe.
Floating read-outs over the car's roof and the customer's head, or parked in a corner — chosen per server. Favourites, keyboard shortcuts for every section, and a curtain with the car's name on every arrival and change of car.
Cash, bank, an item-backed coin or your own custom currency, each declared in one file with its own icon. Every vehicle decides which currencies it takes and what it costs in each — cash only, bank only, both, or a VIP coin at a figure unrelated to its money price.
Payment method as one button per currency, an optional split between two with one slider, the price, discounts, tax, each currency's amount and how much a balance is short, in full or on finance, the plate, and a button that names what it takes. The client never sends an amount; the server prices every purchase. Tax, job discounts and promotions are separate lines, and discounts add rather than compound, capped at 90%. Plates follow a format you set, and buyers may type their own when you allow it.
The car wakes up, the buyer takes the keys at the door and gets in with the game's own animation — skippable, and switchable per server and per dealership. Delivery to a point or straight into the garage. Two customers paying in the same second are spread out in time with the wait on screen, and a blocked bay falls back to the nearest road. Stock is reserved before money is taken, and every step undoes the ones before it if one fails.
The shot tightens on the display car, the world is swapped under it, the car rolls out past the camera, a countdown runs and the wheel is handed over. A dashboard with the speed and the time draining, an optional area boundary, two clocks (client and server), and the showroom reopens on the same car when it ends. Staff can invite a customer for a drive. Off until you switch it on.
A deposit now and the rest in instalments collected while the player is online; the car is theirs from the first minute. The player's window lists every plan and can clear one early. Off until you switch it on.
Buyback: a dealership buys cars off players, valued from its own price and the car's real condition, read on the server. Hire: a paid, deposit-backed loan for real hours that is never registered to the player. Reservations: a sold-out car takes a waiting list and a held unit is kept back from everybody else. Each is off until you switch it on, with a per-dealership override.
A percentage off one dealership with an end date, shown only while it is honoured; opening hours per dealership, overnight included, with staff never locked out; and a list of models nobody may sell.
Ranks built from nine rights (sell, stock, pricing, catalogue, staff, ranks, finances, restock, settings), a till the shop is paid into and pays its stock and furniture out of, and a ledger of every sale and buyback.
/qsdealership (F6) opens one rail with the shop's sections — overview, sales desk, stock, supply, runs, staff, till, figures — with a count badge where something waits, and a comparison screen for anyone who runs several. The overview shows six figures, the till and an attention list where every row opens the screen that fixes it. Figures chart revenue, units, currencies and best sellers over any range.
A member of staff looks at a customer, attends them and builds the deal — a discount capped by rank, the paint, a plate, credit or not, a note. The buyer accepts on their own screen with the exact figure in each currency; the seller watches it land, may withdraw it, and earns a commission.
Supply is a shelf of the server's catalogue with pictures and what the shop pays per unit. An order of three cars is three trips; anybody with the right may join and each car pays its share to whoever drove it. A disconnect ends a trip, not the run; a restart keeps the order; the clock only runs while somebody on the run is online. Collection points are a weighted server-wide list, and restocking can be switched to direct delivery with no driving. Deliveries are judged on the server from the real vehicle.
Seating, lighting, signage, plants and barriers with pictures, bought out of the shop's till and sold back for a share of their price; an admin furnishes for free. Everything stays inside the dealership's grounds, drawn as a fence while you work and refused by the server outside them. The catalogue is one editable file, and other resources can add to it.
A free camera that flies through walls and stops only at the grounds, opening in open air above the forecourt. Arrows and rings on the piece, or hold the mouse and drag it. A palette of tools: onto the ground, bring it here, back to where it was, stand it upright, turn 45°, turn it round, snap to 45°, face the camera, another one beside it, sell. ENTER confirms, ESC returns you to the window you came from, the keys that work right now are written along the top, and the bar folds away while you work.
Staff take a car from their own stock, place it like furniture and dress it — colours, wheels, livery, doors and windows, dirt, engine and lights, a turntable — applied live. A car is put down on all four tyres, leaning with the slope. Every display car opens the showroom on itself, shows a floating plate with its name, price and gauges, and is solid, frozen and locked: nobody can push it, get in or open its doors.
The counter, the grounds, the preview spot, the delivery point, the test-drive start and the restock drop-off — each answerable per vehicle type, so boats are shown on water and planes on a runway. Every placed point stands in the world as a ghost you click to edit; set a point with one click on the map, the camera's position or your character's; fly to the waypoint, the counter or any point.
A box zone, a polygon you draw, a marker, a salesperson or a prop, with the target on the person or the object itself. Blip sprites, markers, peds and props are picked from searchable lists with pictures, and anything can still be typed by name.
/qsdealershipadmin opens an overview of what the server holds, what is wrong and what is happening right now (who is in which showroom, on a test drive, on a run), dealerships as cards with teleport, furnish, hand to a player or job, and copy/paste as JSON between servers, and a dealership editor in five tabs: Basics, Points, Trading, Restock runs and Branding.
Cars, motorcycles, large vehicles, boats, helicopters, planes and trains, each with its own spots and camera distances. A dealership can deal in any of them or all.
One press reads every vehicle the server has, addons included, with its real name, make, class and handling figures, and never overwrites a price. Add a single vehicle by spawn name, filter and search on the server, price in bulk by percentage or flat figure, and export or import CSV — including adding the models the catalogue is missing.
Copy-ready prompts that interview the server owner, turn an addon pack into rows, price a catalogue or check a CSV, each carrying the exact import format, categories and currencies of your server.
Frame the shot on a real car, then let it run: every vehicle from the same composed angle, with the world loaded round the studio, traffic hidden and time and weather held, uploaded through your screenshot resource. Pictures can also come from a base URL with per-model and per-dealership overrides, and sixty manufacturer badges ship with the script.
Test-drive length, tax, plate format, delivery, restock economics, finance terms, buyback, hire, pictures, rate limits and the interface — one page per area, a search across all of them, no restart, and a per-dealership override for every optional feature.
Admins by ace, identifier or framework group, with ten server-wide rights (browse, purchase, test drive, create, edit, delete, catalogue, images, assign, audit) and nine shop rights for staff. Discord webhooks for sales, restock runs, admin actions, security events and activity.
Permission, ownership, distance, stock and price are decided on the server for every call, every call is rate limited, and restock and test-drive vehicles carry a flag (exports IsTemporaryVehicle) so garages and tuning shops can refuse them.
QBCore, Qbox, ESX, ox_core, ND and standalone; ox_target, qb-target or markers; ox_inventory, qs-inventory, qs-advanced-inventory, qb-inventory; qs-vehiclekeys, qb-vehiclekeys, MrNewbVehicleKeys, wasabi_carlock; okokBanking, qb-banking, Renewed-Banking; lb-phone, NPWD, qs-smartphone-pro; screenshot-basic. Printed in one summary at boot, and every bridge is an open file you can edit.
English, Spanish, French, German and Portuguese. Config, bridges and locales ship readable, and exports let other resources open the interface or a showroom, read dealerships and stock, move stock, give a vehicle and check permissions and staff.
The docs/ folder covers installation, a first dealership, the showroom, currencies and prices, owned dealerships, the optional features, furnishing, pictures and music, settings, compatibility, troubleshooting and updating.