Configuration

Config = {}
Config.Locale = "en" -- Supported: EN, AR, CZ, DE, EL, FR, SK, SL, SV, TR
Config.Debug = false -- Help us understand your issues.

Config.TextUI = "none" -- Options: none, ox_lib, jg-textui, qs-textui, okokTextUI, brutal_textui, 0r-textui

----------------------------------------------------------------------------
-- ⚒️ MISC CONFIGURATION ⚒️
----------------------------------------------------------------------------

Config.Misc = {
    Notify = "ox_lib", -- Supported: op_hud / okokNotify / vms_notify / brutal_notify / ox_lib / ESX / QBCORE / QBOX
    Target = "none",  -- none / ox-target / qb-target
    zoneColor = { -- Marker color.
        r = 52,
        g = 116,
        b = 235,
    },
    Icons = { -- OX Target / QB Target icons.
        courier_info = "fa-solid fa-box",
    }, 
    Peds = {
        -- You can also disable selected ped. E.X (courier_info = false)
        courier_info = {
            model = "s_m_m_postal_02",
            gender = "male"
        }
    },
} 

----------------------------------------------------------------------------
-- ⚒️ RESTRICT COURIER ⚒️
----------------------------------------------------------------------------

-- Allows you to restrict this script to selected job on your server!

Config.Restrict = {
    -- If this is set to false, everyone will be able to do this work.
    JobRestrict = {
        enable = false,
        jobName = "courier",
        jogGradeNeeded = 1, -- From which grade player will be able to access this job. If set to 3 players with: 0, 1, 2, 3 grades will have access to it.
    },
    -- Select rather the tablet should be used with command or item.
    -- Only one option can be selected.
    Item = {
        enable = true,
        itemName = "courier_tablet"
    },
    Command = {
        enable = true,
        commandName = "couriertablet"
    }
}

----------------------------------------------------------------------------
-- ⚒️ Currency Settings ⚒️
----------------------------------------------------------------------------

Config.CurrencySettings = {
    -- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
    currency = "USD",
    style = "currency",
    format = "en-US"
}

----------------------------------------------------------------------------
-- ⚒️ RANKING REWARDS ⚒️
----------------------------------------------------------------------------

-- Prize for selected Ranking Place. 
-- Ranking resets every 7 days - At sunday 9;59PM UTC

Config.RankingConfig = {
    Rewards = {
        [1] = 50000,
        [2] = 25000,
        [3] = 15000,
        [4] = 5000,
        [5] = 5000,
        [6] = 5000,
        [7] = 5000,
        [8] = 5000,
        [9] = 5000,
        [10] = 5000,
    }
}

----------------------------------------------------------------------------
-- ⚒️ EXTRA COURIER REWARDS FOR LEVEL ⚒️
----------------------------------------------------------------------------

-- This is optional, you can set how many additonal rewards you want for reaching selected level.

Config.LevelRewards = {
    {
        message = "Extra Money Bonus for Reaching level.",
        quantity = 10000,
        spawnName = "",
        spawnLabel = "",
        rewardtype = "money", -- money/item
        level = 5
    },
    {
        message = "Items Bonus for Reaching level.",
        quantity = 1,
        spawnName = "courier_tablet",
        spawnLabel = "Courier Tablet",
        rewardtype = "item", -- money/item
        level = 7
    },
}

----------------------------------------------------------------------------
-- ⚒️ Blips Settings ⚒️
----------------------------------------------------------------------------

Config.Blips = {
    size = 0.8,
    parcelDeliver = {
        blipId = 478, 
        blipColor = 1
    },
    parcelPickup = {
        blipId = 478, 
        blipColor = 1
    },
    parcelsLoading = {
        blipId = 479, 
        blipColor = 2
    },
    parcelsUnloading = {
        blipId = 479, 
        blipColor = 2
    },
    transportTrailer = {
        blipId = 479, 
        blipColor = 2
    },
    transportTrailerUnloading = {
        blipId = 479, 
        blipColor = 2
    },
    couriersheadquarter = {
        blipId = 682, 
        blipColor = 5
    },
    gopostalpaleto = {
        blipId = 682, 
        blipColor = 5
    },
}

