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 |
|---|---|---|---|---|---|---|
| 201 | WEAPON_RIFLE_ELEPHANT | MAG | COMPONENT_RIFLE_ELEPHANT_MAG_ENGRAVED | |||
| 202 | WEAPON_RIFLE_ELEPHANT | MAG | COMPONENT_RIFLE_ELEPHANT_MAG_BURLED | |||
| 203 | WEAPON_RIFLE_ELEPHANT | SIGHT | COMPONENT_RIFLE_ELEPHANT_SIGHT_NARROW | |||
| 204 | WEAPON_RIFLE_ELEPHANT | SIGHT | COMPONENT_RIFLE_ELEPHANT_SIGHT_WIDE | |||
| 205 | WEAPON_RIFLE_ELEPHANT | WRAP | COMPONENT_RIFLE_ELEPHANT_WRAP1 | |||
| 206 | WEAPON_RIFLE_ELEPHANT | WRAP | COMPONENT_RIFLE_ELEPHANT_WRAP2 | |||
| 207 | WEAPON_RIFLE_SPRINGFIELD | GRIP | COMPONENT_RIFLE_SPRINGFIELD_GRIP | |||
| 208 | WEAPON_RIFLE_SPRINGFIELD | GRIP | COMPONENT_RIFLE_SPRINGFIELD_GRIP_IRONWOOD | |||
| 209 | WEAPON_RIFLE_SPRINGFIELD | GRIP | COMPONENT_RIFLE_SPRINGFIELD_GRIP_ENGRAVED | |||
| 210 | WEAPON_RIFLE_SPRINGFIELD | GRIP | COMPONENT_RIFLE_SPRINGFIELD_GRIP_BURLED | |||
| 211 | WEAPON_RIFLE_SPRINGFIELD | SIGHT | COMPONENT_RIFLE_SPRINGFIELD_SIGHT_NARROW | |||
| 212 | WEAPON_RIFLE_SPRINGFIELD | SIGHT | COMPONENT_RIFLE_SPRINGFIELD_SIGHT_WIDE | |||
| 213 | WEAPON_RIFLE_SPRINGFIELD | WRAP | COMPONENT_RIFLE_SPRINGFIELD_WRAP1 | |||
| 214 | WEAPON_RIFLE_SPRINGFIELD | WRAP | COMPONENT_RIFLE_SPRINGFIELD_WRAP2 | |||
| 215 | WEAPON_RIFLE_SPRINGFIELD | WRAP | COMPONENT_RIFLE_SPRINGFIELD_WRAP3 | |||
| 216 | WEAPON_RIFLE_SPRINGFIELD | WRAP | COMPONENT_RIFLE_SPRINGFIELD_WRAP4 | |||
| 217 | WEAPON_RIFLE_SPRINGFIELD | WRAP | COMPONENT_RIFLE_SPRINGFIELD_WRAP5 | |||
| 218 | WEAPON_RIFLE_SPRINGFIELD | WRAP | COMPONENT_RIFLE_SPRINGFIELD_WRAP6 | |||
| 219 | WEAPON_SNIPERRIFLE_CARCANO | GRIP | COMPONENT_RIFLE_CARCANO_GRIP | |||
| 220 | WEAPON_SNIPERRIFLE_CARCANO | GRIP | COMPONENT_RIFLE_CARCANO_GRIP_ENGRAVED | |||
| 221 | WEAPON_SNIPERRIFLE_CARCANO | GRIP | COMPONENT_RIFLE_CARCANO_GRIP_IRONWOOD | |||
| 222 | WEAPON_SNIPERRIFLE_CARCANO | GRIP | COMPONENT_RIFLE_CARCANO_GRIP_BURLED | |||
| 223 | WEAPON_SNIPERRIFLE_CARCANO | SIGHT | COMPONENT_RIFLE_CARCANO_SIGHT_NARROW | |||
| 224 | WEAPON_SNIPERRIFLE_CARCANO | SIGHT | COMPONENT_RIFLE_CARCANO_SIGHT_WIDE | |||
| 225 | WEAPON_SNIPERRIFLE_CARCANO | CLIP | COMPONENT_RIFLE_CARCANO_CLIP | |||
| 226 | WEAPON_SNIPERRIFLE_CARCANO | CLIP | COMPONENT_RIFLE_CARCANO_CLIP_EMPTY | |||
| 227 | WEAPON_SNIPERRIFLE_CARCANO | WRAP | COMPONENT_RIFLE_CARCANO_WRAP1 | |||
| 228 | WEAPON_SNIPERRIFLE_CARCANO | WRAP | COMPONENT_RIFLE_CARCANO_WRAP2 | |||
| 229 | WEAPON_SNIPERRIFLE_CARCANO | WRAP | COMPONENT_RIFLE_CARCANO_WRAP3 | |||
| 230 | WEAPON_SNIPERRIFLE_CARCANO | WRAP | COMPONENT_RIFLE_CARCANO_WRAP4 | |||
| 231 | WEAPON_SNIPERRIFLE_CARCANO | WRAP | COMPONENT_RIFLE_CARCANO_WRAP5 | |||
| 232 | WEAPON_SNIPERRIFLE_CARCANO | WRAP | COMPONENT_RIFLE_CARCANO_WRAP6 | |||
| 233 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | GRIP | COMPONENT_SNIPERRIFLE_ROLLINGBLOCK_GRIP | |||
| 234 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | GRIP | COMPONENT_SNIPERRIFLE_ROLLINGBLOCK_GRIP_EXOTIC | |||
| 235 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | GRIP | COMPONENT_SNIPERRIFLE_ROLLINGBLOCK_GRIP_IRONWOOD | |||
| 236 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | GRIP | COMPONENT_SNIPERRIFLE_ROLLINGBLOCK_GRIP_ENGRAVED | |||
| 237 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | GRIP | COMPONENT_SNIPERRIFLE_ROLLINGBLOCK_GRIP_REAPER | |||
| 238 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | GRIP | COMPONENT_SNIPERRIFLE_ROLLINGBLOCK_GRIP_BURLED | |||
| 239 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | SIGHT | COMPONENT_RIFLE_ROLLINGBLOCK_SIGHT_NARROW | |||
| 240 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | SIGHT | COMPONENT_RIFLE_ROLLINGBLOCK_SIGHT_WIDE | |||
| 241 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | WRAP | COMPONENT_RIFLE_ROLLINGBLOCK_WRAP1 | |||
| 242 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | WRAP | COMPONENT_RIFLE_ROLLINGBLOCK_WRAP2 | |||
| 243 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | WRAP | COMPONENT_RIFLE_ROLLINGBLOCK_WRAP3 | |||
| 244 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | WRAP | COMPONENT_RIFLE_ROLLINGBLOCK_WRAP4 | |||
| 245 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | WRAP | COMPONENT_RIFLE_ROLLINGBLOCK_WRAP5 | |||
| 246 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | WRAP | COMPONENT_RIFLE_ROLLINGBLOCK_WRAP6 | |||
| 247 | WEAPON_SNIPERRIFLE_ROLLINGBLOCK | FRAME_VERTDATA | COMPONENT_LONGARM_ROLE_ENGRAVING_ROLLINGBLOCK_REAPER | |||
| 248 | WEAPON_SHOTGUN_REPEATING | BARREL | COMPONENT_SHOTGUN_REPEATING_BARREL_SHORT | |||
| 249 | WEAPON_SHOTGUN_REPEATING | BARREL | COMPONENT_SHOTGUN_REPEATING_BARREL_LONG | |||
| 250 | WEAPON_SHOTGUN_REPEATING | GRIP | COMPONENT_SHOTGUN_REPEATING01_GRIP | |||
| 251 | WEAPON_SHOTGUN_REPEATING | GRIP | COMPONENT_SHOTGUN_REPEATING01_GRIP_IRONWOOD | |||
| 252 | WEAPON_SHOTGUN_REPEATING | GRIP | COMPONENT_SHOTGUN_REPEATING01_GRIP_ENGRAVED | |||
| 253 | WEAPON_SHOTGUN_REPEATING | GRIP | COMPONENT_SHOTGUN_REPEATING_GRIP_BURLED | |||
| 254 | WEAPON_SHOTGUN_REPEATING | SIGHT | COMPONENT_SHOTGUN_REPEATING_SIGHT_NARROW | |||
| 255 | WEAPON_SHOTGUN_REPEATING | SIGHT | COMPONENT_SHOTGUN_REPEATING_SIGHT_WIDE | |||
| 256 | WEAPON_SHOTGUN_REPEATING | WRAP | COMPONENT_SHOTGUN_REPEATING01_WRAP1 | |||
| 257 | WEAPON_SHOTGUN_REPEATING | WRAP | COMPONENT_SHOTGUN_REPEATING01_WRAP2 | |||
| 258 | WEAPON_SHOTGUN_REPEATING | WRAP | COMPONENT_SHOTGUN_REPEATING_WRAP3 | |||
| 259 | WEAPON_SHOTGUN_REPEATING | WRAP | COMPONENT_SHOTGUN_REPEATING_WRAP4 | |||
| 260 | WEAPON_SHOTGUN_REPEATING | WRAP | COMPONENT_SHOTGUN_REPEATING_WRAP5 | |||
| 261 | WEAPON_SHOTGUN_REPEATING | WRAP | COMPONENT_SHOTGUN_REPEATING_WRAP6 | |||
| 262 | WEAPON_SHOTGUN_PUMP | BARREL | COMPONENT_SHOTGUN_PUMP_BARREL_SHORT | |||
| 263 | WEAPON_SHOTGUN_PUMP | BARREL | COMPONENT_SHOTGUN_PUMP_BARREL_LONG | |||
| 264 | WEAPON_SHOTGUN_PUMP | BARREL | COMPONENT_SHOTGUN_PUMP_BARREL_HALLOWEEN | |||
| 265 | WEAPON_SHOTGUN_PUMP | GRIP | COMPONENT_SHOTGUN_PUMP_GRIP | |||
| 266 | WEAPON_SHOTGUN_PUMP | GRIP | COMPONENT_SHOTGUN_PUMP_GRIP_IRONWOOD | |||
| 267 | WEAPON_SHOTGUN_PUMP | GRIP | COMPONENT_SHOTGUN_PUMP_GRIP_ENGRAVED | |||
| 268 | WEAPON_SHOTGUN_PUMP | GRIP | COMPONENT_SHOTGUN_PUMP_GRIP_TRADER | |||
| 269 | WEAPON_SHOTGUN_PUMP | GRIP | COMPONENT_SHOTGUN_PUMP_GRIP_BURLED | |||
| 270 | WEAPON_SHOTGUN_PUMP | GRIP | COMPONENT_SHOTGUN_PUMP_GRIP_HALLOWEEN | |||
| 271 | WEAPON_SHOTGUN_PUMP | SIGHT | COMPONENT_SHOTGUN_PUMP_SIGHT_NARROW | |||
| 272 | WEAPON_SHOTGUN_PUMP | SIGHT | COMPONENT_SHOTGUN_PUMP_SIGHT_WIDE | |||
| 273 | WEAPON_SHOTGUN_PUMP | CLIP | COMPONENT_SHOTGUN_PUMP_CLIP | |||
| 274 | WEAPON_SHOTGUN_PUMP | CLIP | COMPONENT_SHOTGUN_PUMP_CLIP_IRONWOOD | |||
| 275 | WEAPON_SHOTGUN_PUMP | CLIP | COMPONENT_SHOTGUN_PUMP_CLIP_ENGRAVED | |||
| 276 | WEAPON_SHOTGUN_PUMP | CLIP | COMPONENT_SHOTGUN_PUMP_CLIP_TRADER | |||
| 277 | WEAPON_SHOTGUN_PUMP | CLIP | COMPONENT_SHOTGUN_PUMP_CLIP_BURLED | |||
| 278 | WEAPON_SHOTGUN_PUMP | CLIP | COMPONENT_SHOTGUN_PUMP_CLIP_HALLOWEEN | |||
| 279 | WEAPON_SHOTGUN_PUMP | WRAP | COMPONENT_SHOTGUN_PUMP_WRAP1 | |||
| 280 | WEAPON_SHOTGUN_PUMP | WRAP | COMPONENT_SHOTGUN_PUMP_WRAP2 | |||
| 281 | WEAPON_SHOTGUN_PUMP | WRAP | COMPONENT_SHOTGUN_PUMP_WRAP3 | |||
| 282 | WEAPON_SHOTGUN_PUMP | WRAP | COMPONENT_SHOTGUN_PUMP_WRAP4 | |||
| 283 | WEAPON_SHOTGUN_PUMP | WRAP | COMPONENT_SHOTGUN_PUMP_WRAP5 | |||
| 284 | WEAPON_SHOTGUN_PUMP | WRAP | COMPONENT_SHOTGUN_PUMP_WRAP6 | |||
| 285 | WEAPON_SHOTGUN_PUMP | FRAME_VERTDATA | COMPONENT_SHOTGUN_FRAME_ENGRAVING_PUMP_TRADER | |||
| 286 | WEAPON_SHOTGUN_PUMP | FRAME_VERTDATA | COMPONENT_LONGARM_ROLE_ENGRAVING_PUMP_HALLOWEEN | |||
| 287 | WEAPON_SHOTGUN_DOUBLEBARREL | BARREL | COMPONENT_SHOTGUN_DOUBLEBARREL_BARREL_SHORT | |||
| 288 | WEAPON_SHOTGUN_DOUBLEBARREL | BARREL | COMPONENT_SHOTGUN_DOUBLEBARREL_BARREL_LONG | |||
| 289 | WEAPON_SHOTGUN_DOUBLEBARREL | BARREL | COMPONENT_SHOTGUN_DOUBLEBARREL_BARREL_KRAMPUS | |||
| 290 | WEAPON_SHOTGUN_DOUBLEBARREL | GRIP | COMPONENT_SHOTGUN_DOUBLEBARREL_GRIP | |||
| 291 | WEAPON_SHOTGUN_DOUBLEBARREL | GRIP | COMPONENT_SHOTGUN_DOUBLEBARREL_GRIP_EXOTIC | |||
| 292 | WEAPON_SHOTGUN_DOUBLEBARREL | GRIP | COMPONENT_SHOTGUN_DOUBLEBARREL_GRIP_IRONWOOD | |||
| 293 | WEAPON_SHOTGUN_DOUBLEBARREL | GRIP | COMPONENT_SHOTGUN_DOUBLEBARREL_GRIP_ENGRAVED | |||
| 294 | WEAPON_SHOTGUN_DOUBLEBARREL | GRIP | COMPONENT_SHOTGUN_DOUBLEBARREL_GRIP_KRAMPUS | |||
| 295 | WEAPON_SHOTGUN_DOUBLEBARREL | GRIP | COMPONENT_SHOTGUN_DOUBLEBARREL_GRIP_BURLED | |||
| 296 | WEAPON_SHOTGUN_DOUBLEBARREL | SIGHT | COMPONENT_SHOTGUN_DOUBLEBARREL_SIGHT_NARROW | |||
| 297 | WEAPON_SHOTGUN_DOUBLEBARREL | SIGHT | COMPONENT_SHOTGUN_DOUBLEBARREL_SIGHT_WIDE | |||
| 298 | WEAPON_SHOTGUN_DOUBLEBARREL | WRAP | COMPONENT_SHOTGUN_DOUBLEBARREL_WRAP1 | |||
| 299 | WEAPON_SHOTGUN_DOUBLEBARREL | WRAP | COMPONENT_SHOTGUN_DOUBLEBARREL_WRAP2 | |||
| 300 | WEAPON_SHOTGUN_DOUBLEBARREL | WRAP | COMPONENT_SHOTGUN_DOUBLEBARREL_WRAP3 |