Need help? Join our Discord for support and updates

Illegal jobs

v1.0.0JobESXQBQBOX
On this page

Illegal jobs

Overview

The Illegal Jobs script allows players to engage in various illicit activities within the game, enhancing the roleplay experience. It integrates with popular frameworks like ESX and QBCore, providing a seamless experience for users. Players can utilize commands to manage their missions, adding depth to their interactions in the game world.

Compatibility

Framework: ESX, QBCore, QBox, Standalone

Target: ox_target, qb-target, or qtarget (optional) — falls back to 3D text / TextUI if none are installed

Dependencies

Required Dependencies

  • ox_lib
  • es_extended / qbcore

Optional Dependencies

  • ox_inventory
  • qb-inventory
  • qs-inventory
  • ox_target or qb-target or qtarget

Installation

1. Upload the resource

Place the resource folder inside your server's resources directory (rename it to drc_illegaljobs if needed).

2. Install dependencies

Make sure all of the following are installed and started before this script:

  • ox_lib
  • es_extended

3. Import database

No SQL file was detected.

4. Add to server.cfg

ensure ox_lib
ensure es_extended
ensure drc_illegaljobs

5. Configure the script

Open the config file and adjust the settings for your server. See the Config section below.

6. Restart and test

Restart your server (or start the resource) and test it in-game, e.g. with /cancelmission.

Config

drc_illegaljobs/shared/sh_config.lua

Config = {}
Config.Debug = false

Config.Framework = 'esx'--  'qbcore' or 'esx' /  auto-detect
Config.Callback = 'esx' -- esx, qbcore, ox_lib

Config.NewESX = true

Config.InteractionType = "target" -- target or textui or 3dtext | which type of interaction you want
Config.FrameworkTarget = 'qtarget' --qtarget or qb-target or ox_target / auto-detect

Config.DirtyMoney = false

-- Vehicle settings
Config.FuelType         = 'ox_fuel'  -- 'legacy_fuel' | 'ox_fuel' | 'ps_fuel' | 'cdn_fuel' | 'rcore'
Config.KeySystem        = 'none'     -- 'none' | 'qs' | 'wasabi' | 'fivecode' | 'qbcore'

Config.NotificationType = 'ox_lib' -- ox_lib, esx, qbcore 
Config.Progress = 'ox_lib' -- qbcore / ox_lib / esx, custom
Config.TextUI = "GTA" -- TextUIs | types: esx, ox_lib, luke, GTA

Config.Dispatch = { enabled = false, script = "cd_dispatch" } -- cd_dispatch, linden_outlawalert, ps-dispatch
Config.PoliceJobs = { 'police', 'sheriff' }
Config.Locale = 'en'

Config.DrugCourier = {
    Enabled = true, -- You can completly turn off job if you want 
    MissionStart = {
        RequiredMotorcycle = 'sanchez',
        StartJobLocation  = vec4(-1134.6642, 2683.0444, 17.5112, 132.1159), -- NPC spawn
        MotorcycleSpawn   = vec4(-1139.0625, 2678.2585, 18.0918, 203.0076)
    },
    Blip = {
        Text = 'Drug Courier',
        Sprite = 47,
        Colour = 0,
        Scale = 1.0,
        Enabled = true
    },
    SettingUp = {
        BagTorn          = true,   -- loss of drugs in a fall
        BagTornChance = 0.3, -- 30 % Chance that bag will be torn when player will drop
        DrugLooseInterval = 0.3,   -- % / s
        TimeCheck        = 120     -- bonus < 2 min
    },
    Missions = {
        PickUpLocations = {
            -- Los Santos
                vec3(-687.87, -157.58, 36.15),
                vec3(-550.77, -809.32, 29.22),
                vec3(-683.19, -879.18, 22.97),
                vec3(-950.37, -1080.84, 0.63),
                vec3(-1381.21, -641.9, 27.15),
                vec3(1170.95, -427.47, 65.57),
                vec3(1177.03, -1375.96, 33.46),
                vec3(1740.25, -1625.84, 110.9),

                -- Sandy
                vec3(2365.44, 3126.38, 46.71),
                vec3(1925.67, 3917.14, 30.97),
                vec3(2721.77, 4143.09, 42.47),
                vec3(1930.08, 4637.92, 38.85),
                vec3(1690.85, 3871.03, 33.3),

                -- Paleto
                vec3(-578.55, 5336.69, 68.68),
                vec3(-480.82, 6259.51, 11.55),
                vec3(418.31, 6520.34, 26.19),
                vec3(44.9, 6301.52, 29.71),
                vec3(-196.89, 6266.72, 29.97),
        },
    DeliveryLocations = {
            -- Los Santos
            vec3(-1348.65, -897.71, 12.0),
            vec3(84.3, -833.37, 29.48),
            vec3(461.87, -576.89, 28.98),
            vec3(720.33, -768.42, 23.41),
            vec3(1111.99, -336.32, 65.59),
            vec3(1117.99, -983.85, 44.79),
            vec3(1298.3, -1732.57, 52.32),
            vec3(1567.12, -1688.93, 86.72),

            -- Sandy
            vec3(1713.85, 3292.05, 39.64),
            vec3(1692.8, 3576.35, 34.0),
            vec3(2593.91, 4667.6, 32.55),
            vec3(2337.68, 4858.8, 40.29),
            vec3(375.55, 3583.29, 31.76),

            -- Paleto
            vec3(-563.39, 5352.41, 68.69),
            vec3(123.52, 6645.2, 30.27),
            vec3(8.03, 6413.82, 29.84),
            vec3(88.52, 6338.78, 29.7),
            vec3(-230.68, 6350.13, 30.91),
        }
    },
    Rewards = {
        BasePay   = 750,
        FastBonus = 200
    }
}