----------------------------------------------------------------------------
-- ⚒️ Work Vehicles ⚒️
----------------------------------------------------------------------------

-- Available Classes:
-- 1 - Default Class vehicle
-- 2 - Medium Class vehicle
-- 3 - High Class vehicle
-- 4 - Truck Class vehicle

Config.Vehicles = {
    ['rumpo2'] = {
        visible = true, -- Disable vehicle from vehicle store. It will keep label and image for exist vehicle of this model.
        price = 165000,
        resellprice = 90000,
        class = 1,
        label = "Rumpo",
        requiredLevel = 1,
        name = "rumpo2",
        image = "https://data.otherplanet.dev/scripts/assets/op-courierjob/rumpo2b.png",
        settings = {
            color1 = 111,
        }
    },
    ['boxville2'] = {
        visible = true, -- Disable vehicle from vehicle store. It will keep label and image for exist vehicle of this model.
        price = 225000,
        resellprice = 175000,
        class = 2,
        label = "Box Ville",
        requiredLevel = 10,
        name = "boxville2",
        image = "https://data.otherplanet.dev/scripts/assets/op-courierjob/boxville2d.png",
        settings = {
            color1 = 111,
            color2 = 73
        }
    },
    -- If you want to use this vehicle download it from gta5mods
    -- https://www.gta5-mods.com/vehicles/vapid-speedo-express-add-on-liveries/download/156640
    ['nspeedo'] = {
        visible = true, -- Disable vehicle from vehicle store. It will keep label and image for exist vehicle of this model.
        price = 320000,
        resellprice = 270000,
        class = 3,
        label = "Vapid Speedo",
        requiredLevel = 25,
        name = "nspeedo",
        image = "https://data.otherplanet.dev/scripts/assets/op-courierjob/nspeedod.png",
        settings = {
            livery = 3,
            color1 = 111,
            color2 = 0,
        }
    },
    ['pounder'] = {
        visible = true, -- Disable vehicle from vehicle store. It will keep label and image for exist vehicle of this model.
        price = 250000,
        resellprice = 210000,
        class = 3,
        label = "Pounder",
        requiredLevel = 20,
        name = "pounder",
        image = "https://data.otherplanet.dev/scripts/assets/op-courierjob/pounderd.png",
        settings = {
            extras = {0,1},
        }
    },
    ['packer'] = {
        visible = true, -- Disable vehicle from vehicle store. It will keep label and image for exist vehicle of this model.
        price = 380000,
        resellprice = 320000,
        class = 4,
        label = "Packer",
        requiredLevel = 35,
        name = "packer",
        image = "https://data.otherplanet.dev/scripts/assets/op-courierjob/packerb.png",
        settings = {}
    }
}

----------------------------------------------------------------------------
-- ⚒️ LOCATIONS ⚒️
----------------------------------------------------------------------------

Config.Locations = {
    --- @param owner This can be edited to what ever you want, its displayed in interactive map in our tablet.
    ['couriersheadquarter'] = { -- Main Headquarter in Los Santos. Do not change the name.
        coords = vec4(132.9341, 96.4742, 82.5076, 158.1276),
        owner = "Go Postal" 
    },
    ['gopostalpaleto'] = { -- Headquarter in paleto bay from where you will take trailer with parcels. Do not change the name.
        coords = vec4(-421.9110, 6135.9741, 30.8773, 164.6140),
        owner = "Post OP" 
    },
}

----------------------------------------------------------------------------
-- ⚒️ WORK LOCATIONS ⚒️
----------------------------------------------------------------------------

-- List of locations to deliver parcels.

