Installation Guide

Step-by-step setup for Oxide Drugselling and its optional source resource integrations.

Prerequisites

Required Resources

ResourcePurpose
ox_libLocale, callbacks, animation loading, and utility helpers
o-linkFramework and system abstraction used by the resource

Optional Resources

ResourcePurpose
oxide-weedWeed level checks, XP/sold tracking, and strain trait pricing bonuses
oxide-methMeth level checks and XP/sold tracking
oxide-cocaineCocaine/crack XP/sold tracking and purity-based pricing

This resource depends on your server's o-link setup for:

  • player-ready and player-unload lifecycle events
  • player character identifiers
  • inventory reads, item removal, item addition, and image path resolution
  • dirty money account access when Config.DirtyMoney.mode = 'account'
  • job lookups for police-count checks
  • notifications
  • dispatch alerts
  • global ped targeting

Installation

Place the Resource

Place oxide-drugselling inside your server's resources folder.

Add Startup Order

Start framework and inventory dependencies before o-link, then start any optional source drug resources before oxide-drugselling.

server.cfg
ensure ox_lib

# your framework, inventory, and any dependencies required by o-link

ensure o-link
ensure oxide-weed          # optional
ensure oxide-meth          # optional
ensure oxide-cocaine       # optional
ensure oxide-drugselling

Review Configuration

Adjust:

  • shared/config.lua
  • shared/config/selling.lua
  • shared/config/drugs.lua

Important areas:

  • dirty money mode and account/item names
  • player and NPC cooldowns
  • police requirement and dispatch settings
  • blacklisted and gang ped models
  • shipped weed, meth, and cocaine item names
  • pricing modifiers and metadata field names

See Configuration Reference for the full setting breakdown.

Confirm Item Support

oxide-drugselling does not register its own item set.

It sells whatever item names you define in Config.Drugs. If you use the shipped weed, meth, and cocaine entries, make sure those items already exist in the inventory system that o-link.inventory is using on your server.

Confirm Dirty Money Mode

The payout configuration lives in shared/config.lua:

shared/config.lua
Config.DirtyMoney = {
    mode = 'account',
    account = 'cash',
    item = 'black_money',
}

Notes:

  • mode = 'account' pays through o-link.money
  • mode = 'item' pays through o-link.inventory
  • if you use item mode, that item must already exist and be addable by your inventory backend

The shipped default pays into the regular cash account — that is clean money, not dirty money. If you want sales to pay dirty money, match your framework using the table below.

FrameworkRecommended settingWhy
ESXmode = 'account', account = 'black_money'ESX includes a black money account out of the box
QBXmode = 'item', item = 'black_money'ox_inventory (QBX's inventory) includes a black_money item out of the box
QBCoremode = 'item' with your own itemQBCore has no black money account or item by default. Add a black_money item to qb-core/shared/items.lua, or use a money item you already have. The built-in markedbills item is marked unique (it doesn't stack), so it is not a good fit for payouts

Verification

Start the server and confirm ox_lib, o-link, and oxide-drugselling load without dependency errors.
Join the server with at least one configured sellable item in inventory.
Confirm the player reaches the loaded state and the resource registers its NPC interaction after o-link signals readiness.
Approach an ambient pedestrian and verify the sell interaction appears.
Open the sell panel and confirm grouped items, images, and fair-price data are present.
Complete a test sale and verify payout works in your selected dirty money mode.

Optional Source Resource Behavior

If oxide-weed, oxide-meth, or oxide-cocaine are not running, the core selling system still works.

What gets skipped for an unavailable source resource:

  • level gating for that drug type
  • XP awards back into that resource
  • sold-count tracking back into that resource
  • weed trait bonus resolution when the trait export source is unavailable

Base pricing, negotiation, robbery flow, notifications, and dirty money payout still work.

Notes for UI Developers

The packaged web/dist build is already included and referenced by the manifest. Rebuilding the UI is only necessary if you edit files under web/src.

Next Steps