Installation
Requirements
| Resource | Required |
|---|---|
| OneSync | Yes |
oxmysql | Yes |
ox_lib | Yes |
One framework: qbx_core, qb-core, es_extended or vrp | Yes |
| A supported inventory | Yes (Qbox needs ox_inventory) |
ox_target or qb-target | Optional. Without one, players press E. |
lb-phone | Optional, for spray notifications |
1. Add the resource
Copy the folder into your resources directory. Keep it named exactly MOH-sprays. The item exports depend on that name.
2. Import the database
Back up your database, then import one file from install/sql/:
| Framework | File |
|---|---|
| Qbox | qbx_core.sql |
| QBCore | qb-core.sql |
| ESX | es_extended.sql |
| vRP 1 / vRP 2 | vrp.sql |
The QB and Qbox files also copy existing gang balances from management_funds into the gang funds table.
3. Add the items
-- ox_inventory/data/items.lua
['moh_alphaspray'] = {
label = 'Gang Spray', weight = 3300, stack = true, close = true, consume = 0,
client = { image = 'moh_alphaspray.png' }, server = { export = 'MOH-sprays.useItem' }
},
['moh_kingspray'] = {
label = 'King Spray', weight = 3300, stack = true, close = true, consume = 0,
client = { image = 'moh_kingspray.png' }, server = { export = 'MOH-sprays.useItem' }
},
['moh_ganglap'] = {
label = 'Gang Tablet', weight = 5000, stack = false, close = true, consume = 0,
client = { image = 'moh_ganglap.png' }, server = { export = 'MOH-sprays.useItem' }
},
['moh_sprayremove'] = {
label = 'Spray Remover', weight = 3300, stack = true, close = true, consume = 0,
client = { image = 'moh_sprayremover.png' }
},
['moh_policesprayremove'] = {
label = 'Police Spray Remover', weight = 3300, stack = true, close = true, consume = 0,
client = { image = 'moh_policesprayremove.png' }
},Copy the five entries from install/qb_items.lua
into QBCore.Shared.Items in qb-core/shared/items.lua.es_extended.sql adds the five items to the ESX items table.
If you use ox_inventory with ESX, also add the ox_inventory entries.Copy install/inventory/*.png into your inventory's image folder:
- ox_inventory:
ox_inventory/web/images/ - qb-inventory:
qb-inventory/html/images/
WARNING
Keep consume = 0 on ox_inventory. The script removes items itself after a successful placement.
4. Set admins
Admins can create gangs from the laptop. Add their Discord IDs to server/server.lua:
Config.Admins = {
'discord:123456789012345678',
}5. Start order
ensure oxmysql
ensure ox_lib
ensure qbx_core
ensure ox_inventory
ensure ox_target
ensure MOH-spraysensure oxmysql
ensure ox_lib
ensure qb-core
ensure qb-inventory
ensure qb-target
ensure MOH-spraysensure oxmysql
ensure ox_lib
ensure es_extended
ensure ox_inventory
ensure ox_target
ensure MOH-spraysKeep MOH-sprays running at all times. Gangs created in the laptop are registered by this resource.
6. Robbery in the radial menu (optional)
To show Rob player in qbx_radialmenu during spray wars, paste install/qbx_radialmenu.lua into that resource's config.lua, after Config.Menu is defined. With ox_target or qb-target, the option also appears on players, and /robwarzone works as a fallback.
7. Create your first gang
- Give yourself
moh_ganglapand open it. - Go to Gang Admin → Create Gang.
- Enter an internal name, display name, color and a direct HTTPS PNG/JPG image link.
- Assign the first leader:
- QBCore / Qbox:
/setgang <id> <gang> 3 - ESX / vRP:
/mohgangassign <id> <gang> 3
- QBCore / Qbox:
