Config

The default configruation provided with Possible Trucking.

The default configruation provided with Possible Trucking.

LUA Copy
return {
    Debug = false,

    loggingModule = {
        enabled   = true,
        service   = '', -- 'oxlib' or Discord webhook URL
    },
    RepSystem = {
        provider = 'cw-rep',       -- 'metadata' (QBCore/QBox only) or 'cw-rep'
        skillName = 'trucking',    -- Name used for both metadata key and cw-rep skill
        levelThreshold = 100,      -- Rep points per level (level = floor(rep / threshold) + 1)
    },
    PedModel = 's_m_m_dockwork_01',
    PedLocations = {
        {
            coords = vec4(1231.88, -3330.13, 5.65, 178.27),
            blip = {
                coords = vec3(1232.31, -3331.87, 5.78),
                Sprite = 408,
                Color = 5,
                Display = 4,
                Scale = 0.8,
                Name = 'Trucking Depot',
            },
            vehicleSpawn = vec4(1244.94, -3329.26, 6.03, 90.0),
            trailerSpawn = vec4(1257.06, -3340.52, 5.86, 0.0), -- Where trailers spawn at this depot
        },
        {
            coords = vec4(-229.72, 6273.17, 31.68, 142.5),
            blip = {
                coords = vec3(-229.72, 6273.17, 31.68),
                Sprite = 408,
                Color = 5,
                Display = 4,
                Scale = 0.8,
                Name = 'Trucking Depot',
            },
            vehicleSpawn = vec4(-222.49, 6268.088, 31.684, 132.054),
            trailerSpawn = vec4(-242.718, 6254.633, 31.489, 228.908),
        },
        {
            coords = vec4(822.249, -2142.455, 28.875, 0.339),
            blip = {
                coords = vec3(822.249, -2142.455, 28.875),
                Sprite = 408,
                Color = 5,
                Display = 4,
                Scale = 0.8,
                Name = 'Trucking Depot',
            },
            vehicleSpawn = vec4(813.917, -2119.725, 29.331, 176.445),
            trailerSpawn = vec4(834.16, -2120.094, 29.447, 82.704),
        },
        {
            coords = vec4(1413.626, 3629.442, 34.754, 199.056),
            blip = {
                coords = vec3(1413.626, 3629.442, 34.754),
                Sprite = 408,
                Color = 5,
                Display = 4,
                Scale = 0.8,
                Name = 'Trucking Depot',
            },
            vehicleSpawn = vec4(1420.673, 3623.802, 34.858, 199.457),
            trailerSpawn = vec4(1435.499, 3612.957, 34.895, 106.028),
        },
    },
    Destinations = {
        -- TIER 1: Vans (Level 0) — Short urban routes
        {
            label = 'Courier',
            requiredLevel = 0,
            vehicles = {
                { model = 'speedo2', label = 'Speedo Van' },
                { model = 'rumpo3', label = 'Rumpo Van' },
            },
            dropOffLocations = {
                {
                    coords = vec3(25.72, -1347.32, 29.50),
                    completionPedModel = 's_m_m_strvend_01',
                    completionCoords = vec4(25.72, -1347.32, 29.50, 270.0),
                    dropOffZoneRadius = 8.0,
                    minReward = 75,
                    maxReward = 150,
                    minRepGain = 1,
                    maxRepGain = 2,
                    vehicleSpawnLocation = vec4(33.0, -1340.0, 29.50, 0.0),
                    trailerSpawn = vec4(42.0, -1335.0, 29.50, 0.0),
                },
                {
                    coords = vec3(373.28, 325.65, 103.57),
                    completionPedModel = 's_m_m_postal_01',
                    completionCoords = vec4(373.28, 325.65, 103.57, 250.0),
                    dropOffZoneRadius = 8.0,
                    minReward = 80,
                    maxReward = 160,
                    minRepGain = 1,
                    maxRepGain = 2,
                    vehicleSpawnLocation = vec4(380.0, 320.0, 103.57, 250.0),
                    trailerSpawn = vec4(390.0, 315.0, 103.57, 250.0),
                },
                {
                    coords = vec3(-1222.42, -906.87, 12.33),
                    completionPedModel = 's_m_m_cntrybar_01',
                    completionCoords = vec4(-1222.42, -906.87, 12.33, 30.0),
                    dropOffZoneRadius = 8.0,
                    minReward = 100,
                    maxReward = 175,
                    minRepGain = 1,
                    maxRepGain = 2,
                    vehicleSpawnLocation = vec4(-1215.0, -912.0, 12.33, 30.0),
                    trailerSpawn = vec4(-1208.0, -918.0, 12.33, 30.0),
                },
            },
        },
        {
            label = 'GoPostal',
            requiredLevel = 0,
            vehicles = {
                { model = 'boxville2', label = 'Boxville' },
            },
            dropOffLocations = {
                {
                    coords = vec3(132.93, 96.06, 83.51),
                    completionPedModel = 's_m_m_postal_02',
                    completionCoords = vec4(132.93, 96.06, 83.51, 157.75),
                    dropOffZoneRadius = 10.0,
                    minReward = 150,
                    maxReward = 250,
                    minRepGain = 1,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(120.4, 98.05, 81.16, 69.16),
                    trailerSpawn = vec4(110.0, 90.0, 81.16, 69.16),
                },
                {
                    coords = vec3(60.97, 130.37, 79.22),
                    completionPedModel = 's_m_m_cntrybar_01',
                    completionCoords = vec4(60.97, 130.37, 79.22, 163.94),
                    dropOffZoneRadius = 10.0,
                    minReward = 175,
                    maxReward = 255,
                    minRepGain = 1,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(66.02, 125.1, 79.16, 154.73),
                    trailerSpawn = vec4(55.0, 120.0, 79.16, 154.73),
                },
            },
        },
        -- TIER 2: Medium Trucks (Level 1) — City-wide routes
        {
            label = 'Warehouse Supply',
            requiredLevel = 1,
            vehicles = {
                { model = 'mule3', label = 'Mule' },
                { model = 'benson', label = 'Benson' },
            },
            dropOffLocations = {
                {
                    coords = vec3(1065.24, -2006.38, 31.08),
                    completionPedModel = 's_m_y_dockwork_01',
                    completionCoords = vec4(1065.24, -2006.38, 31.08, 315.0),
                    dropOffZoneRadius = 10.0,
                    minReward = 175,
                    maxReward = 275,
                    minRepGain = 1,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(1072.0, -2013.0, 31.08, 315.0),
                    trailerSpawn = vec4(1080.0, -2020.0, 31.08, 315.0),
                },
                {
                    coords = vec3(-93.24, -2685.63, 6.01),
                    completionPedModel = 's_m_m_dockwork_01',
                    completionCoords = vec4(-93.24, -2685.63, 6.01, 135.0),
                    dropOffZoneRadius = 12.0,
                    minReward = 200,
                    maxReward = 300,
                    minRepGain = 2,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(-86.0, -2692.0, 6.01, 135.0),
                    trailerSpawn = vec4(-78.0, -2698.0, 6.01, 135.0),
                },
                {
                    coords = vec3(467.42, -1943.25, 24.63),
                    completionPedModel = 's_m_m_trucker_01',
                    completionCoords = vec4(467.42, -1943.25, 24.63, 140.0),
                    dropOffZoneRadius = 10.0,
                    minReward = 150,
                    maxReward = 250,
                    minRepGain = 1,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(474.0, -1950.0, 24.63, 140.0),
                    trailerSpawn = vec4(482.0, -1956.0, 24.63, 140.0),
                },
            },
        },
        -- TIER 3: Heavy Trucks (Level 2) — Industrial routes
        {
            label = 'Construction',
            requiredLevel = 2,
            vehicles = {
                { model = 'tiptruck', label = 'Tipper Truck' },
                { model = 'mixer2', label = 'Mixer' },
            },
            dropOffLocations = {
                {
                    coords = vec3(67.0, -373.09, 39.92),
                    completionPedModel = 'cs_floyd',
                    completionCoords = vec4(67.0, -373.09, 39.92, 247.47),
                    dropOffZoneRadius = 8.0,
                    minReward = 225,
                    maxReward = 275,
                    minRepGain = 1,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(75.41, -375.84, 39.92, 160.47),
                    trailerSpawn = vec4(85.0, -380.0, 39.92, 160.47),
                },
                {
                    coords = vec3(61.33, -419.06, 39.92),
                    completionPedModel = 's_m_m_cntrybar_01',
                    completionCoords = vec4(61.33, -419.06, 39.92, 74.73),
                    dropOffZoneRadius = 10.0,
                    minReward = 50,
                    maxReward = 200,
                    minRepGain = 1,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(56.17, -427.12, 39.92, 339.59),
                    trailerSpawn = vec4(46.0, -430.0, 39.92, 339.59),
                },
            },
        },
        {
            label = 'Quarry Haul',
            requiredLevel = 2,
            vehicles = {
                { model = 'rubble', label = 'Dump Truck' },
                { model = 'flatbed', label = 'Flatbed' },
            },
            dropOffLocations = {
                {
                    coords = vec3(2566.42, 2590.14, 38.08),
                    completionPedModel = 's_m_y_construct_02',
                    completionCoords = vec4(2566.42, 2590.14, 38.08, 180.0),
                    dropOffZoneRadius = 12.0,
                    minReward = 200,
                    maxReward = 325,
                    minRepGain = 2,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(2575.0, 2583.0, 38.08, 180.0),
                    trailerSpawn = vec4(2585.0, 2576.0, 38.08, 180.0),
                },
                {
                    coords = vec3(2354.68, 1511.24, 75.09),
                    completionPedModel = 's_m_m_migrant_01',
                    completionCoords = vec4(2354.68, 1511.24, 75.09, 270.0),
                    dropOffZoneRadius = 12.0,
                    minReward = 225,
                    maxReward = 350,
                    minRepGain = 2,
                    maxRepGain = 4,
                    vehicleSpawnLocation = vec4(2362.0, 1504.0, 75.09, 270.0),
                    trailerSpawn = vec4(2370.0, 1497.0, 75.09, 270.0),
                },
            },
        },
        -- TIER 4: Specialty Trucks (Level 3) — Long county routes
        {
            label = 'Lumber',
            requiredLevel = 3,
            vehicles = {
                { model = 'cutter', label = 'Lumber Cutter' },
            },
            dropOffLocations = {
                {
                    coords = vec3(-568.85, 5253.43, 70.49),
                    completionPedModel = 's_m_m_lathandy_01',
                    completionCoords = vec4(-568.85, 5253.43, 70.49, 78.29),
                    dropOffZoneRadius = 8.0,
                    minReward = 275,
                    maxReward = 290,
                    minRepGain = 1,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(-582.08, 5253.23, 70.47, 329.79),
                    trailerSpawn = vec4(-590.0, 5245.0, 70.47, 329.79),
                },
                {
                    coords = vec3(-580.78, 5303.9, 70.24),
                    completionPedModel = 's_m_m_lathandy_01',
                    completionCoords = vec4(-580.84, 5303.9, 70.23, 37.32),
                    dropOffZoneRadius = 10.0,
                    minReward = 150,
                    maxReward = 350,
                    minRepGain = 1,
                    maxRepGain = 3,
                    vehicleSpawnLocation = vec4(-593.32, 5309.4, 70.21, 263.64),
                    trailerSpawn = vec4(-600.0, 5315.0, 70.21, 263.64),
                },
            },
        },
        {
            label = 'Fuel Transport',
            requiredLevel = 3,
            vehicles = {
                { model = 'phantom', label = 'Phantom', trailer = 'tanker' },
            },
            dropOffLocations = {
                {
                    coords = vec3(2005.38, 3775.25, 32.18),
                    completionPedModel = 's_m_m_autoshop_02',
                    completionCoords = vec4(2005.38, 3775.25, 32.18, 30.0),
                    dropOffZoneRadius = 12.0,
                    minReward = 300,
                    maxReward = 450,
                    minRepGain = 2,
                    maxRepGain = 4,
                    vehicleSpawnLocation = vec4(2012.0, 3768.0, 32.18, 30.0),
                    trailerSpawn = vec4(2020.0, 3760.0, 32.18, 30.0),
                },
                {
                    coords = vec3(618.17, 2749.53, 42.09),
                    completionPedModel = 's_m_m_gaffer_01',
                    completionCoords = vec4(618.17, 2749.53, 42.09, 175.0),
                    dropOffZoneRadius = 10.0,
                    minReward = 275,
                    maxReward = 400,
                    minRepGain = 2,
                    maxRepGain = 4,
                    vehicleSpawnLocation = vec4(626.0, 2742.0, 42.09, 175.0),
                    trailerSpawn = vec4(634.0, 2735.0, 42.09, 175.0),
                },
                {
                    coords = vec3(1700.84, 4920.32, 42.07),
                    completionPedModel = 's_m_m_cntrybar_01',
                    completionCoords = vec4(1700.84, 4920.32, 42.07, 50.0),
                    dropOffZoneRadius = 12.0,
                    minReward = 325,
                    maxReward = 475,
                    minRepGain = 3,
                    maxRepGain = 5,
                    vehicleSpawnLocation = vec4(1708.0, 4913.0, 42.07, 50.0),
                    trailerSpawn = vec4(1716.0, 4906.0, 42.07, 50.0),
                },
            },
        },
        -- TIER 5: Semi Trucks (Level 4) — Cross-map hauls
        {
            label = 'Long Haul',
            requiredLevel = 4,
            vehicles = {
                { model = 'hauler', label = 'Hauler', trailer = 'trailers' },
                { model = 'packer', label = 'Packer', trailer = 'trailerlogs' },
            },
            dropOffLocations = {
                {
                    coords = vec3(1535.38, 6477.44, 23.89),
                    completionPedModel = 's_m_m_dockwork_01',
                    completionCoords = vec4(1535.38, 6477.44, 23.89, 220.0),
                    dropOffZoneRadius = 35.0,
                    minReward = 400,
                    maxReward = 600,
                    minRepGain = 3,
                    maxRepGain = 5,
                    vehicleSpawnLocation = vec4(1540.0, 6470.0, 23.89, 220.0),
                    trailerSpawn = vec4(1550.0, 6465.0, 23.89, 220.0),
                },
                {
                    coords = vec3(2677.68, 3266.75, 55.24),
                    completionPedModel = 's_m_m_dockwork_01',
                    completionCoords = vec4(2677.68, 3266.75, 55.24, 60.0),
                    dropOffZoneRadius = 35.0,
                    minReward = 350,
                    maxReward = 550,
                    minRepGain = 3,
                    maxRepGain = 5,
                    vehicleSpawnLocation = vec4(2670.0, 3260.0, 55.24, 60.0),
                    trailerSpawn = vec4(2660.0, 3255.0, 55.24, 60.0),
                },
            },
        },
        -- TIER 6: Heavy Freight (Level 5) — Highest paying, longest routes
        {
            label = 'Container Freight',
            requiredLevel = 5,
            vehicles = {
                { model = 'phantom', label = 'Phantom', trailer = 'docktrailer' },
                { model = 'hauler', label = 'Hauler', trailer = 'trailers2' },
            },
            dropOffLocations = {
                {
                    coords = vec3(103.35, 6617.84, 31.78),
                    completionPedModel = 's_m_m_dockwork_01',
                    completionCoords = vec4(103.35, 6617.84, 31.78, 315.0),
                    dropOffZoneRadius = 35.0,
                    minReward = 500,
                    maxReward = 750,
                    minRepGain = 4,
                    maxRepGain = 6,
                    vehicleSpawnLocation = vec4(110.0, 6610.0, 31.78, 315.0),
                    trailerSpawn = vec4(120.0, 6603.0, 31.78, 315.0),
                },
                {
                    coords = vec3(2132.41, 4781.06, 40.97),
                    completionPedModel = 's_m_m_trucker_01',
                    completionCoords = vec4(2132.41, 4781.06, 40.97, 135.0),
                    dropOffZoneRadius = 35.0,
                    minReward = 450,
                    maxReward = 700,
                    minRepGain = 4,
                    maxRepGain = 6,
                    vehicleSpawnLocation = vec4(2140.0, 4774.0, 40.97, 135.0),
                    trailerSpawn = vec4(2150.0, 4768.0, 40.97, 135.0),
                },
                {
                    coords = vec3(2680.16, 1530.44, 24.56),
                    completionPedModel = 's_m_y_construct_01',
                    completionCoords = vec4(2680.16, 1530.44, 24.56, 0.0),
                    dropOffZoneRadius = 35.0,
                    minReward = 475,
                    maxReward = 725,
                    minRepGain = 4,
                    maxRepGain = 6,
                    vehicleSpawnLocation = vec4(2688.0, 1538.0, 24.56, 0.0),
                    trailerSpawn = vec4(2696.0, 1545.0, 24.56, 0.0),
                },
            },
        },
    },

    PossibleTerritories = false,
    TerritoriesInfluence = 10,
    TerritoriesRewardItem = 'cash',
    TerritoriesRewardAmount = 30,

    PossibleGangLevels = true,
    GangXPReward = 5,

    AdditionalReward = false,

    MoneyLaundering = {
        enabled = true,
        dirtyMoneyItem = 'black_money',

        baseChance = 15,                 -- % chance to trigger at level 1
        chanceIncreasePerLevel = 10,     -- +10% per level
        maxChance = 75,                  -- Hard cap on chance

        baseMinAmount = 500,             -- Minimum launder amount at level 1
        baseMaxAmount = 2000,            -- Maximum launder amount at level 1
        amountIncreasePerLevel = 500,    -- Both min and max grow by this per level
        maxLaunderAmount = 10000,        -- Hard cap on amount

        baseReturnPercent = 50,          -- % of dirty money returned as clean at level 1
        increasePercentPerLevel = 5,     -- +5% return per level
        maxReturnPercent = 85,           -- Hard cap on return %

        notifyType = 'info',
    },

    DamageMultiplier = {
        enabled = true,
        perfectDeliveryThreshold = 0.95,
        goodDeliveryThreshold = 0.85,
        perfectDeliveryMultiplier = 1.25,
        goodDeliveryMultiplier = 1.10,
        showDamageNotification = true,
        damageNotificationType = 'success',
    },

    TrailerDetachTimeout = 60000, -- Time (ms) for player to reattach trailer before job cancels

    DropOffZone = {
        pedCleanupDelay = 30000,
    },

    DistanceReward = {
        enabled = true,
        ratePerUnit = 0.05,
        minimumReward = 100,
        maximumReward = 500,
        globalMultiplier = 1.0,
        trackingInterval = 1000,
    },

    VehicleCancel = {
        enabled = true,
        targetDistance = 3.0,
    },
}