Config.StopsList = {
    ['deliver_ls'] = {
        vec4(968.2966, -452.9952, 61.4028, 268.8917),
        vec4(962.5823, -594.9127, 58.9026, 54.7232),
        vec4(1219.5494, -668.7058, 62.0808, 99.4096),
        vec4(1302.6296, -528.9637, 70.4607, 155.3472),
        vec4(-968.7689, 123.5500, 55.7979, 251.8530),
        vec4(-903.8851, 191.7064, 68.4459, 99.5173),
        vec4(-1024.1484, 359.4759, 70.3613, 232.4758),
        vec4(-1094.2466, 427.2660, 74.8800, 264.2621),
        vec4(-951.7908, -1078.5582, 1.1503, 214.1794),
        vec4(-991.6857, -1103.4702, 1.1503, 226.9572),
        vec4(-949.7640, -905.1773, 1.1597, 294.3839),
        vec4(-1113.9283, -1192.7280, 1.3264, 22.2465),
        vec4(-1146.4829, -1139.2714, 1.8366, 126.9309),
        vec4(-1452.9558, -653.1386, 28.5831, 120.3134),
        vec4(-1463.2001, -661.5018, 28.5829, 29.8387),
        vec4(-1497.8640, -664.5109, 32.3812, 298.6977),
        vec4(16.3569, -1443.8923, 29.9491, 157.6105),
        vec4(-64.1946, -1450.0139, 31.5249, 181.8596),
        vec4(-32.7655, -1446.2245, 30.8914, 89.1618),
        vec4(-174.6353, -1529.0999, 33.3538, 149.3940),
        vec4(-184.2371, -1539.6302, 33.3586, 233.2363),
        vec4(-192.0735, -1559.7103, 37.3350, 340.7999),
        vec4(-33.6476, -1847.2903, 25.1935, 253.7871),
        vec4(-4.7583, -1871.1262, 23.1510, 352.7866),
        vec4(45.4087, -1864.7876, 22.2783, 135.4478),
        vec4(150.0732, -1864.6816, 23.5913, 167.0970),
        vec4(250.5309, -1934.7866, 23.6993, 65.6981),
    },
    ['deliver_ss'] = {
        vec4(1643.4395, 3727.9031, 34.0671, 303.1176),
        vec4(1762.8708, 3824.6511, 33.7678, 26.7727),
        vec4(1729.3673, 3850.6775, 33.7276, 224.0684),
        vec4(1662.2897, 3820.3972, 34.4697, 279.9086),
        vec4(1837.9202, 3906.8884, 32.2593, 97.1959),
        vec4(1921.0941, 3913.0139, 32.4417, 324.0739),
        vec4(1937.3754, 3890.6714, 31.4434, 197.1385),
        vec4(1899.8673, 3782.2368, 31.8097, 297.5984),
        vec4(1827.4207, 3729.5515, 32.9619, 306.9475),
        vec4(1779.2421, 3641.5535, 33.4921, 350.0758),
        vec4(388.6077, 3586.0374, 32.2922, 306.4489),
        vec4(2164.9905, 3396.6201, 44.4419, 352.8790),
        vec4(2164.7898, 3373.4187, 44.3092, 181.3232),
        vec4(2153.4871, 3359.5728, 44.4972, 203.7533),
        vec4(2168.0017, 3331.7283, 45.4634, 62.6913),
    },
    ['deliver_gr'] = {
        vec4(1965.9922, 4635.3101, 39.7831, 30.8986),
        vec4(1958.2145, 4629.2837, 39.7751, 59.9082),
        vec4(1720.9919, 4640.6743, 42.3139, 109.0560),
        vec4(1675.7417, 4657.6816, 42.3711, 274.6173),
        vec4(1717.5963, 4675.6118, 42.6558, 173.0978),
        vec4(1684.1654, 4687.9082, 42.0626, 207.9939),
        vec4(1664.0537, 4775.2095, 41.0027, 217.8958),
        vec4(1682.0437, 4852.3228, 41.0767, 96.6622),
        vec4(2016.4285, 4987.3853, 41.0983, 213.4018),
        vec4(1963.7992, 5184.3066, 46.9772, 209.2794),
        vec4(2563.8035, 4681.2700, 33.0817, 23.6649),
        vec4(3311.9641, 5175.9937, 18.6146, 233.4620),
    },
    ['deliver_paleto'] = {
        vec4(-89.3361, 6356.8359, 30.5759, 181.4375),
        vec4(-103.0772, 6331.2725, 30.5762, 328.8999),
        vec4(-106.0938, 6334.1670, 34.5007, 226.3523),
        vec4(-215.0628, 6396.5884, 32.0850, 50.7622),
        vec4(-247.6310, 6413.1895, 30.1951, 111.7111),
        vec4(-271.4618, 6399.8198, 30.3411, 214.8802),
        vec4(-280.8046, 6351.5142, 31.6001, 17.2427),
        vec4(-303.5228, 6329.2666, 31.4894, 35.7138),
        vec4(-404.9812, 6313.3652, 27.9466, 287.6089),
        vec4(-378.5748, 6255.3145, 30.5358, 329.6221),
        vec4(-373.9585, 6190.1714, 30.7295, 253.2002),
        vec4(-355.3149, 6205.6934, 30.4893, 228.9305),
        vec4(-688.0670, 5787.7832, 16.3309, 180.7408),
    },
    ['pickup_ls'] = {
        vec4(-708.3206, -919.0710, 18.0144, 167.8300),
        vec4(-1223.9473, -898.9139, 11.4161, 54.8985),
        vec4(-2074.5991, -324.4920, 12.3160, 94.3986),
        vec4(21.3919, -1351.7721, 28.3278, 124.4370),
        vec4(1208.3324, -1390.3391, 34.3769, 204.1546),
    },
    ['pickup_gr_ss'] = {
        vec4(906.0754, 3643.1638, 31.7111, 186.9288),
        vec4(903.9047, 3586.9558, 32.3881, 277.1061),
        vec4(1392.9603, 3597.0942, 34.0386, 196.0086),
        vec4(1836.7448, 3671.4368, 33.2768, 249.7499),
        vec4(1894.6796, 3713.5369, 31.7712, 143.6286),
        vec4(1966.7053, 3739.9834, 31.3455, 225.3556),
        vec4(1997.0410, 3778.2864, 31.2369, 173.4487),
        vec4(1960.4178, 3834.7808, 31.1813, 340.8529),
        vec4(1994.0525, 3053.2700, 46.2146, 314.8549),
        vec4(1165.1503, 2702.0886, 37.1802, 212.9030),
        vec4(1046.5679, 2664.7727, 38.5510, 275.0343),
        vec4(594.3997, 2742.8484, 41.0412, 205.4172),
        vec4(548.2581, 2675.1045, 41.1979, 322.1682),
        vec4(1693.3865, 4785.9507, 40.9215, 158.0786),
        vec4(1700.4609, 4935.0625, 41.0779, 52.7101),
    },
    ['pickup_paleto'] = {
        vec4(1728.1240, 6411.9106, 34.0009, 150.9121),
        vec4(407.3609, 6496.5957, 26.8590, 220.3743),
        vec4(163.4406, 6631.6011, 30.6412, 98.5606),
        vec4(123.6240, 6636.2681, 30.8628, 225.5500),
        vec4(-76.4709, 6535.5356, 30.4899, 28.7860),
        vec4(-194.3200, 6267.5078, 30.4893, 10.4849),
        vec4(-199.1160, 6234.1323, 30.5021, 200.2345),
        vec4(-325.5069, 6073.0000, 30.2207, 281.9497),
        vec4(-441.2041, 6021.7041, 30.4901, 303.5545),
        vec4(-409.0935, 6063.3794, 30.5001, 166.9420),
        vec4(-389.3065, 6047.9185, 30.5001, 116.8188),
        vec4(-687.8128, 5789.2227, 16.3308, 232.6742),
        vec4(-771.8196, 5595.7793, 32.4870, 154.0351),
    }
}


