# TRANSPORTER JOBS

{% embed url="<https://youtu.be/468bK5y1GMA?si=JD_PID8o3M8xCtW2>" %}

### 📦 INSTALLATION GUIDE

#### 1. Download & Extract

Download the resource and unzip it. Place the entire `transporter-jobs` folder inside your server's `resources` directory.

> ⚠️ **Do not rename this folder**, otherwise the script may not work correctly.

#### 2. Start Order Configuration

Add the resource to your server start config (`server.cfg`), making sure the dependencies are started in the correct order:

```cfg
ensure oxmysql
ensure ox_lib

# Install EXTRA resources (see below)
ensure forge-calibrate
ensure npds_cf_cardboardboxes

# Main resource
ensure transporter-jobs
```

> ⚠️ **Make sure all dependencies** (framework, target system, etc.) are started **before** this script in your `server.cfg`.

#### 3. Install the SQL

Import the SQL file provided (`transporter_jobs.sql`) into your database. This file includes essential tables for:

* Player job levels and XP tracking
* Completed routes history

```sql
-- Tables created:
-- transporter_jobs_levels (stores player XP per job)
-- transporter_jobs_completed_routes (tracks completed routes)
```

If you're using **oxmysql**, ensure the wrapper is correctly installed and configured.

#### 4. Install All Extras

**🎯 PROPS**

From the `[EXTRA]` folder, install the following resources in your server:

| Resource                 | Description                                       |
| ------------------------ | ------------------------------------------------- |
| `npds_cf_cardboardboxes` | Custom cardboard box props for courier deliveries |

Place the `npds_cf_cardboardboxes` folder in your resources directory and ensure it in your `server.cfg`.

<mark style="background-color:red;">**The creator is Nukepug Design's**</mark> [<mark style="background-color:red;">**https://discord.gg/DXe7vZwN2A**</mark>](https://discord.gg/DXe7vZwN2A)<mark style="background-color:red;">**, our loyal and good friend!**</mark>&#x20;

**🎮 MINIGAMES**

Install the minigame resource located in `[EXTRA]`:

| Resource          | Description                                         |
| ----------------- | --------------------------------------------------- |
| `forge-calibrate` | Calibration minigame used during vehicle breakdowns |

#### 5. Clear Cache

Always clear your server cache and your FiveM client cache after installation to avoid any loading issues.

```
# Delete these folders:
# Server: resources/[cache]/
# Client: %localappdata%/FiveM/FiveM.app/cache/
```

#### 6. Reboot

Reboot your server completely after ensuring the script is correctly started and all configurations are in place.

***

### ⚙️ CONFIGURATION

The configuration is located in `config.lua`. Take time to understand and adjust it properly to deliver the best experience to your players.

#### Core Settings

| Setting            | Options                                        | Description                             |
| ------------------ | ---------------------------------------------- | --------------------------------------- |
| `Config.Framework` | `"ESX"`, `"QB"`, `"QBOX"`                      | Your server's framework                 |
| `Config.SQL`       | `"OXMYSQL"`, `"MYSQL-ASYNC"`, `"GHMATTIMYSQL"` | Database wrapper                        |
| `Config.Target`    | `"ox_target"`, `"qb-target"`, `""`             | Target system (empty for floating text) |
| `Config.Locale`    | `"en"`, `"es"`, `"fr"`, etc.                   | Language setting                        |

#### External Integrations (Optional)

```lua
Config.UseFuel = false              -- Enable custom fuel integration
Config.UseKeys = false              -- Enable vehicle keys integration
Config.UseCustomVehicleDelete = false -- Enable custom vehicle delete
```

> Edit the corresponding functions in `client_open_functions.lua` when enabling these options.

#### Progression System

```lua
Config.Levels = {
    MaxLevel = 20,      -- Maximum achievable level
    ExpPerLevel = 1200  -- XP required per level
}
```

#### Level Multipliers

Each level provides bonus earnings:

| Level | Multiplier | Bonus |
| ----- | ---------- | ----- |
| 1     | 1.0x       | Base  |
| 5     | 1.4x       | +40%  |
| 10    | 1.9x       | +90%  |
| 15    | 2.4x       | +140% |
| 20    | 3.0x       | +200% |

#### Job-Specific Configuration

Each job (Bus, Trucker, Courier) has its own configuration section including:

* 🚗 **Vehicle progression** by level
* 📍 **NPC locations** and spawn points
* 🗺️ **Routes** with varying difficulty and rewards
* 💰 **Payment settings** (base pay, bonuses, XP)
* ⚠️ **Random events** (breakdowns, attacks, etc.)
* 🎨 **Visual markers** and blips customization

***

### ❓ TROUBLESHOOTING

#### Common Issues

**Script not starting:**

* Ensure all dependencies are started first
* Check for errors in server console
* Verify SQL tables are created

**Vehicles not spawning:**

* Check spawn locations in config
* Ensure vehicle models exist
* Clear server cache

**UI not appearing:**

* Clear client cache
* Check NUI errors in F8 console
* Verify html files are included

**Custom props not loading:**

* Ensure `npds_cf_cardboardboxes` is started
* Check streaming folder structure
* Restart server after installing props

***

### 📞 SUPPORT

If you need support or have any questions, join our Discord:

[**Discord Support Server**](https://discord.gg/your-discord)

***

### 📄 FINAL NOTES

* 🔁 Always ensure vehicle models in config exist in your server
* 🧠 Test each job thoroughly after configuration changes
* 🌍 The script is fully localizable for your community
* 🔄 Regularly backup your database tables
* ⚡ Clear cache after any updates or changes

***

**Enjoy Transporter Jobs!** 🚌🚛📦


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://codeforge.gitbook.io/codeforge/jobs/transporter-jobs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
