WhereiamL
whereiaml_vehicleshop

Installation

Install and start whereiaml_vehicleshop.

1. Dependencies

Make sure these are started before the resource:

  • ox_lib
  • oxmysql
  • ox_target
  • your framework: qbx_core (QBox) or es_extended (ESX)

2. Install the resource

  1. Drop whereiaml_vehicleshop into your resources folder.
  2. Add it to your server.cfg (or rely on a bracketed folder like [standalone]):
ensure whereiaml_vehicleshop

3. Database

The finance table is created automatically on first start. If you prefer to run it manually, import sql/vehicleshop.sql:

CREATE TABLE IF NOT EXISTS `whereiaml_vehicleshop_finance` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `citizenid` VARCHAR(64) NOT NULL,
  `vehicleid` VARCHAR(64) NOT NULL,
  `balance` INT NOT NULL,
  `payment_amount` INT NOT NULL,
  `payments_left` INT NOT NULL,
  `missed` INT NOT NULL DEFAULT 0,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_citizenid` (`citizenid`),
  KEY `idx_vehicleid` (`vehicleid`)
);

4. Vehicle thumbnails (optional)

The UI shows a thumbnail per vehicle, falling back to a clean card when an image is missing. There are two ways to add images:

Local files — drop a PNG named after the spawn model into web/images/:

web/images/adder.png
web/images/sultan.png

Per-vehicle URL — set the image field on a catalog entry in config/shared.lua to any https:// or nui:// URL.

Recommended image: transparent PNG, 16:9 aspect ratio (e.g. 640×360), the vehicle centered with empty padding around it, kept under ~300 KB. This matches the preview area and keeps the UI crisp.

After adding images, restart the resource.

5. Rebuilding the UI (only if you edit the React app)

The resource ships with a pre-built UI in web/build. If you modify the React source:

cd whereiaml_vehicleshop/web
pnpm install
pnpm build

On this page