----------------------------------------------------------------------------
-- ⚒️ WORK LOADING PARCELS TO VAN LOCATIONS ⚒️
----------------------------------------------------------------------------

-- Those are coords where parcels spawns to load them to van.
-- Do not edit name of job.

Config.LoadingLocations = {
    ['deliver_ls'] = {
        vec4(62.4241, 125.1277, 78.1973, 164.5466),
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(117.0207, 99.6795, 79.9382, 157.4070),
        vec4(113.3437, 101.7298, 79.8803, 159.1689),
    },
    ['deliver_ss'] = {
        vec4(62.4241, 125.1277, 78.1973, 164.5466),
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(117.0207, 99.6795, 79.9382, 157.4070),
        vec4(113.3437, 101.7298, 79.8803, 159.1689),
    },
    ['deliver_gr'] = {
        vec4(62.4241, 125.1277, 78.1973, 164.5466),
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(117.0207, 99.6795, 79.9382, 157.4070),
        vec4(113.3437, 101.7298, 79.8803, 159.1689),
    },
    ['deliver_paleto'] = {
        vec4(62.4241, 125.1277, 78.1973, 164.5466),
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(117.0207, 99.6795, 79.9382, 157.4070),
        vec4(113.3437, 101.7298, 79.8803, 159.1689),
    },
    ['pickup_ls'] = {
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(117.0207, 99.6795, 79.9382, 157.4070),
        vec4(113.3437, 101.7298, 79.8803, 159.1689),
    },
    ['pickup_gr_ss'] = {
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(117.0207, 99.6795, 79.9382, 157.4070),
        vec4(113.3437, 101.7298, 79.8803, 159.1689),
    },
    ['pickup_paleto'] = {
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(70.4843, 122.7677, 78.1836, 165.1232),
        vec4(117.0207, 99.6795, 79.9382, 157.4070),
        vec4(113.3437, 101.7298, 79.8803, 159.1689),
    },
}

