Weapon components
Notes from the author
Weapon components fall into two groups: "model-specific" and "shared". "Shared" are divided into "shortarm", "longarm",
"shotgun" and "melee_blade".
Be careful, the "FRAME_VERTDATA" component breaks colors for other components. You must remove it for the other
components to work.
Example. Create weapon object, load weapon asset (with native 0x72D4CB5DB927009C) if your ped dont equip this type of weapon yet, and then :
local entity_id = ENTITY_ID_HERE -- WEAPON_REVOLVER_CATTLEMAN object id here or ped with equipped WEAPON_REVOLVER_CATTLEMAN
local weapon_object_model_hash = GetHashKey("WEAPON_REVOLVER_CATTLEMAN")
local weapon_component_hash1 = GetHashKey("COMPONENT_REVOLVER_CATTLEMAN_BARREL_LONG") -- model-specific weapon component
local weapon_component_hash2 = GetHashKey("COMPONENT_SHORTARM_BARREL_MATERIAL_7") -- shared weapon component
local weapon_component_hash3 = GetHashKey("COMPONENT_SHORTARM_BARREL_ENGRAVING_2") -- shared weapon component
local weapon_component_hash4 = GetHashKey("COMPONENT_SHORTARM_BARREL_ENGRAVING_MATERIAL_3") -- shared weapon component
local function apply_weapon_component(weapon_component_hash)
local weapon_component_model_hash = Citizen.InvokeNative(0x59DE03442B6C9598,weapon_component_hash) -- GetWeaponComponentTypeModel
if weapon_component_model_hash and weapon_component_model_hash ~= 0 then
RequestModel(weapon_component_model_hash)
local i = 0
while not HasModelLoaded(weapon_component_model_hash) and i <= 300 do
i = i + 1
Citizen.Wait(0)
end
if HasModelLoaded(weapon_component_model_hash) then
Citizen.InvokeNative(0x74C9090FDD1BB48E,entity_id,weapon_component_hash, weapon_object_model_hash, true) -- GiveWeaponComponentToEntity
SetModelAsNoLongerNeeded(weapon_component_model_hash)
end
end
end
apply_weapon_component(weapon_component_hash1)
apply_weapon_component(weapon_component_hash2)
apply_weapon_component(weapon_component_hash3)
apply_weapon_component(weapon_component_hash4)
To remove weapon component:
if Citizen.InvokeNative(0x76A18844E743BF91,entity_id, GetHashKey("COMPONENT_SHORTARM_BARREL_ENGRAVING_2") ) then -- HasWeaponGotWeaponComponent
Citizen.InvokeNative(0xF7D82B0D66777611,entity_id, GetHashKey("COMPONENT_SHORTARM_BARREL_ENGRAVING_2") ) -- RemoveWeaponComponentFromWeaponObject
end
local weapon__to__shared_group_of_components = {
["WEAPON_BOW"] = {},
["WEAPON_FISHINGROD"] = {},
["WEAPON_KIT_BINOCULARS"] = {},
["WEAPON_KIT_CAMERA"] = {},
["WEAPON_KIT_METAL_DETECTOR"] = {},
["WEAPON_LASSO"] = {},
["WEAPON_MELEE_CLEAVER"] = {"MELEE_BLADE",},
["WEAPON_MELEE_DAVY_LANTERN"] = {},
["WEAPON_MELEE_HATCHET"] = {"MELEE_BLADE",},
["WEAPON_MELEE_HATCHET_DOUBLE_BIT"] = {"MELEE_BLADE",},
["WEAPON_MELEE_HATCHET_HUNTER"] = {"MELEE_BLADE",},
["WEAPON_MELEE_KNIFE"] = {"MELEE_BLADE",},
["WEAPON_MELEE_KNIFE_JAWBONE"] = {"MELEE_BLADE",},
["WEAPON_MELEE_KNIFE_SEAN"] = {"MELEE_BLADE",},
["WEAPON_MELEE_LANTERN_ELECTRIC"] = {},
["WEAPON_MELEE_MACHETE"] = {"MELEE_BLADE",},
["WEAPON_MELEE_TORCH"] = {},
["WEAPON_PISTOL_M1899"] = {"SHORTARM",},
["WEAPON_PISTOL_MAUSER"] = {"SHORTARM",},
["WEAPON_PISTOL_SEMIAUTO"] = {"SHORTARM",},
["WEAPON_PISTOL_VOLCANIC"] = {"SHORTARM",},
["WEAPON_REPEATER_CARBINE"] = {"LONGARM",},
["WEAPON_REPEATER_EVANS"] = {"LONGARM",},
["WEAPON_REPEATER_HENRY"] = {"LONGARM",},
["WEAPON_REPEATER_WINCHESTER"] = {"LONGARM",},
["WEAPON_REVOLVER_CATTLEMAN"] = {"SHORTARM",},
["WEAPON_REVOLVER_CATTLEMAN_DUALWIELD"] = {"SHORTARM",},
["WEAPON_REVOLVER_CATTLEMAN_MEXICAN"] = {"SHORTARM",},
["WEAPON_REVOLVER_DOUBLEACTION"] = {"SHORTARM",},
["WEAPON_REVOLVER_DOUBLEACTION_GAMBLER"] = {"SHORTARM",},
["WEAPON_REVOLVER_LEMAT"] = {"SHORTARM",},
["WEAPON_REVOLVER_NAVY_CROSSOVER"] = {"SHORTARM",},
["WEAPON_REVOLVER_SCHOFIELD"] = {"SHORTARM",},
["WEAPON_RIFLE_BOLTACTION"] = {"LONGARM",},
["WEAPON_RIFLE_SPRINGFIELD"] = {"LONGARM",},
["WEAPON_RIFLE_VARMINT"] = {"LONGARM",},
["WEAPON_SHOTGUN_DOUBLEBARREL"] = {"LONGARM",},
["WEAPON_SHOTGUN_DOUBLEBARREL_EXOTIC"] = {"LONGARM",},
["WEAPON_SHOTGUN_FOLDING"] = {"LONGARM","SHOTGUN",},
["WEAPON_SHOTGUN_PUMP"] = {"LONGARM","SHOTGUN",},
["WEAPON_SHOTGUN_REPEATING"] = {"LONGARM","SHOTGUN",},
["WEAPON_SHOTGUN_SAWEDOFF"] = {"SHORTARM","SHOTGUN",},
["WEAPON_SHOTGUN_SEMIAUTO"] = {"LONGARM","SHOTGUN",},
["WEAPON_SNIPERRIFLE_CARCANO"] = {"LONGARM",},
["WEAPON_SNIPERRIFLE_ROLLINGBLOCK"] = {"LONGARM",},
["WEAPON_THROWN_BOLAS_HAWKMOTH"] = {},
["WEAPON_THROWN_BOLAS_INTERTWINED"] = {},
["WEAPON_THROWN_BOLAS_IRONSPIKED"] = {},
["WEAPON_THROWN_DYNAMITE"] = {},
["WEAPON_THROWN_MOLOTOV"] = {},
["WEAPON_THROWN_THROWING_KNIVES"] = {},
["WEAPON_THROWN_TOMAHAWK"] = {},
["WEAPON_THROWN_TOMAHAWK_ANCIENT"] = {},
["WEAPON_KIT_CAMERA_ADVANCED"] = {},
["WEAPON_MELEE_MACHETE_HORROR"] = {"MELEE_BLADE",},
["WEAPON_BOW_IMPROVED"] = {},
["WEAPON_RIFLE_ELEPHANT"] = {"LONGARM",},
["WEAPON_REVOLVER_NAVY"] = {"SHORTARM",},
["WEAPON_BOW_IMPROVED_MP"] = {},
["WEAPON_LASSO_REINFORCED"] = {},
["WEAPON_KIT_BINOCULARS_IMPROVED"] = {},
["WEAPON_MELEE_KNIFE_TRADER"] = {"MELEE_BLADE",},
["WEAPON_MELEE_MACHETE_COLLECTOR"] = {"MELEE_BLADE",},
["WEAPON_MOONSHINEJUG_MP"] = {},
["WEAPON_THROWN_BOLAS"] = {},
["WEAPON_THROWN_POISONBOTTLE"] = {},
["WEAPON_MELEE_KNIFE_HORROR"] = {"MELEE_BLADE",},
["WEAPON_MELEE_KNIFE_RUSTIC"] = {"MELEE_BLADE",},
["WEAPON_MELEE_LANTERN_HALLOWEEN"] = {},
}| # | key | key2 | item | c1 | c2 | Note |
|---|---|---|---|---|---|---|
| 1 | WEAPON_REVOLVER_CATTLEMAN | BARREL | COMPONENT_REVOLVER_CATTLEMAN_BARREL_SHORT | |||
| 2 | WEAPON_REVOLVER_CATTLEMAN | BARREL | COMPONENT_REVOLVER_CATTLEMAN_BARREL_LONG | |||
| 3 | WEAPON_REVOLVER_CATTLEMAN | BARREL | COMPONENT_REVOLVER_CATTLEMAN_BARREL_LEGENDARY | |||
| 4 | WEAPON_REVOLVER_CATTLEMAN | GRIP | COMPONENT_REVOLVER_CATTLEMAN_GRIP | |||
| 5 | WEAPON_REVOLVER_CATTLEMAN | GRIP | COMPONENT_REVOLVER_CATTLEMAN_GRIP_PEARL | |||
| 6 | WEAPON_REVOLVER_CATTLEMAN | GRIP | COMPONENT_REVOLVER_CATTLEMAN_GRIP_EBONY | |||
| 7 | WEAPON_REVOLVER_CATTLEMAN | GRIP | COMPONENT_REVOLVER_CATTLEMAN_GRIP_IRONWOOD | |||
| 8 | WEAPON_REVOLVER_CATTLEMAN | GRIP | COMPONENT_REVOLVER_CATTLEMAN_GRIP_GOOD_HONOR | |||
| 9 | WEAPON_REVOLVER_CATTLEMAN | GRIP | COMPONENT_REVOLVER_CATTLEMAN_GRIP_BURLED | |||
| 10 | WEAPON_REVOLVER_CATTLEMAN | GRIP | COMPONENT_REVOLVER_CATTLEMAN_GRIP_LEGENDARY | |||
| 11 | WEAPON_REVOLVER_CATTLEMAN | SIGHT | COMPONENT_REVOLVER_CATTLEMAN_SIGHT_NARROW | |||
| 12 | WEAPON_REVOLVER_CATTLEMAN | SIGHT | COMPONENT_REVOLVER_CATTLEMAN_SIGHT_WIDE | |||
| 13 | WEAPON_REVOLVER_CATTLEMAN | FRAME_VERTDATA | COMPONENT_SHORTARM_ROLE_ENGRAVING_CATTLEMAN_LEGENDARY | |||
| 14 | WEAPON_REVOLVER_DOUBLEACTION | BARREL | COMPONENT_REVOLVER_DOUBLEACTION_BARREL_SHORT | |||
| 15 | WEAPON_REVOLVER_DOUBLEACTION | BARREL | COMPONENT_REVOLVER_DOUBLEACTION_BARREL_LONG | |||
| 16 | WEAPON_REVOLVER_DOUBLEACTION | GRIP | COMPONENT_REVOLVER_DOUBLEACTION_GRIP | |||
| 17 | WEAPON_REVOLVER_DOUBLEACTION | GRIP | COMPONENT_REVOLVER_DOUBLEACTION_GRIP_EBONY | |||
| 18 | WEAPON_REVOLVER_DOUBLEACTION | GRIP | COMPONENT_REVOLVER_DOUBLEACTION_GRIP_IRONWOOD | |||
| 19 | WEAPON_REVOLVER_DOUBLEACTION | GRIP | COMPONENT_REVOLVER_DOUBLEACTION_GRIP_PEARL | |||
| 20 | WEAPON_REVOLVER_DOUBLEACTION | GRIP | COMPONENT_REVOLVER_DOUBLEACTION_GRIP_BAD_HONOR | |||
| 21 | WEAPON_REVOLVER_DOUBLEACTION | GRIP | COMPONENT_REVOLVER_DOUBLEACTION_GRIP_BURLED | |||
| 22 | WEAPON_REVOLVER_DOUBLEACTION | SIGHT | COMPONENT_REVOLVER_DOUBLEACTION_SIGHT_WIDE | |||
| 23 | WEAPON_REVOLVER_DOUBLEACTION | SIGHT | COMPONENT_REVOLVER_DOUBLEACTION_SIGHT_NARROW | |||
| 24 | WEAPON_REVOLVER_DOUBLEACTION_EXOTIC | GRIP | COMPONENT_REVOLVER_DOUBLEACTION_GRIP_EXOTIC | |||
| 25 | WEAPON_REVOLVER_SCHOFIELD | BARREL | COMPONENT_REVOLVER_SCHOFIELD_BARREL_SHORT | |||
| 26 | WEAPON_REVOLVER_SCHOFIELD | BARREL | COMPONENT_REVOLVER_SCHOFIELD_BARREL_LONG | |||
| 27 | WEAPON_REVOLVER_SCHOFIELD | BARREL | COMPONENT_REVOLVER_SCHOFIELD_BARREL_BOUNTY | |||
| 28 | WEAPON_REVOLVER_SCHOFIELD | GRIP | COMPONENT_REVOLVER_SCHOFIELD_GRIP | |||
| 29 | WEAPON_REVOLVER_SCHOFIELD | GRIP | COMPONENT_REVOLVER_SCHOFIELD_GRIP_PEARL | |||
| 30 | WEAPON_REVOLVER_SCHOFIELD | GRIP | COMPONENT_REVOLVER_SCHOFIELD_GRIP_IRONWOOD | |||
| 31 | WEAPON_REVOLVER_SCHOFIELD | GRIP | COMPONENT_REVOLVER_SCHOFIELD_GRIP_EBONY | |||
| 32 | WEAPON_REVOLVER_SCHOFIELD | GRIP | COMPONENT_REVOLVER_SCHOFIELD_GRIP_BOUNTY | |||
| 33 | WEAPON_REVOLVER_SCHOFIELD | GRIP | COMPONENT_REVOLVER_SCHOFIELD_GRIP_BURLED | |||
| 34 | WEAPON_REVOLVER_SCHOFIELD | SIGHT | COMPONENT_REVOLVER_SCHOFIELD_SIGHT_NARROW | |||
| 35 | WEAPON_REVOLVER_SCHOFIELD | SIGHT | COMPONENT_REVOLVER_SCHOFIELD_SIGHT_WIDE | |||
| 36 | WEAPON_REVOLVER_SCHOFIELD | SIGHT | COMPONENT_REVOLVER_SCHOFIELD_SIGHT_BOUNTY | |||
| 37 | WEAPON_REVOLVER_SCHOFIELD | FRAME_VERTDATA | COMPONENT_SHORTARM_FRAME_ENGRAVING_SCHOFIELD_BOUNTY | |||
| 38 | WEAPON_PISTOL_MAUSER | BARREL | COMPONENT_PISTOL_MAUSER_BARREL_SHORT | |||
| 39 | WEAPON_PISTOL_MAUSER | BARREL | COMPONENT_PISTOL_MAUSER_BARREL_LONG | |||
| 40 | WEAPON_PISTOL_MAUSER | BARREL | COMPONENT_PISTOL_MAUSER_BARREL_AZTEC | |||
| 41 | WEAPON_PISTOL_MAUSER | GRIP | COMPONENT_PISTOL_MAUSER_GRIP | |||
| 42 | WEAPON_PISTOL_MAUSER | GRIP | COMPONENT_PISTOL_MAUSER_GRIP_PEARL | |||
| 43 | WEAPON_PISTOL_MAUSER | GRIP | COMPONENT_PISTOL_MAUSER_GRIP_EBONY | |||
| 44 | WEAPON_PISTOL_MAUSER | GRIP | COMPONENT_PISTOL_MAUSER_GRIP_IRONWOOD | |||
| 45 | WEAPON_PISTOL_MAUSER | GRIP | COMPONENT_PISTOL_MAUSER_GRIP_BURLED | |||
| 46 | WEAPON_PISTOL_MAUSER | GRIP | COMPONENT_PISTOL_MAUSER_GRIP_AZTEC | |||
| 47 | WEAPON_PISTOL_MAUSER | SIGHT | COMPONENT_PISTOL_MAUSER_SIGHT_NARROW | |||
| 48 | WEAPON_PISTOL_MAUSER | SIGHT | COMPONENT_PISTOL_MAUSER_SIGHT_WIDE | |||
| 49 | WEAPON_PISTOL_MAUSER | CLIP | COMPONENT_PISTOL_MAUSER_CLIP | |||
| 50 | WEAPON_PISTOL_MAUSER | CLIP | COMPONENT_PISTOL_MAUSER_CLIP_EMPTY | |||
| 51 | WEAPON_PISTOL_MAUSER | FRAME_VERTDATA | COMPONENT_SHORTARM_ROLE_ENGRAVING_MAUSER_AZTEC | |||
| 52 | WEAPON_PISTOL_SEMIAUTO | BARREL | COMPONENT_PISTOL_SEMIAUTO_BARREL_SHORT | |||
| 53 | WEAPON_PISTOL_SEMIAUTO | BARREL | COMPONENT_PISTOL_SEMIAUTO_BARREL_LONG | |||
| 54 | WEAPON_PISTOL_SEMIAUTO | GRIP | COMPONENT_PISTOL_SEMIAUTO_GRIP | |||
| 55 | WEAPON_PISTOL_SEMIAUTO | GRIP | COMPONENT_PISTOL_SEMIAUTO_GRIP_PEARL | |||
| 56 | WEAPON_PISTOL_SEMIAUTO | GRIP | COMPONENT_PISTOL_SEMIAUTO_GRIP_IRONWOOD | |||
| 57 | WEAPON_PISTOL_SEMIAUTO | GRIP | COMPONENT_PISTOL_SEMIAUTO_GRIP_EBONY | |||
| 58 | WEAPON_PISTOL_SEMIAUTO | GRIP | COMPONENT_PISTOL_SEMIAUTO_GRIP_BURLED | |||
| 59 | WEAPON_PISTOL_SEMIAUTO | SIGHT | COMPONENT_PISTOL_SEMIAUTO_SIGHT_NARROW | |||
| 60 | WEAPON_PISTOL_SEMIAUTO | SIGHT | COMPONENT_PISTOL_SEMIAUTO_SIGHT_WIDE | |||
| 61 | WEAPON_PISTOL_SEMIAUTO | CLIP | COMPONENT_PISTOL_SEMIAUTO_CLIP | |||
| 62 | WEAPON_PISTOL_VOLCANIC | BARREL | COMPONENT_PISTOL_VOLCANIC_BARREL_SHORT | |||
| 63 | WEAPON_PISTOL_VOLCANIC | BARREL | COMPONENT_PISTOL_VOLCANIC_BARREL_LONG | |||
| 64 | WEAPON_PISTOL_VOLCANIC | BARREL | COMPONENT_PISTOL_VOLCANIC_BARREL_COLLECTOR | |||
| 65 | WEAPON_PISTOL_VOLCANIC | GRIP | COMPONENT_PISTOL_VOLCANIC_GRIP | |||
| 66 | WEAPON_PISTOL_VOLCANIC | GRIP | COMPONENT_PISTOL_VOLCANIC_GRIP_PEARL | |||
| 67 | WEAPON_PISTOL_VOLCANIC | GRIP | COMPONENT_PISTOL_VOLCANIC_GRIP_EBONY | |||
| 68 | WEAPON_PISTOL_VOLCANIC | GRIP | COMPONENT_PISTOL_VOLCANIC_GRIP_IRONWOOD | |||
| 69 | WEAPON_PISTOL_VOLCANIC | GRIP | COMPONENT_PISTOL_VOLCANIC_GRIP_COLLECTOR | |||
| 70 | WEAPON_PISTOL_VOLCANIC | GRIP | COMPONENT_PISTOL_VOLCANIC_GRIP_BURLED | |||
| 71 | WEAPON_PISTOL_VOLCANIC | SIGHT | COMPONENT_PISTOL_VOLCANIC_SIGHT_NARROW | |||
| 72 | WEAPON_PISTOL_VOLCANIC | SIGHT | COMPONENT_PISTOL_VOLCANIC_SIGHT_WIDE | |||
| 73 | WEAPON_PISTOL_VOLCANIC | SIGHT | COMPONENT_PISTOL_VOLCANIC_SIGHT_COLLECTOR | |||
| 74 | WEAPON_PISTOL_VOLCANIC | FRAME_VERTDATA | COMPONENT_SHORTARM_FRAME_ENGRAVING_VOLCANIC_COLLECTOR | |||
| 75 | WEAPON_PISTOL_M1899 | BARREL | COMPONENT_PISTOL_M1899_BARREL_SHORT | |||
| 76 | WEAPON_PISTOL_M1899 | BARREL | COMPONENT_PISTOL_M1899_BARREL_LONG | |||
| 77 | WEAPON_PISTOL_M1899 | CLIP | COMPONENT_PISTOL_M1899_CLIP | |||
| 78 | WEAPON_PISTOL_M1899 | GRIP | COMPONENT_PISTOL_M1899_GRIP | |||
| 79 | WEAPON_PISTOL_M1899 | GRIP | COMPONENT_PISTOL_M1899_GRIP_IRONWOOD | |||
| 80 | WEAPON_PISTOL_M1899 | GRIP | COMPONENT_PISTOL_M1899_GRIP_PEARL | |||
| 81 | WEAPON_PISTOL_M1899 | GRIP | COMPONENT_PISTOL_M1899_GRIP_EBONY | |||
| 82 | WEAPON_PISTOL_M1899 | SIGHT | COMPONENT_PISTOL_M1899_SIGHT_NARROW | |||
| 83 | WEAPON_PISTOL_M1899 | SIGHT | COMPONENT_PISTOL_M1899_SIGHT_WIDE | |||
| 84 | WEAPON_REVOLVER_LEMAT | BARREL | COMPONENT_REVOLVER_LEMAT_BARREL_SHORT | |||
| 85 | WEAPON_REVOLVER_LEMAT | BARREL | COMPONENT_REVOLVER_LEMAT_BARREL_LONG | |||
| 86 | WEAPON_REVOLVER_LEMAT | GRIP | COMPONENT_REVOLVER_LEMAT_GRIP | |||
| 87 | WEAPON_REVOLVER_LEMAT | GRIP | COMPONENT_REVOLVER_LEMAT_GRIP_PEARL | |||
| 88 | WEAPON_REVOLVER_LEMAT | GRIP | COMPONENT_REVOLVER_LEMAT_GRIP_EBONY | |||
| 89 | WEAPON_REVOLVER_LEMAT | GRIP | COMPONENT_REVOLVER_LEMAT_GRIP_IRONWOOD | |||
| 90 | WEAPON_REVOLVER_LEMAT | SIGHT | COMPONENT_REVOLVER_LEMAT_SIGHT_NARROW | |||
| 91 | WEAPON_REVOLVER_LEMAT | SIGHT | COMPONENT_REVOLVER_LEMAT_SIGHT_WIDE | |||
| 92 | WEAPON_REVOLVER_NAVY | BARREL | COMPONENT_REVOLVER_NAVY_BARREL_SHORT | |||
| 93 | WEAPON_REVOLVER_NAVY | BARREL | COMPONENT_REVOLVER_NAVY_BARREL_LONG | |||
| 94 | WEAPON_REVOLVER_NAVY | BARREL | COMPONENT_REVOLVER_NAVY_BARREL_CROSSOVER | |||
| 95 | WEAPON_REVOLVER_NAVY | GRIP | COMPONENT_REVOLVER_NAVY_GRIP | |||
| 96 | WEAPON_REVOLVER_NAVY | GRIP | COMPONENT_REVOLVER_NAVY_GRIP_IRONWOOD | |||
| 97 | WEAPON_REVOLVER_NAVY | GRIP | COMPONENT_REVOLVER_NAVY_GRIP_PEARL | |||
| 98 | WEAPON_REVOLVER_NAVY | GRIP | COMPONENT_REVOLVER_NAVY_GRIP_EBONY | |||
| 99 | WEAPON_REVOLVER_NAVY | GRIP | COMPONENT_REVOLVER_NAVY_GRIP_CROSSOVER | |||
| 100 | WEAPON_REVOLVER_NAVY | SIGHT | COMPONENT_REVOLVER_NAVY_SIGHT_NARROW |