Config.DrugCourierPlane = {
    Enabled = true, -- You can completly turn off job if you want 
    MissionStart = {
        RequiredPlane = 'velum',
        StartJobLocation  = vec4(2124.0132, 4784.0747, 39.9703, 320.7332), -- NPC spawn
        PlaneSpawn   = vec4(2133.9514, 4782.4873, 40.9703, 32.9608)
    },
    Blip = {
        Text = 'Drug Courier Plane',
        Sprite = 47,
        Colour = 3,
        Scale = 1.0,
        Enabled = true
    },

    SettingUp = {
        TimeCheck        = 120,     -- bonus < 2 min
        Radar = {
        Enabled = true,
        RadarChance = 100, -- 25% Chance that i have to deliver packages close to ground or radnar will detect and end missiosn 
        MaxAltitude = 150.0,        -- Maximum height above ground (meters)
        RadarIncreaseRate = 2.0,    -- How fast the radar fills up (points/second)
        RadarDecreaseRate = 1.0     -- How fast the radar is decreasing (points/second)
        }
    },
    Missions = {
        PickUpLocations = {
            vec3(1744.7375, 3258.6650, 40.3747),
            vec3(2109.2629, 4798.8740, 40.1198)
        },
        DeliveryLocations = {
            vec3(608.6909, 3060.7236, 153.6457),
            vec3(782.4970, 2284.2239, 173.4501),
            vec3(1361.4110, 1321.8746, 239.6079),
            vec3(-41.1392, 1187.6277, 377.7266),
            vec3(-1568.2583, 1842.4442, 282.9265),
            vec3(-931.3567, 3315.6602, 311.7211),
            vec3(-593.9056, 4292.7104, 238.9242),
            vec3(-524.4116, 5459.9116, 188.8058),
            vec3(-157.5734, 6218.8408, 191.4022),
            vec3(1284.6720, 6377.6348, 163.6356),
            vec3(2201.3904, 5626.4082, 198.9831),
        }
    },
    Rewards = {
        PackageReward = 125,      -- For each package
        CompletionBonus = 250,    -- For completion
        FastBonus = 200           -- Quick bonus
    }
}


Config.StealingVehicles = {
    Enabled = true, -- You can completly turn off job if you want 
    MissionStart = {
        StartJobLocation = vec4(483.6996, -1308.1676, 28.2314, 216.0),
        MechanicLocations = {
            { NPCPos = vec4(482.1995, -1320.5299, 28.2027, 22.6),
              VehiclePos = vec4(481.4700, -1317.4192, 28.2024, 113.8) },
            { NPCPos = vec4(1527.2499, 1706.2452, 108.8277, 173.6886),
              VehiclePos = vec4(1526.2719, 1704.3002, 108.8516, 253.4705) },
            { NPCPos = vec4(-1156.2950, -2001.2639, 12.1802, 259.5517),
              VehiclePos = vec4(-1154.1318, -2002.4918, 12.1802, 169.7262) },
        }
    },
    Blip = {
        Text = 'Stealing Vehicle',
        Sprite = 47,
        Colour = 20,
        Scale = 1.0,
        Enabled = true
    },
    Settings = {
        TimeCheckSeconds = 120,      -- < 2 min = bonus
        PreconfiguredVehicles = true, -- false = the player must find the car himself
        RandomVehiclesToChoose = {'sultan', 'buffalo', 'asea', 'asterope', 'premier', 'ingot', 'intruder', 'primo', 'regina', 'stratum', 'tailgater', 'washington'}
    },

    Missions = {
        Vehicles = {
        { coords = vec4(529.5744, -1366.4850, 28.2916, 178.1833), model = 'sultan' },
        { coords = vec4(284.1036, -200.2496, 61.5706, 337.4625), model = 'premier' },
        { coords = vec4(393.3210, -644.2660, 28.5004, 266.9644), model = 'banshee' },
        { coords = vec4(474.8438, -1571.8146, 29.1100, 54.1204), model = 'primo' },
        { coords = vec4(2.6942, -1524.3180, 29.3584, 140.9384), model = 'blista' },
        { coords = vec4(-237.3722, -1477.5256, 31.4176, 319.9548), model = 'washington' },
        { coords = vec4(-325.3873, -1009.1835, 30.1623, 71.1903), model = 'sultan2' },
        { coords = vec4(-155.9751, -418.8567, 33.7891, 342.2100), model = 'regina' },
        { coords = vec4(892.2867, -1023.0254, 34.9505, 290.6540), model = 'asea' },
        },

        Customers =  {
        { npcPos = vec4(-460.9140, -1770.8843, 19.6940, 200.3199), vehiclePos = vec4(-460.4659, -1773.4069, 19.5562, 101.2381), },
        { npcPos = vec4(508.3112, -1874.6951, 25.0123, 149.0816), vehiclePos = vec4(505.5680, -1875.9952, 24.9032, 199.6981), },
        { npcPos = vec4(175.5266, -1948.5570, 18.9705, 186.5505), vehiclePos = vec4(177.3578, -1950.1550, 18.8741, 137.7058), },
        { npcPos = vec4(-1067.6049, -497.2331, 35.4242, 30.6623), vehiclePos = vec4(-1068.2214, -494.7563, 35.4981, 114.5128), },
        { npcPos = vec4(-440.0562, 118.2092, 63.7210, 326.4344), vehiclePos = vec4(-440.5823, 120.5577, 63.5674, 271.6209), },
        

        }
    },
    Rewards = {
        BasePay            = 12000,
        FastBonus          = 5000,
        ColorMatchBonus    = 100
    }
}


