Installation

Quasar Garbage Job is an immersive trash collection system for FiveM where players drive trucks, follow routes, and collect garbage for pay. Designed for teamwork, it includes animations, progress tracking, and customizable routes to fit any city layout. Compatible with ESX and QBCORE, it supports solo or multiplayer play, adding realism, utility, and community-driven roleplay to your server.


Download Script

To download the assets needed for this script, you must access the official Cfx.re portal, where all assets purchased through Tebex are managed.

  1. Go to the following link: 🔗 https://portal.cfx.re/assets/granted-assets

  2. Log in with the same Cfx.re account you used to make the purchase.

  3. In the list of granted assets, find and download the following:

    • Garbage Job


Download Dependencies

This script requires some mandatory dependencies to function correctly. Make sure to download and extract them inside your server’s main directory, keeping their original folder structure intact.


Remove Other Scripts

This script may cause conflicts or errors if you use other garbage job systems on your server. It’s strongly recommended to remove them completely before installation to prevent compatibility or functionality issues.


Server.cfg Placement

This script must always start after es_extended or qb-core, never before. We recommend placing it below in your server.cfg, ensuring that all its dependencies are started first to prevent errors or unexpected behavior.


Database Setup

This script includes an essential database required for its operation. You must import it before starting your server, preferably using HeidiSQL or any other manager compatible with MariaDB/MySQL.

ESX
INSERT INTO `jobs` (name, label) VALUES
    ('garbage_collector','Garbage Collector')
;

INSERT INTO `job_grades` (job_name, grade, name, label, salary, skin_male, skin_female) VALUES
    ('garbage_collector',0,'novice','Novice',10,'{}','{}')
;

CREATE TABLE IF NOT EXISTS `qs_garbagejob` (
    `identifier` VARCHAR(46) NOT NULL COLLATE 'utf8mb4_general_ci',
    `level` INT(10) UNSIGNED NOT NULL DEFAULT '1',
    `experience` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `total_experience` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `total_earnings` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `season_experience` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `season_earnings` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `daily_experience` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `daily_earnings` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    PRIMARY KEY (`identifier`) USING BTREE
)
;


CREATE TABLE IF NOT EXISTS `qs_garbagejob_resets` (
    `identifier` VARCHAR(46) NOT NULL COLLATE 'utf8mb4_general_ci',
    `last_daily_reset` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `last_season_reset` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`identifier`) USING BTREE
)
;

CREATE TABLE IF NOT EXISTS `qs_garbagejob_rewards` (
    id INT AUTO_INCREMENT PRIMARY KEY,
    identifier VARCHAR(255) NOT NULL,
    reward_type VARCHAR(50) NOT NULL,
    reward_amount INT NOT NULL
)
;

CREATE TABLE IF NOT EXISTS `qs_garbagejob_leaderboard_winners` (
    id INT AUTO_INCREMENT PRIMARY KEY,
    position INT NOT NULL,
    identifier VARCHAR(255) NOT NULL,
    reward_amount INT NOT NULL,
    reward_type VARCHAR(10) NOT NULL,
    UNIQUE KEY (position, reward_type)
)
;
QBCORE
CREATE TABLE IF NOT EXISTS `qs_garbagejob` (
    `identifier` VARCHAR(46) NOT NULL COLLATE 'utf8mb4_general_ci',
    `level` INT(10) UNSIGNED NOT NULL DEFAULT '1',
    `experience` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `total_experience` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `total_earnings` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `season_experience` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `season_earnings` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `daily_experience` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    `daily_earnings` INT(10) UNSIGNED NOT NULL DEFAULT '0',
    PRIMARY KEY (`identifier`) USING BTREE
)
;

CREATE TABLE IF NOT EXISTS `qs_garbagejob_resets` (
    `identifier` VARCHAR(46) NOT NULL COLLATE 'utf8mb4_general_ci',
    `last_daily_reset` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `last_season_reset` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (`identifier`) USING BTREE
)
;

CREATE TABLE IF NOT EXISTS `qs_garbagejob_rewards` (
    id INT AUTO_INCREMENT PRIMARY KEY,
    identifier VARCHAR(255) NOT NULL,
    reward_type VARCHAR(50) NOT NULL,
    reward_amount INT NOT NULL
)
;

CREATE TABLE IF NOT EXISTS `qs_garbagejob_leaderboard_winners` (
    id INT AUTO_INCREMENT PRIMARY KEY,
    position INT NOT NULL,
    identifier VARCHAR(255) NOT NULL,
    reward_amount INT NOT NULL,
    reward_type VARCHAR(10) NOT NULL,
    UNIQUE KEY (position, reward_type)
)
;