Vehicle Scripts

ds-vehicletrustsystem

qbcoreesxqbox
$31.99
Instant DeliveryAccess immediately after purchase
Secure PaymentProtected by Tebex & Cfx.re
Lifetime UpdatesFree updates via Keymaster

Support & Community

Support is provided via Discord after purchase.

Join Discord
← Back

Requirements

  • QBCore / Qbox / ESX
  • OneSync Infinity
  • Server v7290 or newer
  • oxmysql or json
ds-vehicletrustsystem

Overview

# DS Vehicle Trust System

- A FiveM resource that lets players **own** and **share** personal vehicles with trusted people.

Only owners and players you trust can drive your vehicles; everyone else is ejected.

Includes a **modern NUI**, **job vehicles**, **vehicle keys** integration, and optional **MySQL** storage.

**Frameworks:** ESX, QBCore, QBox (auto-detected)

**Storage:** JSON (default) or MySQL

## Features

| Feature | Description |

|--------|-------------|

| **My Vehicles** | See vehicles you’re allowed to drive; click to spawn. Fuel/engine/body and saved appearance (paint, extras, upgrades) when supported. |

| **Trust / Untrust** | Give or revoke another player’s permission to drive one of your owned vehicles (dropdown: player + vehicle). |

| **Job Vehicles** | Configure per-job vehicle lists; job members can spawn those vehicles with saved appearance. Manage via **Job** tab and `/vehwlsetjobvehicle` / `/vehwlremovejobvehicle`. |

| **Set Owner** (admin) | Assign a player as owner of a vehicle (dropdown: player + vehicle from whitelist). |

| **Clear** (admin) | Remove all data for a vehicle so it can be reassigned (dropdown: vehicle from whitelist). |

| **All Vehicles** (admin) | View all players and their vehicles (including offline); search by player or vehicle. |

| **Access check** | If someone drives a personal vehicle they’re not allowed to use, they are ejected and notified. |

| **Keys** | When you or a trusted player spawns or enters an allowed vehicle, the script can give keys (qb-vehiclekeys, vehicles_keys, ox_lib, etc.). |

| **Revoke on untrust** | When you untrust someone (or remove a job vehicle), their keys are revoked and, if they’re in that vehicle, they’re removed and the vehicle is despawned. |

| **Notifications** | Built-in NUI Notifications or your framework/third-party notify (QBCore, ox_lib, okokNotify, etc.). |

## Requirements

- **Optional:** ESX, QBCore, or Qbox (for notifications and job detection)

- **Optional:** oxmysql (only if using `Config.Storage = "mysql"`)

- **Optional:** A key script (e.g. qb-vehiclekeys, vehicles_keys) if you want keys given/revoked automatically

## Installation

1. Place the `ds-vehicletrustsystem` folder in your server’s `resources` directory.

2. Add to `server.cfg`:

ensure ds-vehicletrustsystem

If using **MySQL**, ensure oxmysql runs first and run the SQL file once:

ensure oxmysql

ensure ds-vehicletrustsystem

3. Run the SQL files in `sql/` on your database (only if using MySQL):

- `sql/ds_vehicle_trust.sql` – main whitelist table

- `sql/ds_vehicle_trust_jobs.sql` – job vehicles table

- Any migration files if you’re upgrading.

4. Configure `shared/config.lua` (see below).

## Configuration

Edit **`shared/config.lua`**. Main options:

| Option | Description |

|--------|-------------|

| **Config.Locale** | UI language: `"en"`, `"de"`, `"es"`. |

| **Config.Framework** | `"auto"` (recommended), `"esx"`, `"qbcore"`, `"qbox"`, or `"none"`. |

| **Config.Storage** | `"json"` (default, uses `saved/data/whitelist.json`) or `"mysql"`. |

| **Config.AdminDiscordUserIds** | List of **Discord user IDs** that can use admin tabs and commands. Get your ID: Discord → User Settings → App Settings → Developer Mode → Right‑click your name → Copy User ID. |

