Retro Dealership
Configuration
Section titled โConfigurationโConfig is split across three files:
config/config.lua- main settingsconfig/locations_config.lua- shop locationsconfig/customV_config.lua- custom/addon vehicles
General
Section titled โGeneralโConfig.Framework = 'auto' -- 'qb', 'qbx', 'esx', or 'auto'Config.Locale = 'en'Config.Debug = falseConfig.CurrencySymbol = '$'Config.RegistrationTax = 0.02 -- 2% tax on purchasesPreview
Section titled โPreviewโConfig.PreviewCoords = vector4(-54.54, -1089.55, -110.96, 57.84)Config.PreviewCam = vector4(-55.96, -1085.01, -111.1, 193.32)Config.PreviewRadius = 15.0Uses an MLO interior. Other players are blocked within the radius.
Test Drive
Section titled โTest DriveโConfig.TestDriveDuration = 120000 -- 2 minutesConfig.TestDriveReturnRadius = 5.0Finance
Section titled โFinanceโConfig.FinanceWeeks = 12 -- weekly paymentsConfig.FinanceInterest = 0.10 -- 10%Config.FinanceDownPayment = 0.10 -- 10% minimumPayment & Purchase
Section titled โPayment & PurchaseโConfig.PaymentTypes = { 'bank', 'cash' }Config.PurchaseTypes = { 'personal', 'company' }Config.Blip = { sprite = 326, color = 0, scale = 0.8, display = 4,}Interaction
Section titled โInteractionโConfig.InteractionDistance = 2.5Config.InteractMode = 'auto' -- 'auto', 'ox', 'qb', 'npc', 'marker'Config.FallbackInteract = 'npc' -- 'npc' or 'marker'Config.NpcModel = 's_m_m_autoshop_01'Marker settings (used when no target resource is available):
Config.Marker = { type = 21, size = vector3(0.4, 0.4, 0.3), color = { r = 197, g = 160, b = 89, a = 180 }, rotate = false, bobUpDown = true, rotX = 180.0,}Level System
Section titled โLevel SystemโLevel is calculated from cumulative sales against thresholds:
Config.LevelThresholds = { 0, 100000, 500000, 1000000, 1500000, 5000000 }Config.BaseStockSlots = 10Config.BaseShowcaseSlots = 2Each level can grant additional stock slots, showcase slots, or unlock a vehicle class:
Config.LevelRewards = { [2] = { title = '+5 Stock Slots', desc = 'More inventory capacity.', stockSlots = 5 }, [3] = { title = '+1 Showcase Slot', desc = 'Extra display space.', showcaseSlots = 1 }, [4] = { title = 'Luxury Vehicles', desc = 'Unlock luxury orders.', unlockClass = 'LUXURY' }, [5] = { title = 'Super Cars', desc = 'Access super cars.', unlockClass = 'SUPER' }, [6] = { title = 'Hyper Cars', desc = 'Unlock hyper cars.', unlockClass = 'HYPER' },}
Config.LockedClasses = { 'LUXURY', 'SUPER', 'HYPER' }Used Cars
Section titled โUsed CarsโConfig.UsedCarEnabled = trueConfig.UsedCarDepreciation = 0.20 -- max price = original ร 0.80Config.UsedCarCommission = trueConfig.UsedCarCommissionRate = 0.10 -- 10% to shop accountConfig.UsedCarMaxListings = 3 -- per player across all shopsDelivery
Section titled โDeliveryโConfig.DeliveryMinTime = 60000 -- 1 minConfig.DeliveryMaxTime = 600000 -- 10 minConfig.TrailerMaxVehicles = 3Config.DeliveryTruck = 'flatbed'Config.DeliveryTrailer = 'tr3'Config.LargeVehicleClasses = { 'SUV' } -- must be driven directly, can't load on trailerShop Hours
Section titled โShop HoursโConfig.ShopHoursMode = 'real' -- 'real' (server time) or 'game' (GTA clock)Config.Timezone = 'KST' -- for real mode: 'KST', 'EST', 'PST', 'UTC', etc.Owners set open/close times through the Settings dashboard.
Config.FuelResource = 'auto'Supports: ox_fuel, LegacyFuel, cdn-fuel, ps-fuel, lc_fuel, Renewed-Fuel, x-fuel, jg-fuel, lb-fuel, okokGasStation, nd_fuel, myFuel, ti_fuel. Set to false to disable.
Vehicle Images
Section titled โVehicle ImagesโConfig.VehicleImageSource = 'https://docs.fivem.net/vehicles/%s.webp'%s gets replaced with the model name. Set to 'local' to use web/dist/images/{model}.png instead.
Category Mapping
Section titled โCategory MappingโMaps framework vehicle classes to shop display categories. Vehicles without a mapping are excluded from the catalogue.
Config.CategoryMap = { ['super'] = 'HYPER', ['sports'] = 'SUPER', ['compacts'] = 'LUXURY', ['sedans'] = 'LUXURY', ['coupes'] = 'LUXURY', ['muscle'] = 'MUSCLE', ['sportsclassics'] = 'CLASSIC', ['suvs'] = 'SUV', ['offroad'] = 'SUV', ['motorcycles'] = 'MOTORCYCLE',}Custom Vehicles
Section titled โCustom VehiclesโAdd addon or custom vehicles in config/customV_config.lua. These merge on top of framework vehicles - use the same model name to override existing data.
Config.CustomVehicles = { ['modelname'] = { label = 'My Custom Car', brand = 'Custom Brand', class = 'SUPER', order_cost = 500000, default_sale = 850000, top_speed = 210, accel_s = 3.2, handling = 80, braking = 75, power = 90, image = '', },}Shop Locations
Section titled โShop LocationsโDefined in config/locations_config.lua:
Config.Shops = { ['retro_motors'] = { label = 'Retro Motors', logo = 'retrostore.png', shopPrice = 500000, stockMode = 'unlimited',
entry = { coords = vector3(...), heading = 215.0 }, npc_shop = vector4(...), marker_shop = vector3(...), marker_owner = vector3(...),
blip = { coords = vector3(...), label = 'Retro Motors' }, categories = { 'SUPER', 'HYPER', 'LUXURY', 'MUSCLE', 'CLASSIC', 'SUV', 'MOTORCYCLE' },
testDrive = vector4(...), buySpawn = vector4(...), truckSpawn = vector4(...),
vehicleSpawnSlots = { vector4(...), ... }, vehicleParking = { vector4(...), ... }, },}| Field | Description |
|---|---|
label | Display name |
logo | Logo image filename |
shopPrice | Purchase price for unowned shops |
stockMode | 'unlimited' = no stock limits; 'stock' = requires stocked inventory |
entry | Shop entry point |
npc_shop | NPC spawn position |
marker_shop | Customer marker position (no target fallback) |
marker_owner | Owner dashboard marker position |
categories | Vehicle categories available at this shop |
testDrive | Test drive start/return location |
buySpawn | Post-purchase vehicle spawn |
truckSpawn | Delivery truck spawn point |
vehicleSpawnSlots | Port delivery spawn positions |
vehicleParking | Shop parking spots for delivered vehicles |