----------------------------------------------------------------------------
-- ⚒️ TRANSPORT PARCELS CONFIG ⚒️
----------------------------------------------------------------------------

Config.TransportJob = {
    TrailerNameSpawn = "trailers2",
    TrailerSettings = {
        livery = 4,
    },
    PickupLocations = {
        vec4(-437.2430, 6140.4268, 31.4784, 224.0917),
    },
    DeliverLocations = {
        vec4(102.6065, 96.8018, 79.8559, 246.1069),
    }
}

----------------------------------------------------------------------------
-- ⚒️ WORK list ⚒️
----------------------------------------------------------------------------

-- IMPORTANT: Do not change name value!! It will completly destroy translations.

Config.Jobs = {
    ["deliver_ls"] = {
        name = "deliver_ls",
        requiredLevel = 1,
        requiredVehicleClass = 1,
        rewardMoney = 5000,
        expGain = 100,
        generateStops = { -- How many stops script will generete for this Job.
            min = 6,
            max = 10, 
        }
    },
    ["deliver_ss"] = {
        name = "deliver_ss",
        requiredLevel = 5,
        requiredVehicleClass = 1,
        rewardMoney = 15000,
        expGain = 200,
        generateStops = { -- How many stops script will generete for this Job.
            min = 8,
            max = 12, 
        }
    },
    ["deliver_gr"] = {
        name = "deliver_gr",
        requiredLevel = 10,
        requiredVehicleClass = 2,
        rewardMoney = 20000,
        expGain = 300,
        generateStops = { -- How many stops script will generete for this Job.
            min = 8,
            max = 10, 
        }
    },
    ["deliver_paleto"] = {
        name = "deliver_paleto",
        requiredLevel = 15,
        requiredVehicleClass = 2,
        rewardMoney = 28500,
        expGain = 400,
        generateStops = { -- How many stops script will generete for this Job.
            min = 12,
            max = 14, 
        }
    },
    ["pickup_ls"] = {
        name = "pickup_ls",
        requiredLevel = 20,
        requiredVehicleClass = 1,
        rewardMoney = 32500,
        expGain = 400,
        generateStops = { -- How many stops script will generete for this Job.
            min = 8,
            max = 12, 
        }
    },
    ["pickup_gr_ss"] = {
        name = "pickup_gr_ss",
        requiredLevel = 25,
        requiredVehicleClass = 2,
        rewardMoney = 35500,
        expGain = 500,
        generateStops = { -- How many stops script will generete for this Job.
            min = 10,
            max = 12, 
        }
    },
    ["pickup_paleto"] = {
        name = "pickup_paleto",
        requiredLevel = 30,
        requiredVehicleClass = 3,
        rewardMoney = 37500,
        expGain = 600,
        generateStops = { -- How many stops script will generete for this Job.
            min = 12,
            max = 14, 
        }
    },
    ["transport_parcels"] = {
        name = "transport_parcels",
        requiredLevel = 50,
        requiredVehicleClass = 4,
        rewardMoney = 59500,
        expGain = 700,
    }
}

Last updated