1174 lines
67 KiB
Lua
1174 lines
67 KiB
Lua
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Quasar Store · Configuration Guidelines
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- This configuration file defines all adjustable parameters for the script.
|
||
-- Comments are standardized to help you identify which sections you can safely edit.
|
||
--
|
||
-- • [EDIT] – Safe for users to modify. Adjust these values as needed.
|
||
-- • [INFO] – Informational note describing what the variable or block does.
|
||
-- • [ADV] – Advanced settings. Change only if you understand the logic behind it.
|
||
-- • [CORE] – Core functionality. Do not modify unless you are a developer.
|
||
-- • [AUTO] – Automatically handled by the system. Never edit manually.
|
||
--
|
||
-- Always make a backup before editing configuration files.
|
||
-- Incorrect changes in [CORE] or [AUTO] sections can break the resource.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Global Settings [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] General behavior toggles for tints, magazines and durability exclusions.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
Config.RemoveTintAfterRemoving = false -- [EDIT] Remove weapon tints when discarded/removed.
|
||
Config.ForceToOnlyOneMagazine = true -- [EDIT] Only one magazine in use at a time.
|
||
|
||
Config.DurabilityBlockedWeapons = { -- [EDIT] Weapons excluded from durability loss.
|
||
'weapon_stungun',
|
||
'weapon_nightstick',
|
||
'weapon_flashlight',
|
||
'weapon_unarmed',
|
||
}
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Attachment Lines [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Customize UI line anchors for attachments on weapon preview.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
Config.WeaponAttachmentLines = {
|
||
['suppressor'] = { bones = { 'WAPSupp', 'WAPSupp_2' }, offset = vec2(-25, -20) },
|
||
['flash'] = { bones = { 'WAPFlshLasr', 'WAPFlshLasr_2' }, offset = vec2( 5, 24) },
|
||
['scope'] = { bones = { 'WAPScop', 'WAPScop_2' }, offset = vec2( 5, -25) },
|
||
['barrel'] = { bones = { 'Gun_GripR', 'Gun_GripR_2' }, offset = vec2( 20, 20) },
|
||
['grip'] = { bones = { 'WAPGrip', 'WAPGrip_2' }, offset = vec2(-20, 20) },
|
||
['clip'] = { bones = { 'WAPClip', 'WAPClip_2' }, offset = vec2(-40, 10) },
|
||
['tint'] = { default = true, offset = vec2( 20, 0) },
|
||
}
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Throwables [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] List of throwable items enabled in the game.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
Config.Throwables = {
|
||
'ball',
|
||
'bzgas',
|
||
'flare',
|
||
'grenade',
|
||
'molotov',
|
||
'pipebomb',
|
||
'proxmine',
|
||
'smokegrenade',
|
||
'snowball',
|
||
'stickybomb',
|
||
'newspaper',
|
||
}
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Ammo Items [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Maps inventory ammo items to native ammo types. `isForEveryWeapon` acts as a wildcard.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
---@type table<number, {item: string, type: string, isForEveryWeapon?: boolean}>
|
||
Config.AmmoItems = {
|
||
{ item = 'pistol_ammo', type = 'AMMO_PISTOL' },
|
||
{ item = 'rifle_ammo', type = 'AMMO_RIFLE' },
|
||
{ item = 'smg_ammo', type = 'AMMO_SMG' },
|
||
{ item = 'shotgun_ammo', type = 'AMMO_SHOTGUN' },
|
||
{ item = 'mg_ammo', type = 'AMMO_MG' },
|
||
{ item = 'emp_ammo', type = 'AMMO_EMPLAUNCHER' },
|
||
{ item = 'rpg_ammo', type = 'AMMO_RPG' },
|
||
{ item = 'grenadelauncher_ammo', type = 'AMMO_GRENADELAUNCHER' },
|
||
{ item = 'snp_ammo', type = 'AMMO_SNIPER' },
|
||
{ item = 'police_rifle_ammo', type = 'AMMO_POLICE_RIFLE' },
|
||
{ item = 'master_ammo', isForEveryWeapon = true },
|
||
}
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Durability Multipliers [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Higher numbers degrade faster. Tune per weapon to balance your economy/combat.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
Config.DurabilityMultiplier = {
|
||
-- Melee
|
||
weapon_dagger = 0.15,
|
||
weapon_bat = 0.15,
|
||
weapon_bottle = 0.15,
|
||
weapon_crowbar = 0.15,
|
||
weapon_candycane = 0.15,
|
||
weapon_golfclub = 0.15,
|
||
weapon_hammer = 0.15,
|
||
weapon_hatchet = 0.15,
|
||
weapon_knuckle = 0.15,
|
||
weapon_knife = 0.15,
|
||
weapon_machete = 0.15,
|
||
weapon_switchblade = 0.15,
|
||
weapon_wrench = 0.15,
|
||
weapon_battleaxe = 0.15,
|
||
weapon_poolcue = 0.15,
|
||
weapon_briefcase = 0.15,
|
||
weapon_briefcase_02 = 0.15,
|
||
weapon_garbagebag = 0.15,
|
||
weapon_handcuffs = 0.15,
|
||
weapon_bread = 0.15,
|
||
weapon_stone_hatchet = 0.15,
|
||
|
||
-- Handguns
|
||
weapon_pistol = 0.15,
|
||
weapon_pistol_mk2 = 0.15,
|
||
weapon_combatpistol = 0.15,
|
||
weapon_appistol = 0.15,
|
||
weapon_pistol50 = 0.15,
|
||
weapon_snspistol = 0.15,
|
||
weapon_heavypistol = 0.15,
|
||
weapon_vintagepistol = 0.15,
|
||
weapon_flaregun = 0.15,
|
||
weapon_marksmanpistol = 0.15,
|
||
weapon_revolver = 0.15,
|
||
weapon_revolver_mk2 = 0.15,
|
||
weapon_doubleaction = 0.15,
|
||
weapon_snspistol_mk2 = 0.15,
|
||
weapon_raypistol = 0.15,
|
||
weapon_ceramicpistol = 0.15,
|
||
weapon_navyrevolver = 0.15,
|
||
weapon_gadgetpistol = 0.15,
|
||
weapon_pistolxm3 = 0.15,
|
||
|
||
-- Submachine Guns
|
||
weapon_microsmg = 0.15,
|
||
weapon_smg = 0.15,
|
||
weapon_smg_mk2 = 0.15,
|
||
weapon_assaultsmg = 0.15,
|
||
weapon_combatpdw = 0.15,
|
||
weapon_machinepistol = 0.15,
|
||
weapon_minismg = 0.15,
|
||
weapon_raycarbine = 0.15,
|
||
|
||
-- Shotguns
|
||
weapon_pumpshotgun = 0.15,
|
||
weapon_sawnoffshotgun = 0.15,
|
||
weapon_assaultshotgun = 0.15,
|
||
weapon_bullpupshotgun = 0.15,
|
||
weapon_musket = 0.15,
|
||
weapon_heavyshotgun = 0.15,
|
||
weapon_dbshotgun = 0.15,
|
||
weapon_autoshotgun = 0.15,
|
||
weapon_pumpshotgun_mk2 = 0.15,
|
||
weapon_combatshotgun = 0.15,
|
||
|
||
-- Assault Rifles
|
||
weapon_assaultrifle = 0.15,
|
||
weapon_assaultrifle_mk2 = 0.15,
|
||
weapon_carbinerifle = 0.15,
|
||
weapon_carbinerifle_mk2 = 0.15,
|
||
weapon_advancedrifle = 0.15,
|
||
weapon_specialcarbine = 0.15,
|
||
weapon_bullpuprifle = 0.15,
|
||
weapon_compactrifle = 0.15,
|
||
weapon_specialcarbine_mk2 = 0.15,
|
||
weapon_bullpuprifle_mk2 = 0.15,
|
||
weapon_militaryrifle = 0.15,
|
||
weapon_heavyrifle = 0.15,
|
||
|
||
-- Light Machine Guns
|
||
weapon_mg = 0.15,
|
||
weapon_combatmg = 0.15,
|
||
weapon_gusenberg = 0.15,
|
||
weapon_combatmg_mk2 = 0.15,
|
||
|
||
-- Sniper Rifles
|
||
weapon_sniperrifle = 0.15,
|
||
weapon_heavysniper = 0.15,
|
||
weapon_marksmanrifle = 0.15,
|
||
weapon_remotesniper = 0.15,
|
||
weapon_heavysniper_mk2 = 0.15,
|
||
weapon_marksmanrifle_mk2 = 0.15,
|
||
|
||
-- Heavy Weapons
|
||
weapon_rpg = 0.15,
|
||
weapon_grenadelauncher = 0.15,
|
||
weapon_grenadelauncher_smoke = 0.15,
|
||
weapon_emplauncher = 0.15,
|
||
weapon_minigun = 0.15,
|
||
weapon_firework = 0.15,
|
||
weapon_railgun = 0.15,
|
||
weapon_hominglauncher = 0.15,
|
||
weapon_compactlauncher = 0.15,
|
||
weapon_rayminigun = 0.15,
|
||
weapon_railgunxm3 = 0.15,
|
||
|
||
-- Throwables
|
||
weapon_grenade = 0.15,
|
||
weapon_bzgas = 0.15,
|
||
weapon_molotov = 0.15,
|
||
weapon_stickybomb = 0.15,
|
||
weapon_proxmine = 0.15,
|
||
weapon_snowball = 0.15,
|
||
weapon_pipebomb = 0.15,
|
||
weapon_ball = 0.15,
|
||
weapon_smokegrenade = 0.15,
|
||
weapon_flare = 0.15,
|
||
|
||
-- Misc
|
||
weapon_petrolcan = 0.15,
|
||
weapon_fireextinguisher = 0.15,
|
||
weapon_hazardcan = 0.15,
|
||
weapon_fertilizercan = 0.15,
|
||
}
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Repair System [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Defines repair points, repair kit settings, and weapon repair costs.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
Config.WeaponRepairItemAddition = 10 -- [EDIT] Amount added to repair kit usage counter.
|
||
|
||
Config.WeaponRepairPoints = {
|
||
[1] = {
|
||
coords = vector3(964.02, -1267.41, 34.97), -- [EDIT] Location of repair station.
|
||
IsRepairing = false, -- [AUTO] Tracks ongoing repair.
|
||
RepairingData = {}, -- [AUTO] Holds repair data.
|
||
},
|
||
-- [EDIT] Add more repair points if needed.
|
||
}
|
||
|
||
Config.WeaponRepairCosts = {
|
||
['Pistol'] = 1000,
|
||
['Submachine Gun'] = 3000,
|
||
['Light Machine Gun'] = 4000,
|
||
['Assault Rifle'] = 5000,
|
||
['Sniper Rifle'] = 7000,
|
||
['Shotgun'] = 6000,
|
||
['Heavy Weapons'] = 10000,
|
||
}
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Stealing System [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Enables the ability to steal weapon parts with a configurable chance.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
Config.CanStealWeaponParts = false -- [EDIT] Toggle ability to steal weapon parts.
|
||
Config.WeaponPartStealChance = 20 -- [EDIT] Probability (1–100) for successful part theft.
|
||
|
||
Config.AvailableWeaponParts = { -- [EDIT] Items obtainable via part stealing.
|
||
'electronickit',
|
||
'ironoxide',
|
||
'metalscrap',
|
||
-- Add more items here if desired.
|
||
}
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Attachments & Tints [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Defines available attachments and tints for each weapon type.
|
||
-- Each attachment includes a component, label, and item link.
|
||
-- Naming convention: use clear identifiers like pistol_flashlight or rifle_scope.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
Config.WeaponAttachments = {
|
||
--──────────────────────────────────────────────────────────────────────────
|
||
-- Pistol Attachments [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────
|
||
['WEAPON_PISTOL'] = {
|
||
defaultclip = { component = 'COMPONENT_PISTOL_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_PISTOL_CLIP_02', item = 'pistol_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_PI_FLSH', item = 'pistol_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP_02', item = 'pistol_suppressor' },
|
||
luxuryfinish = { component = 'COMPONENT_PISTOL_VARMOD_LUXE', item = 'luxuryfinish_weapontint' },
|
||
},
|
||
['WEAPON_COMBATPISTOL'] = {
|
||
defaultclip = { component = 'COMPONENT_COMBATPISTOL_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_COMBATPISTOL_CLIP_02', item = 'pistol_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_PI_FLSH', item = 'pistol_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP', item = 'pistol_suppressor' },
|
||
luxuryfinish = { component = 'COMPONENT_COMBATPISTOL_VARMOD_LOWRIDER', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_PISTOL50'] = {
|
||
defaultclip = { component = 'COMPONENT_PISTOL50_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_PISTOL50_CLIP_02', item = 'pistol_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_PI_FLSH', item = 'pistol_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'pistol_suppressor' },
|
||
luxuryfinish = { component = 'COMPONENT_PISTOL50_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_APPISTOL'] = {
|
||
defaultclip = { component = 'COMPONENT_APPISTOL_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_APPISTOL_CLIP_02', item = 'pistol_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_PI_FLSH', item = 'pistol_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP', item = 'pistol_suppressor' },
|
||
luxuryfinish = { component = 'COMPONENT_APPISTOL_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_REVOLVER'] = {
|
||
defaultclip = { component = 'COMPONENT_REVOLVER_CLIP_01', item = 'pistol_defaultclip' },
|
||
luxuryfinish = { component = 'COMPONENT_REVOLVER_VARMOD_BOSS', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_SNSPISTOL'] = {
|
||
defaultclip = { component = 'COMPONENT_SNSPISTOL_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_SNSPISTOL_CLIP_02', item = 'pistol_extendedclip' },
|
||
grip = { component = 'COMPONENT_SNSPISTOL_VARMOD_LOWRIDER', item = 'pistol_grip' },
|
||
luxuryfinish = { component = 'COMPONENT_SNSPISTOL_VARMOD_LOWRIDER', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_HEAVYPISTOL'] = {
|
||
defaultclip = { component = 'COMPONENT_HEAVYPISTOL_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_HEAVYPISTOL_CLIP_02', item = 'pistol_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_PI_FLSH', item = 'pistol_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP', item = 'pistol_suppressor' },
|
||
grip = { component = 'COMPONENT_HEAVYPISTOL_VARMOD_LUXE', item = 'pistol_grip' },
|
||
luxuryfinish = { component = 'COMPONENT_HEAVYPISTOL_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_VINTAGEPISTOL'] = {
|
||
defaultclip = { component = 'COMPONENT_VINTAGEPISTOL_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_VINTAGEPISTOL_CLIP_02', item = 'pistol_extendedclip' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP', item = 'pistol_suppressor' }
|
||
},
|
||
['WEAPON_CERAMICPISTOL'] = {
|
||
defaultclip = { component = 'COMPONENT_CERAMICPISTOL_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_CERAMICPISTOL_CLIP_02', item = 'pistol_extendedclip' },
|
||
suppressor = { component = 'COMPONENT_CERAMICPISTOL_SUPP', item = 'pistol_suppressor' }
|
||
},
|
||
['WEAPON_PISTOL_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_PISTOL_MK2_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_PISTOL_MK2_CLIP_02', item = 'pistol_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_PI_FLSH_02', item = 'pistol_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP_02', item = 'pistol_suppressor' },
|
||
compensator = { component = 'COMPONENT_AT_PI_COMP', item = 'pistol_compensator' },
|
||
holoscope = { component = 'COMPONENT_AT_PI_RAIL', item = 'pistol_holoscope' },
|
||
digicamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_02', item = 'digital_weapontint' },
|
||
brushcamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_03', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_04', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_05', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_06', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_07', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_08', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_09', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_10', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_11', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_PISTOL_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
},
|
||
['WEAPON_REVOLVER_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_REVOLVER_MK2_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_REVOLVER_MK2_CLIP_02', item = 'pistol_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_PI_FLSH', item = 'pistol_flashlight' },
|
||
holoscope = { component = 'COMPONENT_AT_SIGHTS', item = 'pistol_holoscope' },
|
||
smallscope = { component = 'COMPONENT_AT_SCOPE_MACRO_MK2', item = 'pistol_smallscope' },
|
||
compensator = { component = 'COMPONENT_AT_PI_COMP_03', item = 'pistol_compensator' },
|
||
digicamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_02', item = 'digital_weapontint' },
|
||
brushcamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_03', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_04', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_05', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_06', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_07', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_08', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_09', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_10', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_11', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_REVOLVER_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
},
|
||
['WEAPON_SNSPISTOL_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_SNSPISTOL_MK2_CLIP_01', item = 'pistol_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_SNSPISTOL_MK2_CLIP_02', item = 'pistol_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_PI_FLSH_03', item = 'pistol_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP', item = 'pistol_suppressor' },
|
||
compensator = { component = 'COMPONENT_AT_PI_COMP_02', item = 'pistol_compensator' },
|
||
digicamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_02', item = 'digital_weapontint' },
|
||
brushcamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_03', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_04', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_05', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_06', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_07', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_08', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_09', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_10', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_11', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_SNSPISTOL_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
},
|
||
|
||
-- SMG WEAPONS
|
||
['WEAPON_MICROSMG'] = {
|
||
defaultclip = { component = 'COMPONENT_MICROSMG_CLIP_01', item = 'smg_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_MICROSMG_CLIP_02', item = 'smg_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_PI_FLSH', item = 'smg_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_MACRO', item = 'smg_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'smg_suppressor' },
|
||
luxuryfinish = { component = 'COMPONENT_MICROSMG_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_SMG'] = {
|
||
defaultclip = { component = 'COMPONENT_SMG_CLIP_01', item = 'smg_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_SMG_CLIP_02', item = 'smg_extendedclip' },
|
||
drum = { component = 'COMPONENT_SMG_CLIP_03', item = 'smg_drum' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'smg_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_MACRO_02', item = 'smg_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP', item = 'smg_suppressor' },
|
||
luxuryfinish = { component = 'COMPONENT_SMG_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_ASSAULTSMG'] = {
|
||
defaultclip = { component = 'COMPONENT_ASSAULTSMG_CLIP_01', item = 'smg_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_ASSAULTSMG_CLIP_02', item = 'smg_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'smg_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_MACRO', item = 'smg_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'smg_suppressor' },
|
||
luxuryfinish = { component = 'COMPONENT_ASSAULTSMG_VARMOD_LOWRIDER', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_MINISMG'] = {
|
||
defaultclip = { component = 'COMPONENT_MINISMG_CLIP_01', item = 'smg_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_MINISMG_CLIP_02', item = 'smg_extendedclip' }
|
||
},
|
||
['WEAPON_MACHINEPISTOL'] = {
|
||
defaultclip = { component = 'COMPONENT_MACHINEPISTOL_CLIP_01', item = 'smg_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_MACHINEPISTOL_CLIP_02', item = 'smg_extendedclip' },
|
||
drum = { component = 'COMPONENT_MACHINEPISTOL_CLIP_03', item = 'smg_drum' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP', item = 'smg_suppressor' }
|
||
},
|
||
['WEAPON_COMBATPDW'] = {
|
||
defaultclip = { component = 'COMPONENT_COMBATPDW_CLIP_01', item = 'smg_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_COMBATPDW_CLIP_02', item = 'smg_extendedclip' },
|
||
drum = { component = 'COMPONENT_COMBATPDW_CLIP_03', item = 'smg_drum' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'smg_flashlight' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'smg_grip' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_SMALL', item = 'smg_scope' }
|
||
},
|
||
|
||
-- SMG MK2 WEAPONS
|
||
['WEAPON_SMG_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_SMG_MK2_CLIP_01', item = 'smg_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_SMG_MK2_CLIP_02', item = 'smg_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'smg_flashlight' },
|
||
holoscope = { component = 'COMPONENT_AT_SIGHTS_SMG', item = 'smg_holoscope' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_SMALL_SMG_MK2', item = 'smg_scope' },
|
||
drum = { component = 'COMPONENT_SMG_MK2_CLIP_Drum', item = 'smg_drum' },
|
||
suppressor = { component = 'COMPONENT_AT_PI_SUPP', item = 'smg_suppressor' },
|
||
barrel = { component = 'COMPONENT_AT_SB_BARREL_02', item = 'smg_barrel' },
|
||
digicamo = { component = 'COMPONENT_SMG_MK2_CAMO', item = 'digital_weapontint' },
|
||
brushcamo = { component = 'COMPONENT_SMG_MK2_CAMO_02', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_SMG_MK2_CAMO_03', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_SMG_MK2_CAMO_04', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_SMG_MK2_CAMO_05', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_SMG_MK2_CAMO_06', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_SMG_MK2_CAMO_07', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_SMG_MK2_CAMO_08', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_SMG_MK2_CAMO_09', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_SMG_MK2_CAMO_10', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_SMG_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
},
|
||
|
||
-- SHOTGUNS
|
||
['WEAPON_PUMPSHOTGUN'] = {
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'shotgun_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_SR_SUPP', item = 'shotgun_suppressor' },
|
||
luxuryfinish = { component = 'COMPONENT_PUMPSHOTGUN_VARMOD_LOWRIDER', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_SAWNOFFSHOTGUN'] = {
|
||
luxuryfinish = { component = 'COMPONENT_SAWNOFFSHOTGUN_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_ASSAULTSHOTGUN'] = {
|
||
defaultclip = { component = 'COMPONENT_ASSAULTSHOTGUN_CLIP_01', item = 'shotgun_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_ASSAULTSHOTGUN_CLIP_02', item = 'shotgun_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'shotgun_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP', item = 'shotgun_suppressor' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'shotgun_grip' }
|
||
},
|
||
['WEAPON_BULLPUPSHOTGUN'] = {
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'shotgun_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'shotgun_suppressor' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'shotgun_grip' }
|
||
},
|
||
['WEAPON_HEAVYSHOTGUN'] = {
|
||
defaultclip = { component = 'COMPONENT_HEAVYSHOTGUN_CLIP_01', item = 'shotgun_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_HEAVYSHOTGUN_CLIP_02', item = 'shotgun_extendedclip' },
|
||
drum = { component = 'COMPONENT_HEAVYSHOTGUN_CLIP_03', item = 'shotgun_drum' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'shotgun_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'shotgun_suppressor' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'shotgun_grip' }
|
||
},
|
||
['WEAPON_COMBATSHOTGUN'] = {
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'shotgun_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP', item = 'shotgun_suppressor' }
|
||
},
|
||
['WEAPON_PUMPSHOTGUN_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CLIP_01', item = 'shotgun_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CLIP_02', item = 'shotgun_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'shotgun_flashlight' },
|
||
suppressor = { component = 'COMPONENT_AT_SR_SUPP_03', item = 'shotgun_suppressor' },
|
||
squaremuzzle = { component = 'COMPONENT_AT_MUZZLE_08', item = 'shotgun_squaredmuzzle' },
|
||
holoscope = { component = 'COMPONENT_AT_SCOPE_SMALL_MK2', item = 'shotgun_holoscope' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_SMALL_MK2', item = 'shotgun_scope' },
|
||
digicamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO', item = 'digital_weapontint' },
|
||
brushcamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_02', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_03', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_04', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_05', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_06', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_07', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_08', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_09', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_10', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_PUMPSHOTGUN_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
},
|
||
|
||
-- RIFLES
|
||
['WEAPON_ASSAULTRIFLE'] = {
|
||
defaultclip = { component = 'COMPONENT_ASSAULTRIFLE_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_ASSAULTRIFLE_CLIP_02', item = 'rifle_extendedclip' },
|
||
drum = { component = 'COMPONENT_ASSAULTRIFLE_CLIP_03', item = 'rifle_drum' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_MACRO', item = 'rifle_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'rifle_suppressor' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'rifle_grip' },
|
||
luxuryfinish = { component = 'COMPONENT_ASSAULTRIFLE_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_CARBINERIFLE'] = {
|
||
defaultclip = { component = 'COMPONENT_CARBINERIFLE_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_CARBINERIFLE_CLIP_02', item = 'rifle_extendedclip' },
|
||
drum = { component = 'COMPONENT_CARBINERIFLE_CLIP_03', item = 'rifle_drum' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_MEDIUM', item = 'rifle_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP', item = 'rifle_suppressor' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'rifle_grip' },
|
||
luxuryfinish = { component = 'COMPONENT_CARBINERIFLE_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_ADVANCEDRIFLE'] = {
|
||
defaultclip = { component = 'COMPONENT_ADVANCEDRIFLE_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_ADVANCEDRIFLE_CLIP_02', item = 'rifle_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_SMALL', item = 'rifle_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP', item = 'rifle_suppressor' },
|
||
luxuryfinish = { component = 'COMPONENT_ADVANCEDRIFLE_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_SPECIALCARBINE'] = {
|
||
defaultclip = { component = 'COMPONENT_SPECIALCARBINE_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_SPECIALCARBINE_CLIP_02', item = 'rifle_extendedclip' },
|
||
drum = { component = 'COMPONENT_SPECIALCARBINE_CLIP_03', item = 'rifle_drum' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_MEDIUM', item = 'rifle_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'rifle_suppressor' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'rifle_grip' },
|
||
luxuryfinish = { component = 'COMPONENT_SPECIALCARBINE_VARMOD_LOWRIDER', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_BULLPUPRIFLE'] = {
|
||
defaultclip = { component = 'COMPONENT_BULLPUPRIFLE_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_BULLPUPRIFLE_CLIP_02', item = 'rifle_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_SMALL', item = 'rifle_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP', item = 'rifle_suppressor' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'rifle_grip' },
|
||
luxuryfinish = { component = 'COMPONENT_BULLPUPRIFLE_VARMOD_LOW', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_COMPACTRIFLE'] = {
|
||
defaultclip = { component = 'COMPONENT_COMPACTRIFLE_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_COMPACTRIFLE_CLIP_02', item = 'rifle_extendedclip' },
|
||
drum = { component = 'COMPONENT_COMPACTRIFLE_CLIP_03', item = 'rifle_drum' }
|
||
},
|
||
['WEAPON_HEAVYRIFLE'] = {
|
||
defaultclip = { component = 'COMPONENT_HEAVYRIFLE_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_HEAVYRIFLE_CLIP_02', item = 'rifle_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_MEDIUM', item = 'rifle_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP', item = 'rifle_suppressor' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'rifle_grip' },
|
||
luxuryfinish = { component = 'COMPONENT_BULLPUPRIFLE_VARMOD_LOW', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
['WEAPON_ASSAULTRIFLE_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CLIP_02', item = 'rifle_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
holographic = { component = 'COMPONENT_AT_SIGHTS', item = 'rifle_holoscope' },
|
||
smallscope = { component = 'COMPONENT_AT_SCOPE_MACRO_MK2', item = 'rifle_smallscope' },
|
||
largescope = { component = 'COMPONENT_AT_SCOPE_MEDIUM_MK2', item = 'rifle_largescope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'rifle_suppressor' },
|
||
digicamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO', item = 'digital_weapontint' },
|
||
brushcamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_02', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_03', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_04', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_05', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_06', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_07', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_08', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_09', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_10', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_ASSAULTRIFLE_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
},
|
||
['WEAPON_CARBINERIFLE_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_CARBINERIFLE_MK2_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_CARBINERIFLE_MK2_CLIP_02', item = 'rifle_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
holographic = { component = 'COMPONENT_AT_SIGHTS', item = 'rifle_holoscope' },
|
||
smallscope = { component = 'COMPONENT_AT_SCOPE_MACRO_MK2', item = 'rifle_smallscope' },
|
||
largescope = { component = 'COMPONENT_AT_SCOPE_MEDIUM_MK2', item = 'rifle_largescope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP', item = 'rifle_suppressor' },
|
||
digicamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO', item = 'digital_weapontint' },
|
||
brushcamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_02', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_03', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_04', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_05', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_06', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_07', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_08', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_09', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_10', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_CARBINERIFLE_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
},
|
||
['WEAPON_SPECIALCARBINE_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_SPECIALCARBINE_MK2_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_SPECIALCARBINE_MK2_CLIP_02', item = 'rifle_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
holographic = { component = 'COMPONENT_AT_SIGHTS', item = 'rifle_holoscope' },
|
||
smallscope = { component = 'COMPONENT_AT_SCOPE_MACRO_MK2', item = 'rifle_smallscope' },
|
||
largescope = { component = 'COMPONENT_AT_SCOPE_MEDIUM_MK2', item = 'rifle_largescope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'rifle_suppressor' },
|
||
digicamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO', item = 'digital_weapontint' },
|
||
brushcamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_02', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_03', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_04', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_05', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_06', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_07', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_08', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_09', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_10', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_SPECIALCARBINE_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
},
|
||
['WEAPON_BULLPUPRIFLE_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CLIP_01', item = 'rifle_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CLIP_02', item = 'rifle_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'rifle_flashlight' },
|
||
holographic = { component = 'COMPONENT_AT_SIGHTS', item = 'rifle_holoscope' },
|
||
smallscope = { component = 'COMPONENT_AT_SCOPE_MACRO_02_MK2', item = 'rifle_smallscope' },
|
||
largescope = { component = 'COMPONENT_AT_SCOPE_SMALL_MK2', item = 'rifle_largescope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP', item = 'rifle_suppressor' },
|
||
digicamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO', item = 'digital_weapontint' },
|
||
brushcamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_02', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_03', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_04', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_05', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_06', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_07', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_08', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_09', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_10', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_BULLPUPRIFLE_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
},
|
||
|
||
-- SNIPERS
|
||
['WEAPON_SNIPERRIFLE'] = {
|
||
defaultclip = { component = 'COMPONENT_SNIPERRIFLE_CLIP_01', item = 'sniper_defaultclip' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP_02', item = 'sniper_suppressor' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_LARGE', item = 'sniper_scope' },
|
||
largescope = { component = 'COMPONENT_AT_SCOPE_MAX', item = 'sniper_largescope' }
|
||
},
|
||
|
||
['WEAPON_HEAVYSNIPER'] = {
|
||
defaultclip = { component = 'COMPONENT_HEAVYSNIPER_CLIP_01', item = 'sniper_defaultclip' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_LARGE', item = 'sniper_scope' },
|
||
largescope = { component = 'COMPONENT_AT_SCOPE_MAX', item = 'sniper_largescope' }
|
||
},
|
||
|
||
['WEAPON_MARKSMANRIFLE'] = {
|
||
defaultclip = { component = 'COMPONENT_MARKSMANRIFLE_CLIP_01', item = 'sniper_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_MARKSMANRIFLE_CLIP_02', item = 'sniper_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'sniper_flashlight' },
|
||
scope = { component = 'COMPONENT_AT_SCOPE_LARGE_FIXED_ZOOM', item = 'sniper_scope' },
|
||
suppressor = { component = 'COMPONENT_AT_AR_SUPP', item = 'sniper_suppressor' },
|
||
grip = { component = 'COMPONENT_AT_AR_AFGRIP', item = 'sniper_grip' },
|
||
luxuryfinish = { component = 'COMPONENT_MARKSMANRIFLE_VARMOD_LUXE', item = 'luxuryfinish_weapontint' }
|
||
},
|
||
|
||
['WEAPON_HEAVYSNIPER_MK2'] = {
|
||
defaultclip = { component = 'COMPONENT_HEAVYSNIPER_MK2_CLIP_01', item = 'sniper_defaultclip' },
|
||
extendedclip = { component = 'COMPONENT_HEAVYSNIPER_MK2_CLIP_02', item = 'sniper_extendedclip' },
|
||
flashlight = { component = 'COMPONENT_AT_AR_FLSH', item = 'sniper_flashlight' },
|
||
holographic = { component = 'COMPONENT_AT_SIGHTS', item = 'sniper_holoscope' },
|
||
smallscope = { component = 'COMPONENT_AT_SCOPE_SMALL_MK2', item = 'sniper_smallscope' },
|
||
largescope = { component = 'COMPONENT_AT_SCOPE_LARGE_MK2', item = 'sniper_largescope' },
|
||
suppressor = { component = 'COMPONENT_AT_SR_SUPP_03', item = 'sniper_suppressor' },
|
||
squaredmuzzle = { component = 'COMPONENT_AT_MUZZLE_08', item = 'sniper_squaredmuzzle' },
|
||
barrel = { component = 'COMPONENT_AT_SR_BARREL_02', item = 'sniper_barrel' },
|
||
digicamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO', item = 'weapon_digicamo' },
|
||
brushcamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_02', item = 'brushstroke_weapontint' },
|
||
woodcamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_03', item = 'woodland_weapontint' },
|
||
skullcamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_04', item = 'skull_weapontint' },
|
||
sessantacamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_05', item = 'sessanta_weapontint' },
|
||
perseuscamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_06', item = 'perseus_weapontint' },
|
||
leopardcamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_07', item = 'leopard_weapontint' },
|
||
zebracamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_08', item = 'zebra_weapontint' },
|
||
geocamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_09', item = 'geometric_weapontint' },
|
||
boomcamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_10', item = 'boom_weapontint' },
|
||
patriotcamo = { component = 'COMPONENT_HEAVYSNIPER_MK2_CAMO_IND_01', item = 'patriot_weapontint' }
|
||
}
|
||
-- Additional weapon attachments continue as needed
|
||
}
|
||
|
||
---──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Tint Configuration & Hash Details [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Define custom tints per weapon using weapon hash, texture dictionary (YTD) and texture name.
|
||
-- Reference hashes: https://wiki.rage.mp/index.php?title=Weapons
|
||
-- Entry format:
|
||
-- [index] = { name = 'Weapon Name', hash = 'WeaponHashCode', ytd = 'TextureDictionary', texture = 'TextureName' }
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
Config.WeaponTints = {
|
||
-- Pistols
|
||
[1] = { name = 'Pistol', hash = '453432689', ytd = 'w_pi_pistol', texture = 'w_pi_pistol' },
|
||
[2] = { name = 'Pistol Mk II', hash = '3219281620', ytd = 'w_pi_pistolmk2', texture = 'w_pi_pistolmk2' },
|
||
[3] = { name = 'Combat Pistol', hash = '1593441988', ytd = 'w_pi_combatpistol', texture = 'w_pi_combatpistol' },
|
||
[4] = { name = 'Pistol .50', hash = '-1716589765', ytd = 'w_pi_pistol50', texture = 'w_pi_pistol50' },
|
||
[5] = { name = 'SNS Pistol', hash = '-1076751822', ytd = 'w_pi_sns_pistol', texture = 'w_pi_sns_pistol' },
|
||
[6] = { name = 'Heavy Pistol', hash = '-771403250', ytd = 'w_pi_heavypistol', texture = 'w_pi_heavypistol' },
|
||
[7] = { name = 'Vintage Pistol', hash = '137902532', ytd = 'w_pi_vintage_pistol', texture = 'w_pi_vintage_pistol' },
|
||
[8] = { name = 'Marksman Pistol', hash = '-598887786', ytd = 'w_pi_singleshot', texture = 'w_pi_singleshot_dm' },
|
||
[9] = { name = 'Revolver', hash = '-1045183535', ytd = 'w_pi_revolver', texture = 'w_pi_revolver' },
|
||
[10] = { name = 'Stun Gun', hash = '911657153', ytd = 'w_pi_stungun', texture = 'w_pi_stungun' },
|
||
[11] = { name = 'Double-Action Revolver', hash = '-1746263880', ytd = 'w_pi_revolver', texture = 'w_pi_revolver' },
|
||
[12] = { name = 'Navy Revolver', hash = '-2056364401', ytd = 'w_pi_revolver', texture = 'w_pi_revolver' },
|
||
[13] = { name = 'Ceramic Pistol', hash = '727643628', ytd = 'w_pi_ceramic_pistol', texture = 'w_pi_ceramic_pistol' },
|
||
|
||
-- SMGs / MGs
|
||
[14] = { name = 'Micro SMG', hash = '324215364', ytd = 'w_sb_microsmg', texture = 'w_sb_microsmg' },
|
||
[15] = { name = 'Machine Pistol', hash = '-619010992', ytd = 'w_sb_compactsmg', texture = 'w_sb_compactsmg' },
|
||
[16] = { name = 'SMG', hash = '736523883', ytd = 'w_sb_smg', texture = 'w_sb_smg' },
|
||
[17] = { name = 'SMG Mk II', hash = '2024373456', ytd = 'w_sb_smgmk2', texture = 'w_sb_smgmk2' },
|
||
[18] = { name = 'Assault SMG', hash = '-270015777', ytd = 'w_sb_assaultsmg', texture = 'w_sb_assaultsmg' },
|
||
[19] = { name = 'Mini SMG', hash = '-1121678507', ytd = 'w_sb_minismg', texture = 'w_sb_minismg_dm' },
|
||
[20] = { name = 'Combat PDW', hash = '171789620', ytd = 'w_sb_pdw', texture = 'w_sb_pdw' },
|
||
|
||
-- Assault Rifles / Carbines
|
||
[21] = { name = 'Assault Rifle', hash = '-1074790547', ytd = 'w_ar_assaultrifle', texture = 'w_ar_assaultrifle' },
|
||
[22] = { name = 'Assault Rifle Mk II', hash = '961495388', ytd = 'w_ar_assaultriflemk2', texture = 'w_ar_assaultriflemk2' },
|
||
[23] = { name = 'Carbine Rifle', hash = '-2084633992', ytd = 'w_ar_carbinerifle', texture = 'w_ar_carbinerifle' },
|
||
[24] = { name = 'Carbine Rifle Mk II', hash = '-86904375', ytd = 'w_ar_carbineriflemk2', texture = 'w_ar_carbineriflemk2' },
|
||
[25] = { name = 'Special Carbine', hash = '-1063057011', ytd = 'w_ar_specialcarbine', texture = 'w_ar_specialcarbine_tint' },
|
||
[26] = { name = 'Special Carbine Mk II', hash = '-1768145561', ytd = 'w_ar_specialcarbine_mk2', texture = 'w_ar_specialcarbine_mk2' },
|
||
[27] = { name = 'Bullpup Rifle', hash = '2132975508', ytd = 'w_ar_bullpuprifle', texture = 'w_ar_bullpuprifle' },
|
||
|
||
-- Snipers
|
||
[28] = { name = 'Sniper Rifle', hash = '100416529', ytd = 'w_sr_sniperrifle', texture = 'w_sr_sniperrifle' },
|
||
[29] = { name = 'Heavy Sniper', hash = '205991906', ytd = 'w_sr_heavysniper', texture = 'w_sr_heavysniper' },
|
||
[30] = { name = 'Heavy Sniper Mk II', hash = '177293209', ytd = 'w_sr_heavysnipermk2', texture = 'w_sr_heavysnipermk2' },
|
||
[31] = { name = 'Marksman Rifle', hash = '-952879014', ytd = 'w_sr_marksmanrifle', texture = 'w_sr_marksmanrifle' },
|
||
|
||
-- Shotguns
|
||
[32] = { name = 'Pump Shotgun', hash = '487013001', ytd = 'w_sg_pumpshotgun', texture = 'w_sg_pumpshotgun' },
|
||
[33] = { name = 'Sawed-Off Shotgun', hash = '2017895192', ytd = 'w_sg_sawnoff', texture = 'w_sg_sawnoff' },
|
||
[34] = { name = 'Bullpup Shotgun', hash = '-1654528753', ytd = 'w_sg_bullpupshotgun', texture = 'w_sg_bullpupshotgun' },
|
||
[35] = { name = 'Double Barrel Shotgun', hash = '-275439685', ytd = 'w_sg_doublebarrel', texture = 'w_sg_doublebarrel_dm' },
|
||
|
||
-- Others
|
||
[36] = { name = 'Railgun', hash = '1834241177', ytd = 'w_ar_railgun', texture = 'w_ar_railgun' },
|
||
[37] = { name = 'Minigun', hash = '1119849093', ytd = 'w_mg_minigun', texture = 'w_mg_minigun' },
|
||
[38] = { name = 'Widowmaker', hash = '-1238556825', ytd = 'w_mg_sminigun', texture = 'w_mg_sminigun' },
|
||
[39] = { name = 'Unholy Hellbringer', hash = '1198256469', ytd = 'w_ar_carbinerifle', texture = 'w_ar_carbinerifle' },
|
||
|
||
-- Pump Shotgun Mk II
|
||
[40] = { name = 'Pump Shotgun Mk II', hash = '1432025498', ytd = 'w_sg_pumpshotgunmk2', texture = 'w_sg_pumpshotgunmk2' },
|
||
}
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Sync Exports (Do Not Modify) [CORE]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Essential for synchronizing attachments/tints across server & clients.
|
||
-- Avoid editing unless you fully understand the implications.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
RegisterNetEvent('qb-weapons:getWeaponsAttachments', function(cb)
|
||
cb(Config.WeaponAttachments)
|
||
end)
|
||
|
||
exports('GetWeaponTints', function()
|
||
return Config.WeaponTints
|
||
end)
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Attachment Items (Linking Inventory Items → Attachment Keys) [EDIT]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
---@type AttachmentItem[]
|
||
Config.WeaponAttachmentItems = {
|
||
-- Rifles
|
||
{
|
||
item = 'rifle_suppressor',
|
||
attachment = 'suppressor',
|
||
type = 'suppressor'
|
||
},
|
||
{
|
||
item = 'rifle_smallscope',
|
||
attachment = 'smallscope',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'rifle_grip',
|
||
attachment = 'grip',
|
||
type = 'grip'
|
||
},
|
||
{
|
||
item = 'rifle_defaultclip',
|
||
attachment = 'defaultclip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'rifle_extendedclip',
|
||
attachment = 'extendedclip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'rifle_drum',
|
||
attachment = 'drum',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'rifle_flashlight',
|
||
attachment = 'flashlight',
|
||
type = 'flash'
|
||
},
|
||
{
|
||
item = 'rifle_largescope',
|
||
attachment = 'largescope',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'rifle_holoscope',
|
||
attachment = 'holographic',
|
||
type = 'scope'
|
||
},
|
||
|
||
-- Custom Tints
|
||
{
|
||
item = 'luxuryfinish_weapontint',
|
||
attachment = 'luxuryfinish',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'digital_weapontint',
|
||
attachment = 'digicamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'brushstroke_weapontint',
|
||
attachment = 'brushcamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'woodland_weapontint',
|
||
attachment = 'woodcamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'skull_weapontint',
|
||
attachment = 'skullcamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'sessanta_weapontint',
|
||
attachment = 'sessantacamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'perseus_weapontint',
|
||
attachment = 'perseuscamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'leopard_weapontint',
|
||
attachment = 'leopardcamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'zebra_weapontint',
|
||
attachment = 'zebracamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'geometric_weapontint',
|
||
attachment = 'geocamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'boom_weapontint',
|
||
attachment = 'boomcamo',
|
||
type = 'tint'
|
||
},
|
||
{
|
||
item = 'patriot_weapontint',
|
||
attachment = 'patriotcamo',
|
||
type = 'tint'
|
||
},
|
||
|
||
-- Sniper
|
||
{
|
||
item = 'sniper_suppressor',
|
||
attachment = 'suppressor',
|
||
type = 'suppressor'
|
||
},
|
||
{
|
||
item = 'sniper_scope',
|
||
attachment = 'scope',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'sniper_defaultclip',
|
||
attachment = 'defaultclip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'sniper_extendedclip',
|
||
attachment = 'extendedclip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'sniper_squaredmuzzle',
|
||
attachment = 'squaredmuzzle',
|
||
type = 'suppressor'
|
||
},
|
||
{
|
||
item = 'sniper_barrel',
|
||
attachment = 'barrel',
|
||
type = 'barrel'
|
||
},
|
||
{
|
||
item = 'sniper_flashlight',
|
||
attachment = 'flashlight',
|
||
type = 'flash'
|
||
},
|
||
{
|
||
item = 'sniper_holoscope',
|
||
attachment = 'holographic',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'sniper_smallscope',
|
||
attachment = 'smallscope',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'sniper_largescope',
|
||
attachment = 'largescope',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'sniper_grip',
|
||
attachment = 'grip',
|
||
type = 'grip'
|
||
},
|
||
|
||
-- Pistol
|
||
{
|
||
item = 'pistol_defaultclip',
|
||
attachment = 'clip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'pistol_extendedclip',
|
||
attachment = 'extendedclip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'pistol_flashlight',
|
||
attachment = 'flashlight',
|
||
type = 'flash'
|
||
},
|
||
{
|
||
item = 'pistol_suppressor',
|
||
attachment = 'suppressor',
|
||
type = 'suppressor'
|
||
},
|
||
{
|
||
item = 'pistol_holoscope',
|
||
attachment = 'holoscope',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'pistol_smallscope',
|
||
attachment = 'scope',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'pistol_compensator',
|
||
attachment = 'suppressor',
|
||
type = 'suppressor'
|
||
},
|
||
|
||
-- SMG
|
||
{
|
||
item = 'smg_defaultclip',
|
||
attachment = 'defaultclip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'smg_extendedclip',
|
||
attachment = 'extendedclip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'smg_suppressor',
|
||
attachment = 'suppressor',
|
||
type = 'suppressor'
|
||
},
|
||
{
|
||
item = 'smg_drum',
|
||
attachment = 'drum',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'smg_scope',
|
||
attachment = 'scope',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'smg_barrel',
|
||
attachment = 'barrel',
|
||
type = 'barrel'
|
||
},
|
||
|
||
-- Shotgun
|
||
{
|
||
item = 'shotgun_defaultclip',
|
||
attachment = 'defaultclip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'shotgun_extendedclip',
|
||
attachment = 'extendedclip',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'shotgun_flashlight',
|
||
attachment = 'flashlight',
|
||
type = 'flash'
|
||
},
|
||
{
|
||
item = 'shotgun_suppressor',
|
||
attachment = 'suppressor',
|
||
type = 'suppressor'
|
||
},
|
||
{
|
||
item = 'shotgun_grip',
|
||
attachment = 'grip',
|
||
type = 'grip'
|
||
},
|
||
{
|
||
item = 'shotgun_drum',
|
||
attachment = 'drum',
|
||
type = 'clip'
|
||
},
|
||
{
|
||
item = 'shotgun_squaredmuzzle',
|
||
attachment = 'squaredmuzzle',
|
||
type = 'suppressor'
|
||
},
|
||
{
|
||
item = 'shotgun_holoscope',
|
||
attachment = 'holographic',
|
||
type = 'scope'
|
||
},
|
||
{
|
||
item = 'shotgun_smallscope',
|
||
attachment = 'smallscope',
|
||
type = 'scope'
|
||
},
|
||
|
||
-- Tints for every weapon
|
||
{
|
||
attachment = 'black_weapontint',
|
||
label = 'Black Tint',
|
||
type = 'tint',
|
||
item = 'black_weapontint',
|
||
tint = 0,
|
||
forEveryWeapon = true
|
||
},
|
||
{
|
||
attachment = 'green_weapontint',
|
||
label = 'Green Tint',
|
||
type = 'tint',
|
||
item = 'green_weapontint',
|
||
tint = 1,
|
||
forEveryWeapon = true
|
||
},
|
||
{
|
||
attachment = 'gold_weapontint',
|
||
label = 'Gold Tint',
|
||
type = 'tint',
|
||
item = 'gold_weapontint',
|
||
tint = 2,
|
||
forEveryWeapon = true
|
||
},
|
||
{
|
||
attachment = 'pink_weapontint',
|
||
label = 'Pink Tint',
|
||
type = 'tint',
|
||
item = 'pink_weapontint',
|
||
tint = 3,
|
||
forEveryWeapon = true
|
||
},
|
||
{
|
||
attachment = 'army_weapontint',
|
||
label = 'Army Tint',
|
||
type = 'tint',
|
||
item = 'army_weapontint',
|
||
tint = 4,
|
||
forEveryWeapon = true
|
||
},
|
||
{
|
||
attachment = 'lspd_weapontint',
|
||
label = 'LSPD Tint',
|
||
type = 'tint',
|
||
item = 'lspd_weapontint',
|
||
tint = 5,
|
||
forEveryWeapon = true
|
||
},
|
||
{
|
||
attachment = 'orange_weapontint',
|
||
label = 'Orange Tint',
|
||
type = 'tint',
|
||
item = 'orange_weapontint',
|
||
tint = 6,
|
||
forEveryWeapon = true
|
||
},
|
||
{
|
||
attachment = 'plat_weapontint',
|
||
label = 'Platinum Tint',
|
||
type = 'tint',
|
||
item = 'plat_weapontint',
|
||
tint = 7,
|
||
forEveryWeapon = true
|
||
},
|
||
{
|
||
item = 'weapontint_url',
|
||
attachment = 'weapontint_url',
|
||
type = 'tint',
|
||
isUrlTint = true,
|
||
tint = -1,
|
||
forEveryWeapon = true
|
||
}
|
||
}
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Runtime Helpers [CORE]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Derives tint items from WeaponAttachmentItems (type == 'tint') and
|
||
-- injects attachment items flagged as `forEveryWeapon` into all weapons.
|
||
-- Requiere utilidades: table.filter, table.deepclone.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
local weaponTints = table.deepclone(table.filter(Config.WeaponAttachmentItems, function(tint)
|
||
return tint.type == 'tint'
|
||
end))
|
||
|
||
for k in pairs(Config.WeaponAttachments) do
|
||
for _, x in pairs(Config.WeaponAttachmentItems) do
|
||
if x.forEveryWeapon then
|
||
Config.WeaponAttachments[k][x.item] = x
|
||
end
|
||
end
|
||
end
|
||
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- Weapons · Exports [CORE]
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
-- [INFO] Public accessors for tints, attachments, and attachment item mapping.
|
||
--──────────────────────────────────────────────────────────────────────────────
|
||
---@return AttachmentItem[]
|
||
function GetConfigTints()
|
||
return weaponTints
|
||
end
|
||
|
||
exports('getConfigWeaponTints', GetConfigTints)
|
||
|
||
exports('GetWeaponAttachments', function()
|
||
return Config.WeaponAttachments
|
||
end)
|
||
|
||
exports('GetWeaponAttachmentItems', function()
|
||
return Config.WeaponAttachmentItems
|
||
end) |