Installation
Install and start whereiaml_vehicleshop.
1. Dependencies
Make sure these are started before the resource:
ox_liboxmysqlox_target- your framework:
qbx_core(QBox) ores_extended(ESX)
2. Install the resource
- Drop
whereiaml_vehicleshopinto yourresourcesfolder. - Add it to your
server.cfg(or rely on a bracketed folder like[standalone]):
ensure whereiaml_vehicleshop3. 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.pngPer-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.
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