Installation
3
6
Last updated
Coming from v2? Follow Migrate from v2 instead; it wraps these steps and carries your data and edits over.
Make sure everything on the Dependencies page is installed and starting before this resource. OneSync must be enabled.
Download the package from Portal, unzip it, and put both folders in your server's resources directory:
rm_decalv: the script
rm_decalv_assets: decal types (decals.dat), streamed textures
Do not rename the folders, and do not restart rm_decalv_assets on a populated server. Its decal types mount when the game level loads, which means they only register for players who join while it is running. Start it at boot and leave it alone; restarting rm_decalv itself is always safe.
Add both to your server.cfg, below oxmysql, ox_lib and your framework so the dependencies are already running:
ensure oxmysql
ensure ox_lib
ensure qb-core # your framework
ensure rm_decalv_assets
ensure rm_decalvKeep rm_decalv_assets above rm_decalv; the script checks for rm_decalv_assets at start and warns when it cannot find it. Neither needs to sit at the top of the file: anywhere below the dependencies works, as long as both are running before players connect.
Commands work out of the box. If you also want item entry points, set cfg.disableItems = false and register the items. Ready-made definitions ship in the resource's [items]/ folder:
items - ox_inventory.lua: paste into ox_inventory's data/items.lua. The entries route their use through the resource directly, so this works even without a qb/esx bridge.
items - qb shared.lua: paste into qb-core's shared/items.lua (bring your own inventory images).
items.sql: run against the ESX items table.
The defaults are paint_spray (opens the catalog), scraper (vehicle clearing mode) and white_spray (graffiti clearing). Item names are yours to change in cfg.items. Set cfg.deleteItemInUse = true to consume the item on use.
Admins manage the panel, place permanent decals, and bypass zones, limits and ownership checks. Anyone with the ace permission command (txAdmin admins) already counts; everyone else goes into cfg.adminList:
cfg.adminList = {
['license:0aa00a00a00aa000a000000a00000a00a00aa000'] = true,
['XWJ4Q354'] = true, -- citizenid (qb/qbox)
}Open the catalog in-game with /decals. Then head to Configuration to tune permissions, limits and features.
The debug overlay (/decals_debug, admin-only) tells you at a glance whether the decal types registered, textures resolve and the catalog loaded. Check it first whenever something looks off.
Last updated