Skip to main content

Overview

vrs_newspaper is a newspaper delivery job. Players clock in at the depot, pick a district, ride a bike out, and throw papers at ten houses. Pays on completion, with tips, bonuses, and cooldowns.

Framework support

Fully supports QBox, QBCore, and ESX via vrs_bridge.

Auto-detected systems

Inventory, target script, and vehicle keys are all detected automatically by vrs_bridge.

Persistent cooldowns

Cooldowns are stored against the character in MySQL, so relogs and restarts do not clear them.

Open configuration

Every file in config/ ships open, no escrow, so routes, pay, and throwing feel are yours to edit.

Prerequisites

Framework, inventory, target, and vehicle-key system are all detected automatically by vrs_bridge, see its config.lua to pin anything by hand.

Installation steps

Resource deployment

Drop vrs_bridge and vrs_newspaper into your resources folder.

Register the newspaper item

GTA has no newspaper weapon, so this is an alias onto a real throwable. For ox_inventory it goes in data/weapons.lua, not items.lua:
data/weapons.lua
Drop a WEAPON_NEWSPAPER.png into ox_inventory/web/images/ for the icon.

Update server.cfg

Add each resource individually, bridge first:
server.cfg
Critical load order: name resources individually, not ensure [folder], a folder-wide ensure starts in arbitrary order. vrs_bridge has to come after oxmysql and before vrs_newspaper.

Verify and boot

Boot the server. The database tables create themselves, sql/install.sql is there if you prefer to provision by hand.With Config.Debug = true in vrs_bridge, the console prints what it detected:

Optional: lock it behind a job

Set Config.Job.require = true in config.lua, then add the job to your framework:
Add to shared/jobs.lua:
shared/jobs.lua

Reference

Configuration files

Key settings (config.lua)

Admin commands

Gated behind Config.Misc.adminPermission, group.admin by default.

Troubleshooting

WEAPON_NEWSPAPER is not registered. Add it to data/weapons.lua and restart ox_inventory. New items usually need a full server restart.
Something else is stripping it. This job never force-equips; another resource is managing weapons.
Config.Papers.inventoryConsumes is false on an inventory that consumes throwables itself. Set it back to true.
groundSnap is off for that district. Set groundSnap = true on that district in routes.lua.
It needs oxmysql started before it for the cooldown store. Check the ordering in server.cfg.
vrs_bridge is older than v1.3.0. Earlier versions have no cooldown system at all, update it.
Last modified on August 12, 2026