Servers & roleplay Guide

FiveM dealership setup: shops, test drives and ownership

Plan a FiveM dealership with a pinned qb-vehicleshop example. Separate managed shops, showroom placement, test drives, vehicle ownership and garage handoff.

Original Magnate concept artwork; not a GTA VI screenshot Original concept artwork · Not game footage

Separate the venue from the sales system

A dealership MLO provides a place to display vehicles. A sales script decides what the player can select and how a sale becomes ownership. A garage resource later decides how the owned vehicle is stored and retrieved. Identify the package responsible for each stage before changing configuration.

For a staffed dealership, define which role may sell and how the buyer is selected. For self-service, define where the player starts browsing and where the purchased vehicle appears. The expected journey should be explicit before you evaluate a demo video or a resource’s appearance.

Match your instructions to the actual revision

This example is pinned to qb-vehicleshop commit e8652970aca3324d2a18a440f3d3871715338da8. Its manifest declares version 2.1.0 and GTA V, imports QBCore locale support, loads several PolyZone client modules and imports the OxMySQL server library. Verify these dependencies against your installed package.

The repository README includes an embedded config example. It is not identical to the config.lua reviewed at the same revision: for example, the actual config derives UsingTarget from the UseTarget convar. Prefer the installed configuration and code when an older example differs.

Keep the resource revision, framework version and relevant integration versions in your staging notes. Do not replace one file with a similarly named file from another fork merely to match a tutorial. A successful resource start is only the beginning of the sales workflow.

Choose self-service or a managed shop

The reviewed config gives pdm a free-use Type and luxury a managed Type. Those are concrete shop modes in this revision, not universal names for every dealership product. Verify the access path for your selected mode.

A managed business needs an acceptance check for the salesperson and buyer together. Confirm which character is receiving the vehicle and which role is allowed to initiate the transaction. A menu opening for a staff member does not establish that the complete server-side authorization and handoff work.

Keep showroom browsing, staff permissions and ownership creation as separate checks. If the first two work and the final record does not appear, changing the map’s visible car placement is unlikely to repair persistence.

Move the complete dealership rather than one marker

The actual configuration separates the shop polygon and height bounds from Location, showroom coordinates, VehicleSpawn, TestDriveSpawn, ReturnLocation and FinanceZone. Moving only the blip leaves the other parts at their original positions.

Before relocating a shop, make a small layout worksheet. Mark where players enter, where a car is displayed, where they stand to interact and where a moving vehicle has enough clearance. Check the complete route against the new map’s collision and access.

Dealership relocation worksheet
AreaWhat to verify on staging
Shop boundaryThe intended showroom floor lies inside the polygon and vertical range
Displayed carsEach model fits without blocking doors or player movement
Purchase handoffThe delivered vehicle has clear space and the intended heading
Test-drive handoffA test vehicle can leave the venue safely
Return pointPlayers can reach the supported return location
Finance interactionThe intended menu is accessible without overlapping other interactions

Test-drive duration is a workflow setting

The reviewed pdm TestDriveTimeLimit is 0.5 minutes, equivalent to 30 seconds. Treat that as a default from this config, not a recommended duration for every map or a universal resource timeout.

Use a synthetic staging session to verify start, allowed duration, normal return and timeout behavior. Repeat with an occupied spawn location and a player who leaves the session. Record where the player and temporary vehicle end up. These are proposed checks, not observed Magnate gameplay results.

Keep a test-drive vehicle separate from an owned vehicle in your acceptance notes. A vehicle appearing and driving correctly does not prove a sale occurred or that a garage can retrieve it later.

Verify ownership and the garage handoff

The reviewed server source uses player_vehicles records for ownership and finance state. A visible showroom or delivered entity is different from a correctly attributed persistent record. Use a staging character and compare the intended vehicle before and after the supported purchase workflow.

Then use the actual garage integration to store and retrieve it, followed by a reconnect. Check that the intended character, model and vehicle identity remain consistent. If the dealership and garage use different conventions, resolve that integration rather than applying SQL copied from an unrelated resource.

For financed vehicles, verify the expected balance, payment count and timer behavior through the package’s supported interface. Document those expected results before testing. This guide does not execute purchases, modify balances or prescribe database updates.

Investigate the first failing step

If the menu never opens, inspect shop access, the interaction path and the first client error. If a custom model is absent or wrong, compare its exact model identifier and package setup. If the transaction appears to finish but retrieval fails, follow the ownership and garage layer.

Keep a report with the resource revision, shop name, vehicle model, steps and expected-versus-observed result. Redact credentials and private player records from public logs. Change one justified setting at a time so a working baseline remains useful.

Use the PolyZone guide for shape creation and the vehicle guide for model setup. This page does not establish GTA VI compatibility, benchmark commercial dealership resources or claim a complete qb-vehicleshop install was run by Magnate.

Questions, answered.

Does a dealership MLO include a working sales script?

Not necessarily. Confirm the delivered map, sales logic, ownership storage and garage integration separately.

Why does moving the dealership blip not move the shop?

The reviewed configuration separates the blip/location from shop boundaries, showroom cars, spawn points and other interactions.

Does a successful test drive prove vehicle ownership is saved?

No. Test the purchase, persistent ownership, garage retrieval and reconnect as separate steps.

Sources & editorial notes

Source review: November 7, 2026. Platform announcements can change. This guide separates published facts from Magnate’s original analysis and preparation advice.

  1. QBCore — qb-vehicleshop pinned fxmanifest.lua Version, GTA V target and imported libraries.
  2. QBCore — qb-vehicleshop pinned config.lua Actual shop modes, target setting, coordinate fields and test-drive default.
  3. QBCore — qb-vehicleshop pinned README.md Repository overview; embedded config example differs from the pinned config file.
  4. QBCore — qb-vehicleshop pinned server.lua Ownership and finance persistence source; no runtime or database test performed.

Published by an independent editorial brand. Read our editorial standards.

Find your next move

Search the Magnate guide library.

Browse every guide