WhereiamL
whereiaml_vehicleshop

Exports & Locales

Integration surface, localization and tooling.

Exports

The resource is self-contained and config-driven — it does not require any exports to operate. There is no public export you need to call from other resources.

Localization

All user-facing text is in locales/<locale>.json. English (en), German (de), Portuguese (pt) and Bosnian (bs) ship by default. Set the language with the ox_lib convar setr ox:locale "pt". To add a language, copy en.json and translate the values.

Each file has two parts: top-level notification strings (shared by the custom and framework notification modes, formatted with %s/%d) and a nested ui object holding every label, button, tooltip and panel string rendered in the showroom interface. The Lua client forwards the active locale's ui block to the NUI on open, so the entire front-end is translated — nothing is hardcoded in the React app.

Notification keys include:

KeyUsed for
notify_titleTitle of custom notifications.
target_browseThe ox_target option label.
purchase_success / purchase_financedSuccessful world delivery (%s = vehicle name).
purchase_garage / purchase_financed_garageSuccessful garage delivery (delivery = 'garage').
not_enough_money / vehicle_failedPurchase failures.
testdrive_failed / testdrive_overTest drive messages.
finance_charged / finance_paid_off / finance_missed / finance_repossessedFinance lifecycle (cron).
ui.*Showroom interface strings (labels, buttons, finishes, payment descriptions, loans panel).

Commands

CommandDescription
/myloansOpens a panel listing the player's financed vehicles (balance, installment, payments left) with an option to pay a loan off early.

Finance lifecycle

Financed vehicles are billed by an ox_lib cron job (finance.paymentCron). On each run the resource charges the installment, and after finance.maxMissedPayments missed payments the vehicle is repossessed. Players can pay a loan off early from the UI.

On this page