| **Config.ShowAdminTabs** | If `true`, everyone sees admin tabs (actions still require admin). If `false`, only Discord admins see them. |

| **Config.KeysResource** | `"auto"` (try supported key scripts), `""` (disable), or exact resource name (e.g. `"qb-vehiclekeys"`, `"vehicles_keys"`). |

| **Config.Notify** | `"auto"` (framework → third‑party → built‑in), `"builtin"` (NUI toasts only), or a specific system (qbcore, ox_lib, okokNotify, etc.). |

| **Config.NotifyDuration** | How long (ms) notifications stay on screen (default `5000`). |

| **Config.OpenCommand** | Command to open the UI (default: `vehicletrust`). |

| **Config.OpenKey** / **Config.OpenKeyModifier** | Keybind to open UI (e.g. F7 + Left Alt). Set `OpenKey` to `nil` to disable. |

| **Config.CheckInterval** | How often (ms) to check if the driver is allowed in the current vehicle (default `5000`). |

| **Config.Discordlogging** | Set to `true` and set **Config.DiscordWebhook** to log trust/untrust/setOwner/clear to Discord. |

| **Config.DebugSoloTest** | If `true`, admins can use `/vehwl_solotest \` to set themselves as owner when testing alone. |

| **Config.SoloTestNoAdmin** | If `true`, anyone can use `/vehwl_solotest` (only for testing; set `false` on live). |

## Admin Setup

Admins are defined by **Discord user ID** only (no framework groups or ACE by default).

1. Get your Discord user ID (Developer Mode → Right‑click your name → Copy User ID).

2. In `shared/config.lua`, add it to **Config.AdminDiscordUserIds**:

Config.AdminDiscordUserIds = {

"xxxxxxxxxxxxxxxxxx",

"xxxxxxxxxxxxxxxxxx",

}

3. Restart the resource. You can now use the **Set Owner**, **Clear**, and **All Vehicles**

tabs and the `/setOwner` and `/clear` commands.

## Usage

### Players

- **Open UI:** `/vehicletrust` or the keybind (default: **Left Alt + F7**).

- **My Vehicles:** First tab lists vehicles you’re allowed to drive; click one to spawn it (with saved appearance when available).

- **Trust:** Choose a **player** and an **owned vehicle** from the dropdowns, then click **Trust**.

- **Untrust:** Same dropdowns; click **Untrust** to revoke access. Their keys are revoked and, if they’re in that vehicle, they’re removed and the vehicle is despawned.

- **Job tab:** If you have a job with vehicles configured, use the **Job** tab to spawn job vehicles and manage trusted/untrusted players for them.

- **Chat:** `/vehicles` – list your allowed vehicles in chat.

### Admins

- **Set Owner:** Open the **Set Owner** tab, choose **Player** and **Vehicle** from the dropdowns

(vehicles come from the whitelist), then click **Set Owner**.

- **Clear:** Open the **Clear** tab, choose **Vehicle** from the dropdown, then click **Clear vehicle data**.

- **All Vehicles:** View and search all players and their vehicles (including offline).

- **Chat:** `/setOwner \ \, \/clear \` (still work if you prefer typing).

## Commands

| Command | Who | Description |

|--------|-----|-------------|

| `/vehicletrust` | Everyone | Opens the UI. |

| `/vehicles` | Everyone | Lists vehicles you can drive (chat). |

| `/trust \ \ | Everyone | Trust player \id` for vehicle `spawncode` (you must own it). |

| `/untrust \ \` | Everyone | Revoke trust for that player and vehicle. |

| `/setOwner \ \ | Admin | Set player \id` as owner of `spawncode`. |

| `/clear \` | Admin | Clear all data for that vehicle. |

| `/vehwl_solotest \` | Admin (or anyone if SoloTestNoAdmin) | Set yourself as owner for testing (e.g. when alone). |

| `/vehwlsetjobvehicle \ \` | Players with that job | Add vehicle to your job’s list (run while in the vehicle to save appearance). |

| `/vehwlremovejobvehicle \ \` | Players with that job | Remove vehicle from your job’s list. |

## Key Scripts

When **Config.KeysResource** is `"auto"`, the script tries (in order) to give/revoke keys with:

- qbx_vehiclekeys, qb-vehiclekeys, qs-vehiclekeys

- Renewed-Vehiclekeys, mm_carkeys, MrNewbVehicleKeys, pb-vehiclekeys

- fivecode_carkeys, is_vehiclekeys, vehicles_keys

Set **Config.KeysResource** to the exact resource name if you use one of these, or to `"custom"` and

configure **Config.KeysCustom** / **Config.KeysCustomServer** for your key script.

Keys are given when a player spawns a vehicle or enters one they’re allowed to drive, and revoked when they’re untrusted or the vehicle is removed from their job.

## Notifications

- **Config.Notify = "auto"** – Uses your framework (QBCore, ESX, Qbox) or a supported third‑party notify (ox_lib, okokNotify, motion_notify, skys_notifications, knotify, rxnotify, mythic_notify, tab_notify, fivem_notify, sc_notify), then falls back to **built‑in NUI toasts** (top‑right).

- **Config.Notify = "builtin"** – Always use the built‑in toasts.

- **Config.NotifyDuration** – Duration in ms (default `5000`).

## Job Vehicles

- Configure job vehicles via the **Job** tab (if you have a job that’s not civilian/unemployed) or

with **/vehwlsetjobvehicle** and **/vehwlremovejobvehicle**.

- When you add a vehicle while in it, the current **appearance** (paint, extras, upgrades) is saved so job members spawn that look.

- Job vehicles are stored in `saved/data/job_vehicles.json` (JSON) or in the `ds_vehicle_trust_jobs` table (MySQL).

## Storage

- **JSON (default):** `saved/data/whitelist.json` (player trust data), `saved/data/job_vehicles.json` (job vehicles). No database required.

- **MySQL:** Set **Config.Storage = "mysql"**, ensure **oxmysql** is started before this resource,

and run the scripts in the `sql/` folder once. Tables: `ds_vehicle_trust`, `ds_vehicle_trust_jobs` (and migrations if provided).

## Testing When Alone

1. Add your **Discord user ID** to **Config.AdminDiscordUserIds** in `shared/config.lua`.

2. Set **Config.DebugSoloTest = true** (and optionally **Config.SoloTestNoAdmin = true** for quick testing).

3. In-game, run: `/vehwl_solotest ADDER` (or any spawn code). You become the owner of that vehicle.

4. Open the UI with `/vehicletrust` or the keybind – you should see the vehicle under **My Vehicles**, and

you can use **Trust** / **Untrust** (with another player), **Set Owner**, and **Clear** from the dropdowns.

5. Set **Config.SoloTestNoAdmin = false** and **Config.DebugSoloTest = false** on a live server.

## Locales

Set **Config.Locale** to `"en"`, `"de"`, or `"es"` (must match a file in `locales/`). Included:

- **locales/en.lua** – English

- **locales/de.lua** – German

- **locales/es.lua** – Spanish

You can add more locale files and set **Config.Locale** to their key.

## Credits

- Original concept: [VehicleTrustSystem]() by JaredScar.

- This version: **Deluxe Shop | UnknownGhostModz** – NUI, Discord admin, keys, job vehicles, appearance, revoke/despawn, and optional MySQL.

More vehicle scripts

ds-tractioncontrol

Vehicle Scripts

ds-tractioncontrol

$30.99
ds-dynocreator

Vehicle Scripts

ds-dynocreator

$30.99
ds-rollcoal

Vehicle Scripts

ds-rollcoalBest Seller

$30.99