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:
- Get this script (ARS VVS Guns V2): https://amirobin.tebex.io/package/7430707
- Get VVSGUNV2 (Weapon Assets): https://vvscustoms.tebex.io/package/7430699
- VVS Customs Discord: https://discord.gg/vvscustoms
You must purchase VVSGUNV2 from VVS Customs for weapons to work.
Prerequisites
Section titled “Prerequisites”- Latest FiveM build
oxmysql- Database connectionox_lib- UI and library functionsvvsgunspacks- VVSGUNV2 weapon asset pack by VVS Customs (purchase required: https://vvscustoms.tebex.io/package/7430699)- QB-Core framework
Step 1 - Database
Section titled “Step 1 - Database”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`;Step 2 - Job Definition
Section titled “Step 2 - Job Definition”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, }, },},Step 3 - Boss Menu Location
Section titled “Step 3 - Boss Menu Location”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),},Step 4 - Items
Section titled “Step 4 - Items”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.", },Step 5 - Weapons
Section titled “Step 5 - Weapons”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.
6a. Durability Multipliers
Section titled “6a. Durability Multipliers”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,6b. Weapon Attachments
Section titled “6b. Weapon Attachments”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`, },Step 7 - Inventory Integration
Section titled “Step 7 - Inventory Integration”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 inqb-core/shared/.
Step 8 - Inventory Images
Section titled “Step 8 - Inventory Images”Copy all PNG files from INSTALL_ME/images/ to your inventory’s image directory:
| Inventory | Destination |
|---|---|
| qb-inventory | qb-inventory/html/images/ |
| ox_inventory | ox_inventory/web/images/ |
| qs-inventory | qs-inventory/html/images/ |
| ps-inventory | ps-inventory/html/images/ |
Step 9 - Final Configuration
Section titled “Step 9 - Final Configuration”-
Open
config.luaand set:Config.Framework = 'qb' -
Set
Config.Imagesto match your inventory’s image path -
Set
Config.SocietyInBankbased 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.
-
Add to your
server.cfg:ensure vvsgunspacksensure ars_vvsguns_v2 -
Install the vvsgunspacks resource following its own instructions
-
Restart your server
Step 10 - Society Banking Setup
Section titled “Step 10 - Society Banking Setup”Important: This step is required for shop sales to deposit money correctly. See the full Society Banking Setup guide for details.
If Using qb-management (Old QBCore)
Section titled “If Using qb-management (Old QBCore)”No additional setup needed beyond Step 3 (Boss Menu Location). Set Config.SocietyInBank = false.
If Using qb-banking (New QBCore)
Section titled “If Using qb-banking (New QBCore)”Set Config.SocietyInBank = true. Ensure the vvsgundealer society account exists in qb-banking.
If Using okokBanking
Section titled “If Using okokBanking”- Open
okokBanking/config.luaand add the job toConfig.Societies:Config.Societies = {["police"] = {4},["ambulance"] = {3, 4, 5},["vvsgundealer"] = {3}, -- Grade 3 (Owner) has full access} - Run the okokBanking SQL to create the
okokbanking_societiestable - No changes to
Config.SocietyInBankneeded - okokBanking is auto-detected
If Using ars_banking
Section titled “If Using ars_banking”No additional configuration needed. ars_banking is auto-detected when the resource is running.
Job Grades Reference
Section titled “Job Grades Reference”| Grade | Name | isboss |
|---|---|---|
| 0 | Goldsmith | No |
| 1 | Shopkeeper | No |
| 2 | Manager | No |
| 3 | Owner | Yes |
Troubleshooting
Section titled “Troubleshooting”- Weapons don’t appear: Check that items are in
qb-core/shared/items.luaand weapons are inqb-core/shared/weapons.lua. - Attachments not equipping: Verify
WeaponAttachmentsentries inqb-weapons/config.luamatch 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.SocietyInBankmatches 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 thevvsgundealerjob there as well if needed. - Images not loading: Confirm PNGs are in the correct folder and
Config.Imagespoints 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.