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 |
|---|---|---|---|---|---|---|
| 301 | WEAPON_SHOTGUN_DOUBLEBARREL | WRAP | COMPONENT_SHOTGUN_DOUBLEBARREL_WRAP4 | |||
| 302 | WEAPON_SHOTGUN_DOUBLEBARREL | WRAP | COMPONENT_SHOTGUN_DOUBLEBARREL_WRAP5 | |||
| 303 | WEAPON_SHOTGUN_DOUBLEBARREL | WRAP | COMPONENT_SHOTGUN_DOUBLEBARREL_WRAP6 | |||
| 304 | WEAPON_SHOTGUN_DOUBLEBARREL | MAG | COMPONENT_SHOTGUN_DOUBLEBARREL_MAG | |||
| 305 | WEAPON_SHOTGUN_DOUBLEBARREL | MAG | COMPONENT_SHOTGUN_DOUBLEBARREL_MAG_IRONWOOD | |||
| 306 | WEAPON_SHOTGUN_DOUBLEBARREL | MAG | COMPONENT_SHOTGUN_DOUBLEBARREL_MAG_ENGRAVED | |||
| 307 | WEAPON_SHOTGUN_DOUBLEBARREL | MAG | COMPONENT_SHOTGUN_DOUBLEBARREL_MAG_EXOTIC | |||
| 308 | WEAPON_SHOTGUN_DOUBLEBARREL | MAG | COMPONENT_SHOTGUN_DOUBLEBARREL_MAG_KRAMPUS | |||
| 309 | WEAPON_SHOTGUN_DOUBLEBARREL | MAG | COMPONENT_SHOTGUN_DOUBLEBARREL_MAG_BURLED | |||
| 310 | WEAPON_SHOTGUN_DOUBLEBARREL | FRAME_VERTDATA | COMPONENT_LONGARM_ROLE_ENGRAVING_DOUBLEBARREL_KRAMPUS | |||
| 311 | WEAPON_SHOTGUN_SAWEDOFF | GRIP | COMPONENT_SHOTGUN_SAWEDOFF_GRIP | |||
| 312 | WEAPON_SHOTGUN_SAWEDOFF | GRIP | COMPONENT_SHOTGUN_SAWEDOFF_GRIP_IRONWOOD | |||
| 313 | WEAPON_SHOTGUN_SAWEDOFF | GRIP | COMPONENT_SHOTGUN_SAWEDOFF_GRIP_EBONY | |||
| 314 | WEAPON_SHOTGUN_SAWEDOFF | GRIP | COMPONENT_SHOTGUN_SAWEDOFF_GRIP_MOONSHINER | |||
| 315 | WEAPON_SHOTGUN_SAWEDOFF | GRIP | COMPONENT_SHOTGUN_SAWEDOFF_GRIP_BURLED | |||
| 316 | WEAPON_SHOTGUN_SAWEDOFF | SIGHT | COMPONENT_SHOTGUN_SAWED_SIGHT_NARROW | |||
| 317 | WEAPON_SHOTGUN_SAWEDOFF | SIGHT | COMPONENT_SHOTGUN_SAWED_SIGHT_WIDE | |||
| 318 | WEAPON_SHOTGUN_SAWEDOFF | SIGHT | COMPONENT_SHOTGUN_SAWED_SIGHT_MOONSHINER | |||
| 319 | WEAPON_SHOTGUN_SAWEDOFF | WRAP | COMPONENT_SHOTGUN_SAWEDOFF_WRAP1 | |||
| 320 | WEAPON_SHOTGUN_SAWEDOFF | WRAP | COMPONENT_SHOTGUN_SAWEDOFF_WRAP2 | |||
| 321 | WEAPON_SHOTGUN_SAWEDOFF | WRAP | COMPONENT_SHOTGUN_SAWEDOFF_WRAP3 | |||
| 322 | WEAPON_SHOTGUN_SAWEDOFF | WRAP | COMPONENT_SHOTGUN_SAWEDOFF_WRAP4 | |||
| 323 | WEAPON_SHOTGUN_SAWEDOFF | WRAP | COMPONENT_SHOTGUN_SAWEDOFF_WRAP5 | |||
| 324 | WEAPON_SHOTGUN_SAWEDOFF | STOCK | COMPONENT_SHOTGUN_SAWEDOFF_STOCK | |||
| 325 | WEAPON_SHOTGUN_SAWEDOFF | STOCK | COMPONENT_SHOTGUN_SAWEDOFF_STOCK_IRONWOOD | |||
| 326 | WEAPON_SHOTGUN_SAWEDOFF | STOCK | COMPONENT_SHOTGUN_SAWEDOFF_STOCK_EBONY | |||
| 327 | WEAPON_SHOTGUN_SAWEDOFF | STOCK | COMPONENT_SHOTGUN_SAWEDOFF_STOCK_MOONSHINER | |||
| 328 | WEAPON_SHOTGUN_SAWEDOFF | STOCK | COMPONENT_SHOTGUN_SAWEDOFF_STOCK_BURLED | |||
| 329 | WEAPON_SHOTGUN_SAWEDOFF | FRAME_VERTDATA | COMPONENT_LONGARM_ROLE_ENGRAVING_SAWEDOFF_MOONSHINER | |||
| 330 | WEAPON_SHOTGUN_SEMIAUTO | BARREL | COMPONENT_SHOTGUN_SEMIAUTO_BARREL_SHORT | |||
| 331 | WEAPON_SHOTGUN_SEMIAUTO | BARREL | COMPONENT_SHOTGUN_SEMIAUTO_BARREL_LONG | |||
| 332 | WEAPON_SHOTGUN_SEMIAUTO | GRIP | COMPONENT_SHOTGUN_SEMIAUTO_GRIP | |||
| 333 | WEAPON_SHOTGUN_SEMIAUTO | GRIP | COMPONENT_SHOTGUN_SEMIAUTO_GRIP_IRONWOOD | |||
| 334 | WEAPON_SHOTGUN_SEMIAUTO | GRIP | COMPONENT_SHOTGUN_SEMIAUTO_GRIP_ENGRAVED | |||
| 335 | WEAPON_SHOTGUN_SEMIAUTO | GRIP | COMPONENT_SHOTGUN_SEMIAUTO_GRIP_BURLED | |||
| 336 | WEAPON_SHOTGUN_SEMIAUTO | SIGHT | COMPONENT_SHOTGUN_SEMIAUTO_SIGHT_NARROW | |||
| 337 | WEAPON_SHOTGUN_SEMIAUTO | SIGHT | COMPONENT_SHOTGUN_SEMIAUTO_SIGHT_WIDE | |||
| 338 | WEAPON_SHOTGUN_SEMIAUTO | WRAP | COMPONENT_SHOTGUN_SEMIAUTO_WRAP1 | |||
| 339 | WEAPON_SHOTGUN_SEMIAUTO | WRAP | COMPONENT_SHOTGUN_SEMIAUTO_WRAP2 | |||
| 340 | WEAPON_SHOTGUN_SEMIAUTO | WRAP | COMPONENT_SHOTGUN_SEMIAUTO_WRAP3 | |||
| 341 | WEAPON_SHOTGUN_SEMIAUTO | WRAP | COMPONENT_SHOTGUN_SEMIAUTO_WRAP4 | |||
| 342 | WEAPON_SHOTGUN_SEMIAUTO | WRAP | COMPONENT_SHOTGUN_SEMIAUTO_WRAP5 | |||
| 343 | WEAPON_SHOTGUN_SEMIAUTO | WRAP | COMPONENT_SHOTGUN_SEMIAUTO_WRAP6 | |||
| 344 | WEAPON_BOW_IMPROVED | GRIP | COMPONENT_BOW_IMPROVED_GRIP | |||
| 345 | WEAPON_BOW_IMPROVED | GRIP | COMPONENT_BOW_IMPROVED_GRIP_ALLIGATOR | |||
| 346 | WEAPON_BOW_IMPROVED | GRIP | COMPONENT_BOW_IMPROVED_GRIP_HORNED | |||
| 347 | WEAPON_BOW_IMPROVED | GRIP | COMPONENT_BOW_IMPROVED_GRIP_JAGUAR | |||
| 348 | WEAPON_BOW_IMPROVED | GRIP | COMPONENT_BOW_IMPROVED_GRIP_WOODEN_INLAY | |||
| 349 | WEAPON_BOW_IMPROVED | CYLINDER_TINT | COMPONENT_BOW_FRAME_TINT_A_1 | |||
| 350 | WEAPON_BOW_IMPROVED | CYLINDER_TINT | COMPONENT_BOW_FRAME_TINT_A_2 | |||
| 351 | WEAPON_BOW_IMPROVED | CYLINDER_TINT | COMPONENT_BOW_FRAME_TINT_A_3 | |||
| 352 | WEAPON_BOW_IMPROVED | CYLINDER_TINT | COMPONENT_BOW_FRAME_TINT_A_4 | |||
| 353 | WEAPON_BOW_IMPROVED | CYLINDER_TINT | COMPONENT_BOW_FRAME_TINT_A_5 | |||
| 354 | WEAPON_BOW_IMPROVED | CYLINDER_TINT | COMPONENT_BOW_FRAME_TINT_A_6 | |||
| 355 | WEAPON_BOW_IMPROVED | CYLINDER_TINT | COMPONENT_BOW_FRAME_TINT_A_7 | |||
| 356 | WEAPON_BOW_IMPROVED | CYLINDER_TINT | COMPONENT_BOW_FRAME_TINT_A_8 | |||
| 357 | WEAPON_BOW_IMPROVED | BARREL_TINT | COMPONENT_BOW_GRIPSTOCK_TINT_A_1 | |||
| 358 | WEAPON_BOW_IMPROVED | BARREL_TINT | COMPONENT_BOW_GRIPSTOCK_TINT_A_2 | |||
| 359 | WEAPON_BOW_IMPROVED | BARREL_TINT | COMPONENT_BOW_GRIPSTOCK_TINT_A_3 | |||
| 360 | WEAPON_BOW_IMPROVED | BARREL_TINT | COMPONENT_BOW_GRIPSTOCK_TINT_A_4 | |||
| 361 | WEAPON_BOW_IMPROVED | BARREL_TINT | COMPONENT_BOW_GRIPSTOCK_TINT_A_5 | |||
| 362 | WEAPON_BOW_IMPROVED | BARREL_TINT | COMPONENT_BOW_GRIPSTOCK_TINT_A_6 | |||
| 363 | WEAPON_BOW_IMPROVED | BARREL_TINT | COMPONENT_BOW_GRIPSTOCK_TINT_A_7 | |||
| 364 | WEAPON_BOW_IMPROVED | BARREL_TINT | COMPONENT_BOW_GRIPSTOCK_TINT_A_8 | |||
| 365 | WEAPON_BOW_IMPROVED | TRIGGER_TINT | COMPONENT_BOW_TRIGGER_TINT_A_1 | |||
| 366 | WEAPON_BOW_IMPROVED | TRIGGER_TINT | COMPONENT_BOW_TRIGGER_TINT_A_2 | |||
| 367 | WEAPON_BOW_IMPROVED | TRIGGER_TINT | COMPONENT_BOW_TRIGGER_TINT_A_3 | |||
| 368 | WEAPON_BOW_IMPROVED | TRIGGER_TINT | COMPONENT_BOW_TRIGGER_TINT_A_4 | |||
| 369 | WEAPON_BOW_IMPROVED | TRIGGER_TINT | COMPONENT_BOW_TRIGGER_TINT_A_5 | |||
| 370 | WEAPON_BOW_IMPROVED | TRIGGER_TINT | COMPONENT_BOW_TRIGGER_TINT_A_6 | |||
| 371 | WEAPON_BOW_IMPROVED | TRIGGER_TINT | COMPONENT_BOW_TRIGGER_TINT_A_7 | |||
| 372 | WEAPON_BOW_IMPROVED | TRIGGER_TINT | COMPONENT_BOW_TRIGGER_TINT_A_8 | |||
| 373 | WEAPON_BOW_IMPROVED | FRAME_VERTDATA | COMPONENT_BOW_ROLE_ENGRAVING_IMPROVED_ALLIGATOR | |||
| 374 | WEAPON_BOW_IMPROVED | FRAME_VERTDATA | COMPONENT_BOW_ROLE_ENGRAVING_IMPROVED_HORNED | |||
| 375 | WEAPON_BOW_IMPROVED | FRAME_VERTDATA | COMPONENT_BOW_ROLE_ENGRAVING_IMPROVED_JAGUAR | |||
| 376 | WEAPON_BOW_IMPROVED | FRAME_VERTDATA | COMPONENT_BOW_ROLE_ENGRAVING_IMPROVED_WOODEN_INLAY | |||
| 377 | WEAPON_MELEE_KNIFE | GRIP | COMPONENT_MELEE_KNIFE02_GRIP | COMPONENT_MELEE_KNIFE13_GRIP | ||
| 378 | WEAPON_THROWN_DYNAMITE | TORCH_MATCHSTICK | COMPONENT_DYNAMITE_MOLOTOV_TORCH_MATCHSTICK | |||
| 379 | WEAPON_KIT_BINOCULARS | TORCH_MATCHSTICK | COMPONENT_BINOCULARS_SCOPE01 | |||
| 380 | WEAPON_FISHINGROD | COMPONENT_FISHING_LINE | COMPONENT_FISHING_LINE |