Installation Guide

Current setup instructions for oxide-meth using ox_lib, oxmysql, and o-link.

Setup guide for the current oxide-meth resource.

Prerequisites

Required resources

ResourcePurpose
ox_libLocale, callbacks, and UI helpers
oxmysqlDatabase access
o-linkFramework abstraction used for lifecycle, character identity, inventory, notifications, targeting, and usable items

This resource depends on your o-link setup for:

  • player-ready and player-unload lifecycle events
  • character identifier lookup
  • usable item registration
  • inventory reads, writes, and image-path lookup
  • notifications
  • local entity targeting
  • callback transport through olink.callback

Installation Steps

1. Place the resource

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

2. Add startup order

Start dependencies before the resource:

ensure ox_lib
ensure oxmysql
ensure o-link
ensure oxide-meth

If your framework or inventory is consumed by o-link, ensure those resources start before o-link.

3. Install the SQL tables

Run sql/install.sql against your database.

The install creates:

TablePurpose
drugs_progressionShared drug progression rows; oxide-meth stores drug = 'meth'
drug_equipmentShared placed-equipment state for meth tables and crystallizers
meth_drying_slotsPersistent crystallizer slot state and tray metadata

4. Register items

Register these item names in the inventory system behind your o-link.inventory adapter.

Equipment

ItemLabel
meth_tableMeth Table
meth_crystallizerMeth Crystallizer
gas_maskGas Mask
meth_manualCooking Manual

Base ingredients

ItemLabel
hydrogen_peroxideHydrogen Peroxide
ammoniaAmmonia
hydrochloric_acidHydrochloric Acid
sodium_benzoateSodium Benzoate

Additives

ItemLabel
magnesium_oxideMagnesium Oxide
pain_killerPain Killer
hazardous_wasteHazardous Waste
vanilla_unicorn_pillsVanilla Unicorn Pills
lax_to_the_maxLax to the Max
cannabis_leafCannabis Leaf
cough_syrupCough Syrup
adrenalineAdrenaline
tolueneToluene
acetoneAcetone

Production chain

ItemLabel
liquid_meth_trayLiquid Meth Tray
crystallized_meth_trayCrystallized Meth Tray
baggyBaggy
crystal_methCrystal Meth
meth_baggyMeth Baggy

Variant shards

ItemLabel
crystal_meth_glassCrystal Meth (Glass)
crystal_meth_blue_skyCrystal Meth (Blue Sky)
crystal_meth_purple_hazeCrystal Meth (Purple Haze)
crystal_meth_lean_crystalCrystal Meth (Lean Crystal)
crystal_meth_green_rushCrystal Meth (Green Rush)
crystal_meth_dirty_spriteCrystal Meth (Dirty Sprite)
crystal_meth_street_mixCrystal Meth (Street Mix)
crystal_meth_rocket_fuelCrystal Meth (Rocket Fuel)
crystal_meth_club_specialCrystal Meth (Club Special)
crystal_meth_iceCrystal Meth (Ice)

Variant baggies

ItemLabel
meth_baggy_glassMeth Baggy (Glass)
meth_baggy_blue_skyMeth Baggy (Blue Sky)
meth_baggy_purple_hazeMeth Baggy (Purple Haze)
meth_baggy_lean_crystalMeth Baggy (Lean Crystal)
meth_baggy_green_rushMeth Baggy (Green Rush)
meth_baggy_dirty_spriteMeth Baggy (Dirty Sprite)
meth_baggy_street_mixMeth Baggy (Street Mix)
meth_baggy_rocket_fuelMeth Baggy (Rocket Fuel)
meth_baggy_club_specialMeth Baggy (Club Special)
meth_baggy_iceMeth Baggy (Ice)

5. Add item definitions in your inventory

Add the item names above using the format required by the inventory resource that your o-link.inventory integration points to.

Minimum examples:

['meth_table'] = {
    label = 'Meth Table',
    weight = 7000,
},

['meth_crystallizer'] = {
    label = 'Meth Crystallizer',
    weight = 5000,
},

['crystal_meth'] = {
    label = 'Crystal Meth',
    weight = 100,
},

Notes:

  • baggy and cannabis_leaf may already exist if you also run oxide-weed.
  • Keep image filenames aligned with the files copied from the packaged items/ folder.
  • All variant shard and bag items must be registered exactly or later pipeline stages will fail.

6. Copy item images

Copy the .png files from the packaged items/ folder into the image directory used by the inventory resource behind o-link.inventory.

Common locations:

  • qb-inventory/html/images/
  • ox_inventory/web/images/

7. Review configuration

Adjust these files to fit your server:

  • shared/config.lua
  • shared/config/items.lua
  • shared/config/additives.lua
  • shared/config/equipment.lua
  • shared/config/progression.lua
  • shared/config/usage.lua

Verification

  1. Start the server and confirm ox_lib, oxmysql, o-link, and oxide-meth load without dependency errors.
  2. Use /methkit to get a quick local test setup.
  3. Place a meth table and a crystallizer.
  4. Confirm cooking, tray placement, breaking, and bagging open the expected UIs.
  5. Confirm bagged meth can be used and triggers its effects flow.
  6. Confirm /methstats shows progression data.

Notes

  • Variant outputs are generated from the current additive and variant config, so keep item names exact.
  • oxide-meth does not talk directly to framework or inventory resources. Those integrations are expected to be handled by o-link.
  • The packaged web/dist build is already included. Rebuild the UI only if you edit files under web/src.

Next Steps