[FREE] ZeroGravity | Parcel Delivery Job with Reputation System

Works on ESX, QBCore, OX, or Standalone frameworks.

──────────────────────────────

:sparkles: Features

:arrows_counterclockwise: Multi-framework support – ESX / QBCore / OX / Standalone
:necktie: Job restrictions – configure which jobs can deliver parcels
:star: Reputation & leveling – earn rep and unlock higher multipliers
:moneybag: Rewards – money (cash/bank) or items
:round_pushpin: Pickup & delivery points – fully customizable
:hourglass_flowing_sand: Server-side cooldowns – no spamming deliveries
:package: Immersive animations – carry a parcel prop while delivering
:bar_chart: Progress bar integration – smooth interaction feedback
:bell: Notifications – ESX, QB, OX, or chat
:dart: Interaction options[E] key or ox_target
:lock: Anti-exploit – fully server-side validated

──────────────────────────────

:open_file_folder: Installation

:one: Drop 0g_parceldelivery into your resources/[jobs] folder
:two: Add ensure 0g_parceldelivery to your server.cfg
:three: Configure config.lua (framework, rewards, points, cooldowns, etc.)

──────────────────────────────

:pushpin: Requirements

  • FiveM (cerulean)
  • Optional: ESX Legacy / QBCore / ox_inventory / ox_target

──────────────────────────────

:man_technologist: Author

Developed by ZeroGravity | BVVS
:green_heart: Free for the community – if you like it, check out my other resources:
:point_right: https://zerogravity.tebex.io

──────────────────────────────

OTHER RESOURCES

[PAID] [ESX/QB] PauseMenu - ZeroGravity

[FREE] Zer0Gravity - Minigames Pack

[PAID] [ESX] [ESCROW] Underground Businesses System (Weed/Meth, Takeovers, Raids, Upgrades)

[PAID] [ESCROW] 0g_homelesshousing – Realistic Homeless Housing System

[PAID] ZeroGravity PIN Code Minigame

[PAID] [ESX] ZeroGravity FakePlates

[PAID] [STANDALONE] 0Gravity_Loadingscreen

ZeroGravity - PackMaster

──────────────────────────────

:zap: With 0g_parceldelivery, your players don’t just fetch boxes –
they level up, gain reputation, and make the job fun & rewarding.

2 Likes


After Pressing Collect Parcel, i get this error. I use QBOX framework, if that’s of any significance.

change this:

if Config.UseProgress then
    if lib.progressBar({
        duration = Config.PickupProgress,
        label = 'Picking up parcel...',
        useWhileDead = false,
        canCancel = true,
        disable = {move = true, car = true, combat = true}
    }) then
        ClearPedTasks(ped)

        -- paczka w rękach
        if Config.UseParcelProp then
            local x,y,z = table.unpack(GetEntityCoords(ped))
            local model = GetHashKey(Config.ParcelProp)
            RequestModel(model)
            while not HasModelLoaded(model) do Citizen.Wait(0) end
            parcelObj = CreateObject(model, x, y, z, true, true, true)
            AttachEntityToEntity(parcelObj, ped, GetPedBoneIndex(ped, 57005),
                0.25, 0.0, 0.0, 0.0, 270.0, 60.0, true, true, false, true, 1, true)
        end

        hasParcel = true
        currentDelivery = Config.Deliveries[math.random(1, #Config.Deliveries)]
        CreateDeliveryBlip(currentDelivery)
        TriggerServerEvent("parcel:startMission")
    else
        ClearPedTasks(ped)
        TriggerEvent("parcel:notify", "Pickup cancelled.")
    end
end

to this:

if Config.UseProgress then
    QBCore.Functions.Progressbar("pickup_parcel", "Picking up parcel...", Config.PickupProgress, false, true, {
        disableMovement = true,
        disableCarMovement = true,
        disableCombat = true,
    }, {
        animDict = Config.AnimPickup[1],
        anim = Config.AnimPickup[2],
        flags = 49,
    }, {}, {}, function()
        ClearPedTasks(ped)

        -- paczka w rękach
        if Config.UseParcelProp then
            local x,y,z = table.unpack(GetEntityCoords(ped))
            local model = GetHashKey(Config.ParcelProp)
            RequestModel(model)
            while not HasModelLoaded(model) do Citizen.Wait(0) end
            parcelObj = CreateObject(model, x, y, z, true, true, true)
            AttachEntityToEntity(parcelObj, ped, GetPedBoneIndex(ped, 57005),
                0.25, 0.0, 0.0, 0.0, 270.0, 60.0, true, true, false, true, 1, true)
        end

        hasParcel = true
        currentDelivery = Config.Deliveries[math.random(1, #Config.Deliveries)]
        CreateDeliveryBlip(currentDelivery)
        TriggerServerEvent("parcel:startMission")
    end, function()
        ClearPedTasks(ped)
        TriggerEvent("parcel:notify", "Pickup cancelled.")
    end)
end


after doing that

join to discord: 0Gravity Dev Hub and create ticket.

Invite doesnt work

Edit: Found link. Will open ticket!
2nd Edit: Tickets not working!

Try now

this script has a some issues, you did not declare oxlib init in fxmanifest thus showing the error in the above comment, didnt declare framework getcoreobject, reputation is not persistent and some more user experience like in config not using vector3 in coords config, no locales, animation easily cancelable and stuck

edit: and you didnt even add DeliverParcel for those who are using target, hmm

Thanks for the feedback — most of these points are already on my fix list and were intentionally left out in this early build.

  • ox_lib init in fxmanifest – true, missing in this version, already added locally.
  • Framework GetCoreObject – the script is currently framework-agnostic; proper bridges for ESX/QB are being implemented.
  • Reputation persistence – this build uses in-memory logic only; database persistence is coming in the next update.
  • Config without vector3 – that’s fair, switching fully to vector3 for clarity and consistency.
  • Locales – planned, base EN locale will be added first.
  • Cancelable animation – known issue, will be locked with proper task state + disable controls.
  • DeliverParcel for target users – also planned, ox_target support will be added alongside fallback key interaction.

This was never claimed to be a final release — it’s an early version shared for testing and feedback. I appreciate the bug report, it helps polish the next update.