WhereiamL
whereiaml_vehicleshop

Configuration

Every config option for whereiaml_vehicleshop.

Configuration is split across three files. You normally only touch these.

config/shared.lua

Shared between client and server (safe for the client to know).

OptionDescription
Config.LocaleFallback locale key (loaded from locales/<locale>.json).
Config.DebugPrint debug logs. Keep false in production.
Config.Notifications'custom' (built-in Mantine top-center notifications) or 'framework' (qbx/ox notifications).
Config.CategoriesTabs shown in the UI. Each id must match a vehicle category.
Config.CatalogSource'framework' (pull vehicles + prices from QBox) or 'config' (use Config.Catalog; required on ESX).
Config.CatalogManual catalog. Each entry: model, name, brand, price, category, optional image, optional vehicleType.
Config.DealershipsWorld dealerships (see below).
Config.DoorsWhich doors are exposed in the UI (GTA door indices).

Dealership entry

{
    id = 'pdm',
    label = 'Premium Deluxe Motorsport',
    ped = 'a_m_y_business_01',
    coords = vec4(-56.51, -1096.6, 26.42, 25.0), -- dealer ped + interaction
    blip = { enabled = true, sprite = 326, color = 3, scale = 0.8 },
    categories = nil,                             -- nil = sells all categories
    studio = {                                    -- hidden private showroom
        podium = vec4(-1395.0, -3000.0, 13.95, 240.0),
        ped = vec3(-1398.5, -3002.5, 13.95),
    },
    spawn = vec4(-57.08, -1073.53, 26.22, 71.23), -- where a purchased car is delivered
    testdrive = vec4(-1336.0, -3044.0, 13.94, 329.0), -- where the test drive starts
}

config/client.lua

Camera, mouse controls and test-drive behavior.

OptionDescription
camera.fov / distance / minDistance / maxDistance / height / pitchShowroom orbit camera.
controls.rotateSpeedMouse drag → vehicle rotation sensitivity.
controls.pitchSpeedMouse drag → camera pitch sensitivity.
controls.zoomSpeedScroll → zoom sensitivity.
controls.rotateLerpRotation smoothing (0..1).
testDrive.durationSeconds before the test drive auto-returns.
testDrive.returnToShopRe-open the dealership after a test drive so the player keeps browsing.

config/server.lua

Payment, finance and anti-abuse. Server-authoritative.

OptionDescription
paymentMethodsWhich methods are offered: 'cash', 'bank', 'finance'.
finance.enabledToggle financing.
finance.minDownPercentMinimum down payment (% of price).
finance.interestPercentTotal interest added to the financed amount.
finance.maxPaymentsNumber of installments.
finance.paymentCronox_lib cron expression for collecting payments. Shown to players in human form (e.g. 0 0 * * 0 → "every Sunday at 00:00").
finance.maxMissedPaymentsMissed payments before repossession.
finance.downPaymentFrom / installmentFromMoney type charged ('cash' or 'bank').
antiAbuse.purchaseCooldownMinimum ms between purchase attempts per player.
plateFormatPlate format passed to the framework.

The finance due day shown to players is derived from finance.paymentCron automatically — change the cron and the UI updates the wording.

On this page