Config.CatalyticConvertors = {
    Enabled = true, -- You can completly turn off job if you want 
    MissionStart = {
        StartJobLocation = vec4(-12.7887, -1474.9642, 29.5531, 345.9407),
        VehicleSpawnLocation = vec4(-8.9099, -1474.4088, 30.5408, 314.8318),
    },
    Blip = {
        Text = 'Catalitic Convertors Mission',
        Sprite = 47,
        Colour = 22,
        Scale = 1.0,
        Enabled = true
    },
    Settings = {
        TimeCheckSeconds = 120,      -- < 2 min = bonus
        SuperCatsVeh = {`italirsx`, `zentorno`, `osiris`, `pfister811`, `reaper`,`cyclone`, `vacca`, `bullet`, `infernus`, `entityxf`},
        NormalCatsVeh = {`blista`, `issi2`, `dilettante`, `panto`, `prairie`, `tailgater2`, `premier`, `washington`, `ingot`, `primo2`, `baller`, `landstalker2`, `fq2`, `gresley`, `seminole2`, `rumpo`, `speedo`, `youga`, `gburrito2`, `pony`,`rebel2`, `sandking`, `dubsta3`, `bifta`, `brawler`},
        SuperVehChance = 5, -- % chances for super class
        DoesRequireTool = {Enabled = false, Item = 'bread'}, -- true = the player must have a tool
        Dispatch = {
            Chance = 25, -- 25 % that npc will call police
            WitnessNPC = true, -- If 25 alaways or only if is npc near
        }
    },
    Missions = {
        Vehicles = {
        { coords = vec4(182.9709, -855.2800, 31.1359, 166.2570)},
        { coords = vec4(1211.3940, -1276.5516, 35.2265, 103.9808)},
        { coords = vec4(894.8121, -1550.7446, 30.6343, 37.9554)},
        { coords = vec4(453.5777, -1692.6261, 29.3130, 147.3528)},
        { coords = vec4(-103.3213, -1678.4885, 29.3145, 142.2505)},
        { coords = vec4(-264.1434, -1271.7998, 30.2257, 1.0880)},
        { coords = vec4(454.3355, -797.9462, 27.3752, 358.9794)},
        { coords = vec4(954.1540, -597.4515, 59.3669, 208.2380)},
        { coords = vec4(1223.2473, -704.2632, 60.5787, 276.9522)},

        },

        Buyers =  {
        { npcPos = vec4(505.1453, -605.8608, 23.7511, 260.8718), vehiclePos = vec4(510.8262, -601.3090, 24.7511, 343.9934), MarkerPos = vec3(508.1095, -606.0330, 23.7511) },
        { npcPos = vec4(-338.4178, -1291.1711, 30.3593, 196.2282), vehiclePos = vec4(-343.3063, -1286.6753, 31.3307, 2.2090), MarkerPos = vec3(5-338.8506, -1294.9503, 30.3991) },
        { npcPos = vec4(-513.8564, -2236.8120, 5.5460, 307.8108), vehiclePos = vec4(-511.5721, -2242.4431, 6.7754, 164.8437), MarkerPos = vec3(-510.1870, -2234.0969, 5.5823) },
        { npcPos = vec4(-526.6511, -1706.5795, 18.3222, 216.7867), vehiclePos = vec4(-516.6362, -1703.4738, 19.3099, 27.4143), MarkerPos = vec3(-522.2278, -1704.6145, 18.1885) },
        { npcPos = vec4(-632.9050, -1154.6738, 8.6352, 126.6649), vehiclePos = vec4(-634.1339, -1162.1921, 9.6238, 217.0222), MarkerPos = vec3(-637.0095, -1156.0597, 8.3670) },
        }
    },

    Rewards = {
        BasePay            = 12000,
        SuperCatsBonus     = 5000,
    }
}
Last updated 7/12/2026Browse all docs →