Skip to content

QBCore Installation

This page covers the full QBCore installation for ARS VVS Guns V2. Follow every step below in order. After completing this guide, follow your inventory installation guide to finish setup.

Important: This is a collaboration script. The weapon assets are made by VVS Customs. This script requires two separate purchases:

You must purchase VVSGUNV2 from VVS Customs for weapons to work.


  • Latest FiveM build
  • oxmysql - Database connection
  • ox_lib - UI and library functions
  • vvsgunspacks - VVSGUNV2 weapon asset pack by VVS Customs (purchase required: https://vvscustoms.tebex.io/package/7430699)
  • QB-Core framework

Run the following SQL in your database:

CREATE TABLE IF NOT EXISTS `ars_vvsguns_v2` (
`job` varchar(50) COLLATE armscii8_bin DEFAULT NULL,
`stock` longtext COLLATE armscii8_bin DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=armscii8 COLLATE=armscii8_bin;
DELETE FROM `ars_vvsguns_v2`;

Open qb-core/shared/jobs.lua and add this entry to the QBShared.Jobs table:

['vvsgundealer'] = {
label = 'VVS Guns',
defaultDuty = true,
grades = {
['0'] = {
name = 'Goldsmith',
payment = 50
},
['1'] = {
name = 'Shopkeeper',
payment = 75
},
['2'] = {
name = 'Manager',
payment = 100
},
['3'] = {
name = 'Owner',
payment = 125,
isboss = true,
},
},
},

Open your qb-management config file and add the boss menu location:

  • Old versions: qb-management/client/cl_config.lua
  • New versions: qb-management/config.lua

Add this entry:

['vvsgundealer'] = {
vector3(458.9583, -1799.0593, 29.6252),
},

Open qb-core/shared/items.lua and add these entries to QBShared.Items:

["weapon_apcvvr"] = {
name = "weapon_apcvvr",
label = "APC Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_SMG",
image = "WEAPON_APCVVR",
description = "A compact automatic weapon effective in close quarters.",
},
["weapon_ar15cvvr"] = {
name = "weapon_ar15cvvr",
label = "AR15C Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_RIFLE",
image = "WEAPON_AR15CVVR",
description = "A reliable rifle platform built for mid to long range engagements.",
},
["weapon_ar15tvvr"] = {
name = "weapon_ar15tvvr",
label = "AR15T Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_RIFLE",
image = "WEAPON_AR15TVVR",
description = "A tactical rifle with strong all-around performance.",
},
["weapon_arp9vvr"] = {
name = "weapon_arp9vvr",
label = "ARP9 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_SMG",
image = "WEAPON_ARP9VVR",
description = "A lightweight pistol-caliber platform suited for fast engagements.",
},
["weapon_arpvvr"] = {
name = "weapon_arpvvr",
label = "ARP Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_RIFLE",
image = "WEAPON_ARPVVR",
description = "A modern rifle platform with balanced handling and firepower.",
},
["weapon_bruenvvr"] = {
name = "weapon_bruenvvr",
label = "Bruen Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_RIFLE",
image = "WEAPON_BRUENVVR",
description = "A heavy automatic weapon designed for sustained fire.",
},
["weapon_deaglevvr"] = {
name = "weapon_deaglevvr",
label = "Deagle Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_PISTOL",
image = "WEAPON_DEAGLEVVR",
description = "A high-caliber sidearm with powerful stopping force.",
},
["weapon_dracovvr"] = {
name = "weapon_dracovvr",
label = "Draco Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_RIFLE",
image = "WEAPON_DRACOVVR",
description = "A compact rifle variant with aggressive close-range performance.",
},
["weapon_g17svvr"] = {
name = "weapon_g17svvr",
label = "G17S Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_PISTOL",
image = "WEAPON_G17SVVR",
description = "A dependable sidearm configured for versatility.",
},
["weapon_g17vvr"] = {
name = "weapon_g17vvr",
label = "G17 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_PISTOL",
image = "WEAPON_G17VVR",
description = "A standard-duty handgun known for balance and reliability.",
},
["weapon_g40vvr"] = {
name = "weapon_g40vvr",
label = "G40 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_PISTOL",
image = "WEAPON_G40VVR",
description = "A full-size pistol offering strong accuracy and control.",
},
["weapon_g45vvr"] = {
name = "weapon_g45vvr",
label = "G45 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_PISTOL",
image = "WEAPON_G45VVR",
description = "A modern sidearm built for fast response and dependable handling.",
},
["weapon_mp7vvr"] = {
name = "weapon_mp7vvr",
label = "MP7 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_SMG",
image = "WEAPON_MP7VVR",
description = "A compact personal defense weapon with a high fire rate.",
},
["weapon_spas12vvr"] = {
name = "weapon_spas12vvr",
label = "SPAS12 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_SHOTGUN",
image = "WEAPON_SPAS12VVR",
description = "A powerful shotgun built for devastating close-range impact.",
},
["weapon_thompsonvvr"] = {
name = "weapon_thompsonvvr",
label = "Thompson Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_SMG",
image = "WEAPON_THOMPSONVVR",
description = "A classic submachine gun with strong close-quarters performance.",
},
["weapon_sm17vvr"] = {
name = "weapon_sm17vvr",
label = "SM17 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_PISTOL",
image = "WEAPON_SM17VVR",
description = "A full-size pistol offering strong accuracy and control.",
},
["weapon_m45vvr"] = {
name = "weapon_m45vvr",
label = "M45 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_PISTOL",
image = "WEAPON_M45VVR",
description = "A full-size pistol offering strong accuracy and control.",
},
["weapon_fn5vvr"] = {
name = "weapon_fn5vvr",
label = "FN5 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_PISTOL",
image = "WEAPON_FN5VVR",
description = "A full-size pistol offering strong accuracy and control.",
},
["weapon_p90vvr"] = {
name = "weapon_p90vvr",
label = "P90 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_SMG",
image = "WEAPON_P90VVR",
description = "A compact personal defense weapon with a high fire rate.",
},
["weapon_ak102vvr"] = {
name = "weapon_ak102vvr",
label = "AK102 Custom",
weight = 1400,
type = "weapon",
ammo = "AMMO_RIFLE",
image = "WEAPON_AK102VVR",
description = "A compact rifle variant with aggressive close-range performance.",
},
["weapon_bowievvr"] = {
name = "weapon_bowievvr",
label = "Bowie Knife Custom",
weight = 800,
type = "weapon",
ammotype = nil,
image = "WEAPON_BOWIEVVR",
description = "A heavy combat knife built for close-quarters combat.",
},
["weapon_butterflyvvr"] = {
name = "weapon_butterflyvvr",
label = "Butterfly Knife Custom",
weight = 500,
type = "weapon",
ammotype = nil,
image = "WEAPON_BUTTERFLYVVR",
description = "A sleek folding blade with fast handling.",
},
["weapon_dragonkatanavvr"] = {
name = "weapon_dragonkatanavvr",
label = "Katana Dragon Custom",
weight = 1200,
type = "weapon",
ammotype = nil,
image = "WEAPON_DRAGONKATANAVVR",
description = "A sharp dragon-themed katana forged for deadly melee strikes.",
},
["weapon_karambitvvr"] = {
name = "weapon_karambitvvr",
label = "Karambit Custom",
weight = 400,
type = "weapon",
ammotype = nil,
image = "WEAPON_KARAMBITVVR",
description = "A curved tactical blade designed for precision close combat.",
},
["weapon_tacticalaxevvr"] = {
name = "weapon_tacticalaxevvr",
label = "Tactical Axe Custom",
weight = 1400,
type = "weapon",
ammotype = nil,
image = "WEAPON_TACTICALAXEVVR",
description = "A heavy tactical axe capable of devastating melee damage.",
},
["extendedmag1"] = {
name = "extendedmag1",
label = "Extended Mag 1",
weight = 1,
type = "item",
image = "extendedmag1.png",
unique = false,
useable = false,
shouldClose = true,
combinable = nil,
description = "Extended Mag 1.",
},
["extendedmag2"] = {
name = "extendedmag2",
label = "Extended Mag 2",
weight = 1,
type = "item",
image = "extendedmag2.png",
unique = false,
useable = false,
shouldClose = true,
combinable = nil,
description = "Extended Mag 2.",
},
["extendedmag3"] = {
name = "extendedmag3",
label = "Extended Mag 3",
weight = 1,
type = "item",
image = "extendedmag3.png",
unique = false,
useable = false,
shouldClose = true,
combinable = nil,
description = "Extended Mag 3.",
},
["scope"] = {
name = "scope",
label = "Scope",
weight = 1,
type = "item",
image = "scope.png",
unique = false,
useable = false,
shouldClose = true,
combinable = nil,
description = "Scope.",
},
["laser"] = {
name = "laser",
label = "Laser",
weight = 1,
type = "item",
image = "laser.png",
unique = false,
useable = false,
shouldClose = true,
combinable = nil,
description = "Laser.",
},
["suppressor"] = {
name = "suppressor",
label = "Suppressor",
weight = 1,
type = "item",
image = "scope.png",
unique = false,
useable = false,
shouldClose = true,
combinable = nil,
description = "Suppressor.",
},
["grip"] = {
name = "grip",
label = "Grip",
weight = 1,
type = "item",
image = "grip.png",
unique = false,
useable = false,
shouldClose = true,
combinable = nil,
description = "Grip.",
},
["goldcamo"] = {
name = "goldcamo",
label = "Gold Camo",
weight = 1,
type = "item",
image = "goldcamo.png",
unique = false,
useable = false,
shouldClose = true,
combinable = nil,
description = "Gold Camo.",
},
["diamondcamo"] = {
name = "diamondcamo",
label = "Diamond Camo",
weight = 1,
type = "item",
image = "diamondcamo.png",
unique = false,
useable = false,
shouldClose = true,
combinable = nil,
description = "Diamond Camo.",
},

Open qb-core/shared/weapons.lua and add these entries to QBShared.Weapons:

[`weapon_apcvvr`] = { name = "weapon_apcvvr", label = "APC Custom", weapontype = "SMG", ammotype = "AMMO_SMG", damagereason = "Ended / SMG / Shot down / Floored" },
[`weapon_ar15cvvr`] = { name = "weapon_ar15cvvr", label = "AR15C Custom", weapontype = "Rifle", ammotype = "AMMO_RIFLE", damagereason = "Ended / Rifled / Shot down / Floored" },
[`weapon_ar15tvvr`] = { name = "weapon_ar15tvvr", label = "AR15T Custom", weapontype = "Rifle", ammotype = "AMMO_RIFLE", damagereason = "Ended / Rifled / Shot down / Floored" },
[`weapon_arp9vvr`] = { name = "weapon_arp9vvr", label = "ARP9 Custom", weapontype = "SMG", ammotype = "AMMO_SMG", damagereason = "Ended / SMG / Shot down / Floored" },
[`weapon_arpvvr`] = { name = "weapon_arpvvr", label = "ARP Custom", weapontype = "Rifle", ammotype = "AMMO_RIFLE", damagereason = "Ended / Rifled / Shot down / Floored" },
[`weapon_bruenvvr`] = { name = "weapon_bruenvvr", label = "Bruen Custom", weapontype = "LMG", ammotype = "AMMO_RIFLE", damagereason = "Ended / LMG / Shot down / Floored" },
[`weapon_deaglevvr`] = { name = "weapon_deaglevvr", label = "Deagle Custom", weapontype = "Pistol", ammotype = "AMMO_PISTOL", damagereason = "Ended / Pistol / Shot down / Floored" },
[`weapon_dracovvr`] = { name = "weapon_dracovvr", label = "Draco Custom", weapontype = "Rifle", ammotype = "AMMO_RIFLE", damagereason = "Ended / Rifled / Shot down / Floored" },
[`weapon_g17svvr`] = { name = "weapon_g17svvr", label = "G17S Custom", weapontype = "Pistol", ammotype = "AMMO_PISTOL", damagereason = "Ended / Pistol / Shot down / Floored" },
[`weapon_g17vvr`] = { name = "weapon_g17vvr", label = "G17 Custom", weapontype = "Pistol", ammotype = "AMMO_PISTOL", damagereason = "Ended / Pistol / Shot down / Floored" },
[`weapon_g40vvr`] = { name = "weapon_g40vvr", label = "G40 Custom", weapontype = "Pistol", ammotype = "AMMO_PISTOL", damagereason = "Ended / Pistol / Shot down / Floored" },
[`weapon_g45vvr`] = { name = "weapon_g45vvr", label = "G45 Custom", weapontype = "Pistol", ammotype = "AMMO_PISTOL", damagereason = "Ended / Pistol / Shot down / Floored" },
[`weapon_mp7vvr`] = { name = "weapon_mp7vvr", label = "MP7 Custom", weapontype = "SMG", ammotype = "AMMO_SMG", damagereason = "Ended / SMG / Shot down / Floored" },
[`weapon_spas12vvr`] = { name = "weapon_spas12vvr", label = "SPAS12 Custom", weapontype = "Shotgun", ammotype = "AMMO_SHOTGUN", damagereason = "Ended / Shotgun / Shot down / Floored" },
[`weapon_thompsonvvr`] = { name = "weapon_thompsonvvr", label = "Thompson Custom", weapontype = "SMG", ammotype = "AMMO_SMG", damagereason = "Ended / SMG / Shot down / Floored" },
[`weapon_sm17vvr`] = { name = "weapon_sm17vvr", label = "SM17 Custom", weapontype = "Pistol", ammotype = "AMMO_PISTOL", damagereason = "Ended / Pistol / Shot down / Floored" },
[`weapon_m45vvr`] = { name = "weapon_m45vvr", label = "M45 Custom", weapontype = "Pistol", ammotype = "AMMO_PISTOL", damagereason = "Ended / Pistol / Shot down / Floored" },
[`weapon_fn5vvr`] = { name = "weapon_fn5vvr", label = "FN5 Custom", weapontype = "Pistol", ammotype = "AMMO_PISTOL", damagereason = "Ended / Pistol / Shot down / Floored" },
[`weapon_p90vvr`] = { name = "weapon_p90vvr", label = "P90 Custom", weapontype = "SMG", ammotype = "AMMO_SMG", damagereason = "Ended / SMG / Shot down / Floored" },
[`weapon_ak102vvr`] = { name = "weapon_ak102vvr", label = "AK102 Custom", weapontype = "Rifle", ammotype = "AMMO_RIFLE", damagereason = "Ended / Rifled / Shot down / Floored" },
[`weapon_bowievvr`] = { name = "weapon_bowievvr", label = "Bowie Knife Custom", weapontype = "Melee", ammotype = nil, damagereason = "Ended / Knife / Stabbed / Floored" },
[`weapon_butterflyvvr`] = { name = "weapon_butterflyvvr", label = "Butterfly Knife Custom", weapontype = "Melee", ammotype = nil, damagereason = "Ended / Knife / Slashed / Floored" },
[`weapon_dragonkatanavvr`] = { name = "weapon_dragonkatanavvr", label = "Katana Dragon Custom", weapontype = "Melee", ammotype = nil, damagereason = "Ended / Katana / Sliced / Floored" },
[`weapon_karambitvvr`] = { name = "weapon_karambitvvr", label = "Karambit Custom", weapontype = "Melee", ammotype = nil, damagereason = "Ended / Blade / Cut down / Floored" },
[`weapon_tacticalaxevvr`] = { name = "weapon_tacticalaxevvr", label = "Tactical Axe Custom", weapontype = "Melee", ammotype = nil, damagereason = "Ended / Axe / Chopped / Floored" },

Step 6 - QB-Weapons Config (if using qb-weapons)

Section titled “Step 6 - QB-Weapons Config (if using qb-weapons)”

Open qb-weapons/config.lua and merge the following.

Add to Config.DurabilityMultiplier:

weapon_apcvvr = 0.05,
weapon_ar15cvvr = 0.05,
weapon_ar15tvvr = 0.05,
weapon_arp9vvr = 0.05,
weapon_arpvvr = 0.05,
weapon_bruenvvr = 0.05,
weapon_deaglevvr = 0.05,
weapon_dracovvr = 0.05,
weapon_g17svvr = 0.05,
weapon_g17vvr = 0.05,
weapon_g40vvr = 0.05,
weapon_g45vvr = 0.05,
weapon_mp7vvr = 0.05,
weapon_spas12vvr = 0.05,
weapon_thompsonvvr = 0.05,
weapon_sm17vvr = 0.05,
weapon_m45vvr = 0.05,
weapon_fn5vvr = 0.05,
weapon_p90vvr = 0.05,
weapon_ak102vvr = 0.05,
weapon_bowievvr = 0.05,
weapon_butterflyvvr = 0.05,
weapon_dragonkatanavvr = 0.05,
weapon_karambitvvr = 0.05,
weapon_tacticalaxevvr = 0.05,

Add to WeaponAttachments:

extendedmag1 = {
weapon_apcvvr = `component_apcvvr_mag2`,
weapon_ar15cvvr = `component_ar15cvvr_mag2`,
weapon_ar15tvvr = `component_ar15tvvr_mag2`,
weapon_arp9vvr = `component_arp9vvr_mag2`,
weapon_arpvvr = `component_arpvvr_mag2`,
weapon_deaglevvr = `component_deaglevvr_mag2`,
weapon_dracovvr = `component_dracovvr_mag2`,
weapon_g17svvr = `component_g17svvr_mag2`,
weapon_g17vvr = `component_g17vvr_mag2`,
weapon_g40vvr = `component_g40vvr_mag2`,
weapon_g45vvr = `component_g45vvr_mag2`,
weapon_mp7vvr = `component_mp7vvr_mag2`,
weapon_thompsonvvr = `component_thompsonvvr_mag2`,
weapon_sm17vvr = `component_sm17vvr_mag2`,
weapon_m45vvr = `component_m45vvr_mag2`,
weapon_fn5vvr = `component_fn5vvr_mag2`,
weapon_p90vvr = `component_p90vvr_mag2`,
weapon_ak102vvr = `component_ak102vvr_mag2`,
},
extendedmag2 = {
weapon_apcvvr = `component_apcvvr_mag3`,
weapon_ar15cvvr = `component_ar15cvvr_mag3`,
weapon_ar15tvvr = `component_ar15tvvr_mag3`,
weapon_arp9vvr = `component_arp9vvr_mag3`,
weapon_arpvvr = `component_arpvvr_mag3`,
weapon_deaglevvr = `component_deaglevvr_mag3`,
weapon_dracovvr = `component_dracovvr_mag3`,
weapon_g17svvr = `component_g17svvr_mag3`,
weapon_g17vvr = `component_g17vvr_mag3`,
weapon_g40vvr = `component_g40vvr_mag3`,
weapon_g45vvr = `component_g45vvr_mag3`,
weapon_mp7vvr = `component_mp7vvr_mag3`,
weapon_sm17vvr = `component_sm17vvr_mag3`,
weapon_m45vvr = `component_m45vvr_mag3`,
weapon_fn5vvr = `component_fn5vvr_mag3`,
weapon_p90vvr = `component_p90vvr_mag3`,
weapon_ak102vvr = `component_ak102vvr_mag3`,
},
extendedmag3 = {
weapon_apcvvr = `component_apcvvr_mag4`,
weapon_ar15cvvr = `component_ar15cvvr_mag4`,
weapon_ar15tvvr = `component_ar15tvvr_mag4`,
weapon_arp9vvr = `component_arp9vvr_mag4`,
weapon_arpvvr = `component_arpvvr_mag4`,
weapon_deaglevvr = `component_deaglevvr_mag4`,
weapon_dracovvr = `component_dracovvr_mag4`,
weapon_g17svvr = `component_g17svvr_mag4`,
weapon_g17vvr = `component_g17vvr_mag4`,
weapon_g40vvr = `component_g40vvr_mag4`,
weapon_g45vvr = `component_g45vvr_mag4`,
weapon_mp7vvr = `component_mp7vvr_mag4`,
weapon_sm17vvr = `component_sm17vvr_mag4`,
weapon_m45vvr = `component_m45vvr_mag4`,
weapon_fn5vvr = `component_fn5vvr_mag4`,
weapon_p90vvr = `component_p90vvr_mag4`,
weapon_ak102vvr = `component_ak102vvr_mag4`,
},
scope = {
weapon_apcvvr = `component_apcvvr_scope`,
weapon_ar15cvvr = `component_ar15cvvr_scope`,
weapon_ar15tvvr = `component_ar15tvvr_scope`,
weapon_arp9vvr = `component_arp9vvr_scope`,
weapon_arpvvr = `component_arpvvr_scope`,
weapon_deaglevvr = `component_deaglevvr_scope`,
weapon_dracovvr = `component_dracovvr_scope`,
weapon_thompsonvvr = `component_thompsonvvr_scope`,
weapon_g17svvr = `component_g17svvr_scope`,
weapon_g17vvr = `component_g17vvr_scope`,
weapon_g40vvr = `component_g40vvr_scope`,
weapon_g45vvr = `component_g45vvr_scope`,
weapon_mp7vvr = `component_mp7vvr_scope`,
weapon_bruenvvr = `component_bruenvvr_scope`,
weapon_sm17vvr = `component_sm17vvr_scope`,
weapon_m45vvr = `component_m45vvr_scope`,
weapon_fn5vvr = `component_fn5vvr_scope`,
weapon_p90vvr = `component_p90vvr_scope`,
weapon_ak102vvr = `component_ak102vvr_scope`,
},
suppressor = {
weapon_apcvvr = `component_apcvvr_supp`,
weapon_ar15cvvr = `component_ar15cvvr_supp`,
weapon_ar15tvvr = `component_ar15tvvr_supp`,
weapon_arp9vvr = `component_arp9vvr_supp`,
weapon_arpvvr = `component_arpvvr_supp`,
weapon_deaglevvr = `component_deaglevvr_supp`,
weapon_dracovvr = `component_dracovvr_supp`,
weapon_thompsonvvr = `component_thompsonvvr_supp`,
weapon_g17svvr = `component_g17svvr_supp`,
weapon_g17vvr = `component_g17vvr_supp`,
weapon_g40vvr = `component_g40vvr_supp`,
weapon_g45vvr = `component_g45vvr_supp`,
weapon_mp7vvr = `component_mp7vvr_supp`,
weapon_bruenvvr = `component_bruenvvr_supp`,
weapon_spas12vvr = `component_spas12vvr_supp`,
weapon_sm17vvr = `component_sm17vvr_supp`,
weapon_m45vvr = `component_m45vvr_supp`,
weapon_fn5vvr = `component_fn5vvr_supp`,
weapon_p90vvr = `component_p90vvr_supp`,
weapon_ak102vvr = `component_ak102vvr_supp`,
},
grip = {
weapon_ar15cvvr = `component_ar15cvvr_grip`,
weapon_ar15tvvr = `component_ar15tvvr_grip`,
weapon_apcvvr = `component_apcvvr_grip`,
weapon_dracovvr = `component_dracovvr_grip`,
},
laser = {
weapon_apcvvr = `component_apcvvr_laser`,
weapon_ar15cvvr = `component_ar15cvvr_laser`,
weapon_ar15tvvr = `component_ar15tvvr_laser`,
weapon_arp9vvr = `component_arp9vvr_laser`,
weapon_arpvvr = `component_arpvvr_laser`,
weapon_deaglevvr = `component_deaglevvr_laser`,
weapon_dracovvr = `component_dracovvr_laser`,
weapon_thompsonvvr = `component_thompsonvvr_laser`,
weapon_g17svvr = `component_g17svvr_laser`,
weapon_g17vvr = `component_g17vvr_laser`,
weapon_g40vvr = `component_g40vvr_laser`,
weapon_g45vvr = `component_g45vvr_laser`,
weapon_mp7vvr = `component_mp7vvr_laser`,
weapon_bruenvvr = `component_bruenvvr_laser`,
weapon_spas12vvr = `component_spas12vvr_laser`,
weapon_sm17vvr = `component_sm17vvr_laser`,
weapon_m45vvr = `component_m45vvr_laser`,
weapon_fn5vvr = `component_fn5vvr_laser`,
weapon_p90vvr = `component_p90vvr_laser`,
weapon_ak102vvr = `component_ak102vvr_laser`,
},
goldcamo = {
weapon_apcvvr = `component_apcvvr_gold`,
weapon_ar15cvvr = `component_ar15cvvr_gold`,
weapon_ar15tvvr = `component_ar15tvvr_gold`,
weapon_arp9vvr = `component_arp9vvr_gold`,
weapon_arpvvr = `component_arpvvr_gold`,
weapon_deaglevvr = `component_deaglevvr_gold`,
weapon_dracovvr = `component_dracovvr_gold`,
weapon_thompsonvvr = `component_thompsonvvr_gold`,
weapon_g17svvr = `component_g17svvr_gold`,
weapon_g17vvr = `component_g17vvr_gold`,
weapon_g40vvr = `component_g40vvr_gold`,
weapon_g45vvr = `component_g45vvr_gold`,
weapon_mp7vvr = `component_mp7vvr_gold`,
weapon_bruenvvr = `component_bruenvvr_gold`,
weapon_spas12vvr = `component_spas12vvr_gold`,
weapon_sm17vvr = `component_sm17vvr_gold`,
weapon_m45vvr = `component_m45vvr_gold`,
weapon_fn5vvr = `component_fn5vvr_gold`,
weapon_p90vvr = `component_p90vvr_gold`,
weapon_ak102vvr = `component_ak102vvr_gold`,
weapon_bowievvr = `component_bowievvr_gold`,
weapon_butterflyvvr = `component_butterflyvvr_gold`,
weapon_dragonkatanavvr = `component_dragonkatanavvr_gold`,
weapon_karambitvvr = `component_karambitvvr_gold`,
weapon_tacticalaxevvr = `component_tacticalaxevvr_gold`,
},
diamondcamo = {
weapon_apcvvr = `component_apcvvr_diamond`,
weapon_ar15cvvr = `component_ar15cvvr_diamond`,
weapon_ar15tvvr = `component_ar15tvvr_diamond`,
weapon_arp9vvr = `component_arp9vvr_diamond`,
weapon_arpvvr = `component_arpvvr_diamond`,
weapon_deaglevvr = `component_deaglevvr_diamond`,
weapon_dracovvr = `component_dracovvr_diamond`,
weapon_thompsonvvr = `component_thompsonvvr_diamond`,
weapon_g17svvr = `component_g17svvr_diamond`,
weapon_g17vvr = `component_g17vvr_diamond`,
weapon_g40vvr = `component_g40vvr_diamond`,
weapon_g45vvr = `component_g45vvr_diamond`,
weapon_mp7vvr = `component_mp7vvr_diamond`,
weapon_bruenvvr = `component_bruenvvr_diamond`,
weapon_spas12vvr = `component_spas12vvr_diamond`,
weapon_sm17vvr = `component_sm17vvr_diamond`,
weapon_m45vvr = `component_m45vvr_diamond`,
weapon_fn5vvr = `component_fn5vvr_diamond`,
weapon_p90vvr = `component_p90vvr_diamond`,
weapon_ak102vvr = `component_ak102vvr_diamond`,
},

If you are using a separate inventory resource (not the default QB inventory), follow one of these guides:

Note: If using the default qb-inventory, Steps 4-6 above are all you need. The items and weapons are already registered in qb-core/shared/.


Copy all PNG files from INSTALL_ME/images/ to your inventory’s image directory:

InventoryDestination
qb-inventoryqb-inventory/html/images/
ox_inventoryox_inventory/web/images/
qs-inventoryqs-inventory/html/images/
ps-inventoryps-inventory/html/images/

  1. Open config.lua and set:

    Config.Framework = 'qb'
  2. Set Config.Images to match your inventory’s image path

  3. Set Config.SocietyInBank based on your banking system:

    Config.SocietyInBank = true -- Use qb-banking (new QBCore)
    Config.SocietyInBank = false -- Use qb-management (old QBCore)

    Note: If you use okokBanking or ars_banking, no changes needed - they are auto-detected.

  4. Add to your server.cfg:

    ensure vvsgunspacks
    ensure ars_vvsguns_v2
  5. Install the vvsgunspacks resource following its own instructions

  6. Restart your server


Important: This step is required for shop sales to deposit money correctly. See the full Society Banking Setup guide for details.

No additional setup needed beyond Step 3 (Boss Menu Location). Set Config.SocietyInBank = false.

Set Config.SocietyInBank = true. Ensure the vvsgundealer society account exists in qb-banking.

  1. Open okokBanking/config.lua and add the job to Config.Societies:
    Config.Societies = {
    ["police"] = {4},
    ["ambulance"] = {3, 4, 5},
    ["vvsgundealer"] = {3}, -- Grade 3 (Owner) has full access
    }
  2. Run the okokBanking SQL to create the okokbanking_societies table
  3. No changes to Config.SocietyInBank needed - okokBanking is auto-detected

No additional configuration needed. ars_banking is auto-detected when the resource is running.


GradeNameisboss
0GoldsmithNo
1ShopkeeperNo
2ManagerNo
3OwnerYes

  • Weapons don’t appear: Check that items are in qb-core/shared/items.lua and weapons are in qb-core/shared/weapons.lua.
  • Attachments not equipping: Verify WeaponAttachments entries in qb-weapons/config.lua match the component hashes.
  • Boss menu not working: Confirm the boss menu location was added to the correct qb-management config file (old vs new version).
  • Society money not depositing: See the Society Banking Setup guide. Check that Config.SocietyInBank matches your banking system, and verify the job is registered in your banking system’s society configuration.
  • Job not in multijob: Some servers use qb-multijob - add the vvsgundealer job there as well if needed.
  • Images not loading: Confirm PNGs are in the correct folder and Config.Images points to it.

Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.