
Weapon skins for FiveM
Put your own artwork on any model in the library and export it as its own resource, inventory icons cut to match. The first one costs nothing.
FAM-261023-261025-UL4B9this weekendTick it in your cart Halloween Edition36 maps, limited runlimited runShop the drop FREE TOOL · WEAPONS.META
Every weapon a ped can hold, with the damage, range, clip size and fire rate the game actually ships — not a wiki’s estimate of them. Each row carries the weapon hash in all three forms, the weapon group GetWeapontypeGroup returns, the ammo type, every component the weapon will accept, and its tint indices. Search it, filter it by group, sort it by damage or range, and copy the call you came for.
Damage, range, clip size and the attach-point lists are read straight out of the game’s own weapons.meta files — the base weapons.meta plus one file per DLC weapon. Labels, component hashes and tint names come from the published GTA V data dumps. Weapon names, models and weapon hashes are the same list our weapon hash reference uses, so a weapon is called the same thing everywhere on this site. Group and ammo-type hashes we compute ourselves with the engine’s own Jenkins one-at-a-time function.
| Weapon | Group | Damage | Range | Clip | Rounds/min | Ammo type | Parts | Tints | |
|---|---|---|---|---|---|---|---|---|---|
| WEAPON_HEAVYSNIPER_MK2Heavy Sniper Mk II | SniperGROUP_SNIPER | 230 | 1,500 m | 6 | 50 | AMMO_SNIPER | 26 | 33 | |
| WEAPON_MARKSMANPISTOLMarksman Pistol | PistolGROUP_PISTOL | 220 | 120 m | 1 | 24 | AMMO_PISTOL | 1 | 8 | |
| WEAPON_HEAVYSNIPERHeavy Sniper | SniperGROUP_SNIPER | 216 | 1,500 m | 6 | 50 | AMMO_SNIPER | 4 | 8 | |
| WEAPON_REVOLVER_MK2Heavy Revolver Mk II | PistolGROUP_PISTOL | 200 | 120 m | 6 | 45 | AMMO_PISTOL | 20 | 33 | |
| WEAPON_GADGETPISTOLPerico Pistol | PistolGROUP_PISTOL | 195 | 120 m | 1 | 48 | AMMO_PISTOL | 1 | 8 | |
| WEAPON_MUSKETMusket | SniperGROUP_SNIPER | 165 | 250 m | 1 | 38 | AMMO_SHOTGUN | 1 | 8 | |
| WEAPON_REVOLVERHeavy Revolver | PistolGROUP_PISTOL | 160 | 120 m | 6 | 33 | AMMO_PISTOL | 4 | 8 | |
| WEAPON_NAVYREVOLVERNavy Revolver | PistolGROUP_PISTOL | 160 | 120 m | 6 | 45 | AMMO_PISTOL | 1 | 1 | |
| WEAPON_HEAVYSHOTGUNHeavy Shotgun | ShotgunGROUP_SHOTGUN | 117 | 50 m | 6 | 200 | AMMO_SHOTGUN | 6 | 8 | |
| WEAPON_PRECISIONRIFLEPrecision Rifle | SniperGROUP_SNIPER | 101 | 1,500 m | 10 | 38 | AMMO_SNIPER | 1 | 8 | |
| WEAPON_REMOTESNIPERRemote Sniper | No group— | 101 | 5,000 m | 10 | 150 | AMMO_SNIPER_REMOTE | 0 | 8 | |
| WEAPON_SNIPERRIFLESniper Rifle | SniperGROUP_SNIPER | 101 | 1,500 m | 10 | 38 | AMMO_SNIPER | 5 | 8 | |
| WEAPON_DOUBLEACTIONDouble-Action Revolver | PistolGROUP_PISTOL | 81 | 120 m | 6 | 129 | AMMO_PISTOL | 1 | 1 | |
| WEAPON_MARKSMANRIFLE_MK2Marksman Rifle Mk II | SniperGROUP_SNIPER | 75 | 1,000 m | 8 | 200 | AMMO_SNIPER | 32 | 33 | |
| WEAPON_MARKSMANRIFLEMarksman Rifle | SniperGROUP_SNIPER | 65 | 1,000 m | 8 | 200 | AMMO_SNIPER | 8 | 8 | |
| WEAPON_PISTOL50Pistol .50 | PistolGROUP_PISTOL | 51 | 120 m | 9 | 115 | AMMO_PISTOL | 5 | 8 | |
| WEAPON_COMBATMG_MK2Combat MG Mk II | Machine gunGROUP_MG | 47 | 120 m | 100 | 556 | AMMO_MG | 30 | 33 | |
| WEAPON_COMBATMGCombat MG | Machine gunGROUP_MG | 45 | 120 m | 100 | 556 | AMMO_MG | 6 | 8 | |
| WEAPON_RAYCARBINEUnholy Hellbringer | Machine gunGROUP_MG | 45 | 120 m | 9,999 | 556 | AMMO_MG | 0 | 7 | |
| WEAPON_ASSAULTRIFLE_MK2Assault Rifle Mk II | RifleGROUP_RIFLE | 40 | 120 m | 30 | 380 | AMMO_RIFLE | 32 | 33 | |
| WEAPON_HEAVYPISTOLHeavy Pistol | PistolGROUP_PISTOL | 40 | 120 m | 18 | 143 | AMMO_PISTOL | 5 | 8 | |
| WEAPON_MGMG | Machine gunGROUP_MG | 40 | 120 m | 54 | 438 | AMMO_MG | 4 | 8 | |
| WEAPON_SAWNOFFSHOTGUNSawed-Off Shotgun | ShotgunGROUP_SHOTGUN | 40 | 40 m | 8 | 60 | AMMO_SHOTGUN | 2 | 8 | |
| WEAPON_BATTLERIFLEBattle Rifle | RifleGROUP_RIFLE | 38 | 120 m | 20 | 444 | AMMO_RIFLE | 3 | 8 | |
| WEAPON_MILITARYRIFLEMilitary Rifle | RifleGROUP_RIFLE | 37.5 | 120 m | 30 | 462 | AMMO_RIFLE | 6 | 8 | |
| WEAPON_PISTOLXM3WM 29 Pistol | PistolGROUP_PISTOL | 35 | 120 m | 12 | 180 | AMMO_PISTOL | 2 | 8 | |
| WEAPON_TACTICALRIFLEService Carbine | RifleGROUP_RIFLE | 34.75 | 120 m | 30 | 444 | AMMO_RIFLE | 5 | 8 | |
| WEAPON_ADVANCEDRIFLEAdvanced Rifle | RifleGROUP_RIFLE | 34 | 120 m | 30 | 500 | AMMO_RIFLE | 6 | 8 | |
| WEAPON_COMPACTRIFLECompact Rifle | RifleGROUP_RIFLE | 34 | 120 m | 30 | 380 | AMMO_RIFLE | 3 | 8 | |
| WEAPON_GUSENBERGGusenberg Sweeper | Machine gunGROUP_MG | 34 | 120 m | 30 | 556 | AMMO_MG | 2 | 8 | |
| WEAPON_HEAVYRIFLEHeavy Rifle | RifleGROUP_RIFLE | 34 | 120 m | 30 | 380 | AMMO_RIFLE | 8 | 8 | |
| WEAPON_VINTAGEPISTOLVintage Pistol | PistolGROUP_PISTOL | 34 | 120 m | 7 | 150 | AMMO_PISTOL | 3 | 8 | |
| WEAPON_BULLPUPRIFLE_MK2Bullpup Rifle Mk II | RifleGROUP_RIFLE | 33 | 120 m | 30 | 500 | AMMO_RIFLE | 32 | 33 | |
| WEAPON_CARBINERIFLE_MK2Carbine Rifle Mk II | RifleGROUP_RIFLE | 33 | 120 m | 30 | 444 | AMMO_RIFLE | 32 | 33 | |
| WEAPON_SPECIALCARBINE_MK2Special Carbine Mk II | RifleGROUP_RIFLE | 32.5 | 120 m | 30 | 444 | AMMO_RIFLE | 32 | 33 | |
| WEAPON_ASSAULTSHOTGUNAssault Shotgun | ShotgunGROUP_SHOTGUN | 32 | 40 m | 8 | 200 | AMMO_SHOTGUN | 5 | 8 | |
| WEAPON_BULLPUPRIFLEBullpup Rifle | RifleGROUP_RIFLE | 32 | 120 m | 30 | 500 | AMMO_RIFLE | 8 | 8 | |
| WEAPON_CARBINERIFLECarbine Rifle | RifleGROUP_RIFLE | 32 | 120 m | 30 | 444 | AMMO_RIFLE | 10 | 8 | |
| WEAPON_CERAMICPISTOLCeramic Pistol | PistolGROUP_PISTOL | 32 | 120 m | 12 | 162 | AMMO_PISTOL | 3 | 8 | |
| WEAPON_PISTOL_MK2Pistol Mk II | PistolGROUP_PISTOL | 32 | 120 m | 12 | 162 | AMMO_PISTOL | 32 | 33 | |
| WEAPON_PUMPSHOTGUN_MK2Pump Shotgun Mk II | ShotgunGROUP_SHOTGUN | 32 | 40 m | 8 | 75 | AMMO_SHOTGUN | 22 | 33 | |
| WEAPON_SPECIALCARBINESpecial Carbine | RifleGROUP_RIFLE | 32 | 120 m | 30 | 444 | AMMO_RIFLE | 9 | 8 | |
| WEAPON_COMBATSHOTGUNCombat Shotgun | ShotgunGROUP_SHOTGUN | 31 | 40 m | 6 | 240 | AMMO_SHOTGUN | 3 | 8 | |
| WEAPON_ASSAULTRIFLEAssault Rifle | RifleGROUP_RIFLE | 30 | 120 m | 30 | 380 | AMMO_RIFLE | 9 | 8 | |
| WEAPON_DBSHOTGUNDouble Barrel Shotgun | ShotgunGROUP_SHOTGUN | 30 | 30 m | 2 | 600 | AMMO_SHOTGUN | 1 | 8 | |
| WEAPON_MINIGUNMinigun | HeavyGROUP_HEAVY | 30 | 120 m | ∞ | 3,000 | AMMO_MINIGUN | 1 | 8 | |
| WEAPON_RAILGUNRailgun | HeavyGROUP_HEAVY | 30 | 500 m | 1 | 30 | AMMO_RAILGUN | 1 | 8 | |
| WEAPON_SNSPISTOL_MK2SNS Pistol Mk II | PistolGROUP_PISTOL | 30 | 120 m | 6 | 162 | AMMO_PISTOL | 32 | 33 | |
| WEAPON_RAYMINIGUNWidowmaker | HeavyGROUP_HEAVY | 30 | 120 m | ∞ | 3,000 | AMMO_MINIGUN | 1 | 7 | |
| WEAPON_PUMPSHOTGUNPump Shotgun | ShotgunGROUP_SHOTGUN | 29 | 40 m | 8 | 75 | AMMO_SHOTGUN | 6 | 8 | |
| WEAPON_COMBATPDWCombat PDW | SMGGROUP_SMG | 28 | 120 m | 30 | 444 | AMMO_SMG | 6 | 8 | |
| WEAPON_SNSPISTOLSNS Pistol | PistolGROUP_PISTOL | 28 | 120 m | 6 | 162 | AMMO_PISTOL | 4 | 8 | |
| WEAPON_COMBATPISTOLCombat Pistol | PistolGROUP_PISTOL | 27 | 120 m | 12 | 162 | AMMO_PISTOL | 5 | 8 | |
| WEAPON_MACHINEPISTOLMachine Pistol | SMGGROUP_SMG | 27 | 120 m | 12 | 508 | AMMO_SMG | 4 | 8 | |
| WEAPON_AUTOSHOTGUNSweeper Shotgun | ShotgunGROUP_SHOTGUN | 27 | 40 m | 10 | 163 | AMMO_SHOTGUN | 1 | 8 | |
| WEAPON_PISTOLPistol | PistolGROUP_PISTOL | 26 | 120 m | 12 | 162 | AMMO_PISTOL | 6 | 8 | |
| WEAPON_APPISTOLAP Pistol | PistolGROUP_PISTOL | 25 | 120 m | 18 | 600 | AMMO_PISTOL | 6 | 8 | |
| WEAPON_RAILGUNXM3Railgun | HeavyGROUP_HEAVY | 25 | 500 m | 1 | 30 | AMMO_RAILGUNXM3 | 1 | 8 | |
| WEAPON_SMG_MK2SMG Mk II | SMGGROUP_SMG | 25 | 120 m | 30 | 508 | AMMO_SMG | 31 | 33 | |
| WEAPON_TECPISTOLTactical SMG | SMGGROUP_SMG | 25 | 120 m | 33 | 522 | AMMO_SMG | 4 | 8 | |
| WEAPON_ASSAULTSMGAssault SMG | SMGGROUP_SMG | 23 | 120 m | 30 | 462 | AMMO_SMG | 6 | 8 | |
| WEAPON_MINISMGMini SMG | SMGGROUP_SMG | 22 | 120 m | 20 | 652 | AMMO_SMG | 2 | 8 | |
| WEAPON_SMGSMG | SMGGROUP_SMG | 22 | 120 m | 30 | 508 | AMMO_SMG | 8 | 8 | |
| WEAPON_MICROSMGMicro SMG | SMGGROUP_SMG | 21 | 120 m | 16 | 600 | AMMO_SMG | 7 | 8 | |
| WEAPON_STUNGUN_MPStun Gun | Stun gunGROUP_STUNGUN | 20 | 11 m | ∞ | 5 | AMMO_STUNGUN | 0 | 8 | |
| WEAPON_BULLPUPSHOTGUNBullpup Shotgun | ShotgunGROUP_SHOTGUN | 14 | 40 m | 14 | 60 | AMMO_SHOTGUN | 4 | 8 | |
| WEAPON_FLAREGUNFlare Gun | PistolGROUP_PISTOL | 10 | 120 m | 1 | 143 | AMMO_FLAREGUN | 1 | 8 | |
| WEAPON_RAYPISTOLUp-n-Atomizer | PistolGROUP_PISTOL | 10 | 120 m | 1 | 30 | AMMO_RAYPISTOL | 1 | 7 | |
| WEAPON_STUNGUNStun Gun | Stun gunGROUP_STUNGUN | 1 | 11 m | ∞ | 21 | AMMO_STUNGUN | 0 | 8 | |
| WEAPON_TRANQUILIZERStun Gun | TranquilizerGROUP_TRANQILIZER | 1 | 11 m | ∞ | 21 | AMMO_TRANQUILIZER | 0 | 8 | |
| WEAPON_ACIDPACKAGEAcid Package | ThrownGROUP_THROWN | 0 | 30 m | 1 | — | AMMO_ACIDPACKAGE | 0 | 8 | |
| WEAPON_DAGGERAntique Cavalry Dagger | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_BALLBall | ThrownGROUP_THROWN | 0 | 40 m | 1 | — | AMMO_BALL | 0 | 8 | |
| WEAPON_BATBaseball Bat | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_BATTLEAXEBattle Axe | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_BOTTLEBottle | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_BZGASBZ Gas | ThrownGROUP_THROWN | 0 | 30 m | 1 | — | AMMO_BZGAS | 0 | 8 | |
| WEAPON_CANDYCANECandy Cane | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_EMPLAUNCHERCompact EMP Launcher | HeavyGROUP_HEAVY | 0 | 150 m | 1 | 49 | AMMO_EMPLAUNCHER | 1 | 8 | |
| WEAPON_COMPACTLAUNCHERCompact Grenade Launcher | HeavyGROUP_HEAVY | 0 | 150 m | 1 | 49 | AMMO_GRENADELAUNCHER | 1 | 8 | |
| WEAPON_CROWBARCrowbar | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_FERTILIZERCANFertilizer Can | Petrol canGROUP_PETROLCAN | 0 | 50 m | 4,500 | — | AMMO_FERTILIZERCAN | 0 | 8 | |
| WEAPON_FIREEXTINGUISHERFire Extinguisher | Fire extinguisherGROUP_FIREEXTINGUISHER | 0 | 50 m | 2,000 | — | AMMO_FIREEXTINGUISHER | 0 | 8 | |
| WEAPON_FIREWORKFirework Launcher | HeavyGROUP_HEAVY | 0 | 85 m | 1 | 75 | AMMO_FIREWORK | 1 | 8 | |
| WEAPON_FLAREFlare | ThrownGROUP_THROWN | 0 | 24 m | 1 | — | AMMO_FLARE | 0 | 8 | |
| WEAPON_FLASHLIGHTFlashlight | MeleeGROUP_MELEE | 0 | 10 m | 0 | — | — | 1 | 8 | |
| WEAPON_GOLFCLUBGolf Club | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_GRENADEGrenade | ThrownGROUP_THROWN | 0 | 30 m | 1 | — | AMMO_GRENADE | 0 | 8 | |
| WEAPON_GRENADELAUNCHERGrenade Launcher | HeavyGROUP_HEAVY | 0 | 150 m | 10 | 49 | AMMO_GRENADELAUNCHER | 4 | 8 | |
| WEAPON_HACKINGDEVICEHacking Device | Hacking deviceGROUP_HACKINGDEVICE | 0 | 50 m | 17 | 180 | — | 0 | 8 | |
| WEAPON_HAMMERHammer | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_HATCHETHatchet | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_HAZARDCANHazardous Jerry Can | Petrol canGROUP_PETROLCAN | 0 | 50 m | 4,500 | — | AMMO_HAZARDCAN | 0 | 8 | |
| WEAPON_HOMINGLAUNCHERHoming Launcher | HeavyGROUP_HEAVY | 0 | 300 m | 1 | 75 | AMMO_HOMINGLAUNCHER | 1 | 8 | |
| WEAPON_PASSENGER_ROCKETInvalid | HeavyGROUP_HEAVY | 0 | 85 m | 1 | 75 | AMMO_RPG | 1 | 8 | |
| WEAPON_AIRSTRIKE_ROCKETInvalid | HeavyGROUP_HEAVY | 0 | 85 m | 1 | 75 | AMMO_RPG | 1 | 8 | |
| WEAPON_VEHICLE_ROCKETInvalid | HeavyGROUP_HEAVY | 0 | 85 m | 1 | 75 | AMMO_RPG | 1 | 8 | |
| WEAPON_PETROLCANJerry Can | Petrol canGROUP_PETROLCAN | 0 | 50 m | 4,500 | — | AMMO_PETROLCAN | 0 | 8 | |
| WEAPON_KNIFEKnife | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_KNUCKLEKnuckle Duster | UnarmedGROUP_UNARMED | 0 | 30 m | 0 | — | — | 10 | 8 | |
| WEAPON_MACHETEMachete | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_METALDETECTORMetal Detector | Metal detectorGROUP_METALDETECTOR | 0 | 50 m | 17 | 180 | — | 0 | 8 | |
| WEAPON_MOLOTOVMolotov | ThrownGROUP_THROWN | 0 | 30 m | 1 | — | AMMO_MOLOTOV | 0 | 8 | |
| WEAPON_NIGHTSTICKNightstick | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_PIPEBOMBPipe Bomb | ThrownGROUP_THROWN | 0 | 30 m | 1 | — | AMMO_PIPEBOMB | 0 | 8 | |
| WEAPON_WRENCHPipe Wrench | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_POOLCUEPool Cue | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_PROXMINEProximity Mine | ThrownGROUP_THROWN | 0 | 30 m | 1 | — | AMMO_PROXMINE | 0 | 8 | |
| WEAPON_RPGRPG | HeavyGROUP_HEAVY | 0 | 85 m | 1 | 75 | AMMO_RPG | 1 | 8 | |
| WEAPON_STINGERRPG | HeavyGROUP_HEAVY | 0 | 85 m | 1 | 75 | AMMO_STINGER | 1 | 8 | |
| WEAPON_SNOWBALLSnowball | ThrownGROUP_THROWN | 0 | 40 m | 1 | — | AMMO_SNOWBALL | 0 | 8 | |
| WEAPON_SNOWLAUNCHERSnowball Launcher | HeavyGROUP_HEAVY | 0 | 150 m | 20 | 24 | AMMO_SNOWLAUNCHER | 0 | 8 | |
| WEAPON_STICKYBOMBSticky Bomb | ThrownGROUP_THROWN | 0 | 30 m | 1 | — | AMMO_STICKYBOMB | 0 | 8 | |
| WEAPON_STONE_HATCHETStone Hatchet | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 0 | 8 | |
| WEAPON_SWITCHBLADESwitchblade | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | — | — | 3 | 8 | |
| WEAPON_SMOKEGRENADETear Gas | ThrownGROUP_THROWN | 0 | 30 m | 1 | — | AMMO_SMOKEGRENADE | 0 | 8 | |
| WEAPON_GRENADELAUNCHER_SMOKETear Gas Launcher | HeavyGROUP_HEAVY | 0 | 25 m | 10 | 49 | AMMO_GRENADELAUNCHER_SMOKE | 3 | 8 | |
| WEAPON_STUNRODThe Shocker | MeleeGROUP_MELEE | 0 | 1.6 m | 0 | 5 | — | 0 | 8 | |
| WEAPON_UNARMEDUnarmed | UnarmedGROUP_UNARMED | 0 | 30 m | 0 | — | — | 0 | 8 | |
| WEAPON_DIGISCANNERWEAPON_DIGISCANNER | DigiscannerGROUP_DIGISCANNER | 0 | 50 m | 17 | 180 | — | 0 | 8 |
HOW TO USE IT
Three natives, and an order they have to run in. Get the order wrong and the engine says nothing at all.
GiveWeaponToPed takes a ped, a weapon hash, an ammo count and two booleans — whether the weapon is hidden, and whether to force it into the ped’s hands. That is the easy one. The two that cost people an afternoon are the components and the tints, for the same two reasons every time.
GiveWeaponComponentToPed attaches a part to a weapon the ped already owns. Call it on a ped that does not hold the weapon yet and nothing happens — no error, no warning, no return value to check. The attachment simply never appears, which looks exactly like a wrong component name, so that is where people go looking. The fix is the order: weapon first, component second. If your loadout code builds a list and loops it, give the weapon before the loop.
The same silence covers the other common case: giving a component to a weapon that does not take it. COMPONENT_AT_AR_SUPP fits the assault rifles and nothing else. The table above lists only the components each weapon actually declares an attach point for, which is the part a generic component list cannot tell you.
The name is a string. The native wants a number — the Jenkins one-at-a-time hash of that string, which GetHashKey works out at runtime. Lua will pass the string itself to the native without complaint, the call fails quietly, and nothing in the console mentions it. Every component in the table shows both, so you can hard-code the number if you would rather not hash at runtime.
Weapon, then components, then tint, then put it in their hands.
RegisterCommand('loadout', function()
local ped = PlayerPedId()
local weapon = GetHashKey('WEAPON_CARBINERIFLE')
GiveWeaponToPed(ped, weapon, 250, false, true)
for _, part in ipairs({
'COMPONENT_CARBINERIFLE_CLIP_02',
'COMPONENT_AT_SCOPE_MEDIUM',
'COMPONENT_AT_AR_SUPP',
}) do
GiveWeaponComponentToPed(ped, weapon, GetHashKey(part))
end
SetPedWeaponTintIndex(ped, weapon, 5)
SetCurrentPedWeapon(ped, weapon, true)
end, false)SetPedWeaponTintIndex takes a number that indexes the weapon’s own tint table. There is no RGB anywhere in this: a tint is a texture the game already has, and the index picks which one. Expand any row above and every index is there with its name and a copy button.
There are only 4 distinct tables across all 120 weapons. Almost everything points at the standard eight — black, green, gold, pink, army, LSPD, orange, platinum. The Mk II weapons use a 33-entry table, the alien weapons a seven-entry one, and two revolvers declare a single black entry. The table a weapon points at is tint-spec data from the dump rather than a promise that the game draws a finish for it — a knife points at the standard eight the same way a pistol does, and only the ones Ammu-Nation sells a finish for have anything to show.
A camo is a different thing wearing a similar name. Mk II camos are components: you give them with GiveWeaponComponentToPed like a scope, then choose the colourway on top with SetPedWeaponComponentTintIndex. That is why the Mk II rows carry a long list of COMPONENT_..._CAMO entries as well as a tint table. We do not print names for those camos — our sources repeat the same English label across every camo index of a weapon, and a wrong name is worse than none.
The engine's own getters, for when you need to check rather than set.
local ped = PlayerPedId()
local ok, weapon = GetCurrentPedWeapon(ped, true)
if ok and IsWeaponValid(weapon) then
print(('group %s · clip %d · tint %d'):format(
GetWeapontypeGroup(weapon),
GetWeaponClipSize(weapon),
GetPedWeaponTintIndex(ped, weapon)
))
print('damage', GetWeaponDamage(weapon, 0))
if HasPedGotWeaponComponent(ped, weapon, GetHashKey('COMPONENT_AT_AR_SUPP')) then
print('suppressed')
end
endREADING THE COLUMNS
Three of these columns mean something slightly different from what their name suggests.
The meta’s own Damage value, per bullet, before any multiplier. It is 0 for 50 of the 120 entries, and that is not a gap in our data — explosive weapons do their damage through the explosion tables and melee weapons through the melee tables, so the number is not stored on the weapon at all. Cfx.re documents the same thing from the other direction: GetWeaponDamage returns nothing useful for the melee and explosive groups. The hardest hitter that does carry a figure is Heavy Sniper Mk II at 230.
WeaponRange in metres: how far the weapon will damage anything. It is not the scope range and not the accuracy falloff. The longest in the file is Remote Sniper at 5,000 m, which is a mission weapon rather than anything you buy — the snipers you can carry stop at 1,500, and a knife reaches 1.6. Where the weapon also has a LockOnRange, you will find it in the expanded row, because for a homing launcher that is the number that matters.
Ours, worked out rather than copied: sixty divided by the meta’s TimeBetweenShots. It is the engine’s theoretical ceiling, so treat it as a comparison between weapons rather than a figure you could count in game — spin-up on a minigun, the pump on a shotgun and every reload push the real rate lower. The raw interval in seconds is in the expanded row if you would rather use that.
Rounds in the default clip, from ClipSize. An extended clip is a component, so it is in the attachment list rather than this column. Three weapons — the two stun guns and the tranquilizer — carry a clip size of 2,104,529,083 in Rockstar’s own file, which is the game’s way of saying it never empties. We show ∞ for those rather than pretend the number means something.
REFERENCE
GetWeapontypeGroup returns the hash of the group string, not an index — these are the numbers it can give back.
| Group | Name | Hash | Weapons |
|---|---|---|---|
| Pistol | GROUP_PISTOL | 416,676,503 | 19 |
| Melee | GROUP_MELEE | 3,566,412,244 | 18 |
| Heavy | GROUP_HEAVY | 2,725,924,767 | 16 |
| Rifle | GROUP_RIFLE | 970,310,034 | 14 |
| Thrown | GROUP_THROWN | 1,548,507,267 | 11 |
| Shotgun | GROUP_SHOTGUN | 860,033,945 | 9 |
| SMG | GROUP_SMG | 3,337,201,093 | 8 |
| Sniper | GROUP_SNIPER | 3,082,541,095 | 7 |
| Machine gun | GROUP_MG | 1,159,398,588 | 5 |
| Petrol can | GROUP_PETROLCAN | 1,595,662,460 | 3 |
| Stun gun | GROUP_STUNGUN | 690,389,602 | 2 |
| Unarmed | GROUP_UNARMED | 2,685,387,236 | 2 |
| Digiscanner | GROUP_DIGISCANNER | 3,539,449,195 | 1 |
| Fire extinguisher | GROUP_FIREEXTINGUISHER | 4,257,178,988 | 1 |
| Hacking device | GROUP_HACKINGDEVICE | 1,175,761,940 | 1 |
| Metal detector | GROUP_METALDETECTOR | 3,759,491,383 | 1 |
| No group | — | 0 | 1 |
| Tranquilizer | GROUP_TRANQILIZER | 75,159,441 | 1 |
GROUP_TRANQILIZER is spelled that way in the game’s file. Hash it as written or it will not match. One weapon declares no group at all, so GetWeapontypeGroup has nothing to return for it.
| Ammo type | Hash | Weapons |
|---|---|---|
| AMMO_ACIDPACKAGE | 1,003,730,930 | 1 |
| AMMO_BALL | 4,287,981,158 | 1 |
| AMMO_BZGAS | 2,608,103,076 | 1 |
| AMMO_EMPLAUNCHER | 4,057,942,205 | 1 |
| AMMO_FERTILIZERCAN | 1,963,932,634 | 1 |
| AMMO_FIREEXTINGUISHER | 1,359,393,852 | 1 |
| AMMO_FIREWORK | 2,938,367,503 | 1 |
| AMMO_FLARE | 1,808,594,799 | 1 |
| AMMO_FLAREGUN | 1,173,416,293 | 1 |
| AMMO_GRENADE | 1,003,688,881 | 1 |
| AMMO_GRENADELAUNCHER | 1,003,267,566 | 2 |
| AMMO_GRENADELAUNCHER_SMOKE | 826,266,432 | 1 |
| AMMO_HAZARDCAN | 1,618,528,319 | 1 |
| AMMO_HOMINGLAUNCHER | 2,568,293,933 | 1 |
| AMMO_MG | 1,788,949,567 | 5 |
| AMMO_MINIGUN | 2,680,539,266 | 2 |
| AMMO_MOLOTOV | 1,446,246,869 | 1 |
| AMMO_PETROLCAN | 3,395,492,001 | 1 |
| AMMO_PIPEBOMB | 357,983,224 | 1 |
| AMMO_PISTOL | 1,950,175,060 | 17 |
| AMMO_PROXMINE | 2,938,243,239 | 1 |
| AMMO_RAILGUN | 2,034,517,757 | 1 |
| AMMO_RAILGUNXM3 | 1,322,889,087 | 1 |
| AMMO_RAYPISTOL | 2,768,943,988 | 1 |
| AMMO_RIFLE | 218,444,191 | 14 |
| AMMO_RPG | 1,742,569,970 | 4 |
| AMMO_SHOTGUN | 2,416,459,067 | 10 |
| AMMO_SMG | 1,820,140,472 | 8 |
| AMMO_SMOKEGRENADE | 3,859,679,398 | 1 |
| AMMO_SNIPER | 1,285,032,059 | 6 |
| AMMO_SNIPER_REMOTE | 4,275,731,760 | 1 |
| AMMO_SNOWBALL | 2,182,627,693 | 1 |
| AMMO_SNOWLAUNCHER | 843,865,465 | 1 |
| AMMO_STICKYBOMB | 1,411,692,055 | 1 |
| AMMO_STINGER | 2,437,710,138 | 1 |
| AMMO_STUNGUN | 2,955,849,184 | 2 |
| AMMO_TRANQUILIZER | 1,964,004,553 | 1 |
The AmmoInfo each weapon points at. Weapons that share an ammo type share a pool, which is why adding rifle ammo tops up every rifle the ped carries.
HARDEST HITTING
Per bullet, before headshot and limb multipliers, and with the explosive weapons absent for the reason above — their damage is not on the weapon.
QUESTIONS
7 of the 120 rows — WEAPON_REMOTESNIPER, WEAPON_PASSENGER_ROCKET, WEAPON_AIRSTRIKE_ROCKET, WEAPON_STINGER, WEAPON_DIGISCANNER, WEAPON_VEHICLE_ROCKET, WEAPON_TRANQUILIZER — are weapons our own vanilla list does not carry, so their labels and hashes come from the data dump instead. Each of those rows says so when you expand it. Native behaviour is as described in the Cfx.re native reference.
MORE
The same weapons as a flat table, with the model name and the DLC that added it.
Every attachment with its hashThe component list on its own, searchable across all weapons at once.
Kill and damage eventsCatch the hit once the weapon has fired — the weapon hash in the damage event is the one in this table.
All the free toolsThe map, the animation lists, the bitmask calculators and every reference table.
ALSO FREE
Picked because they touch the same files, natives or part of the game.
FROM THE SHOP
The free tools and the paid work come out of the same place. These are the lines closest to what this page is about.
Grand opening: 25% off every product with FAM-261023-261025-UL4B9, until 25 October. It is applied at checkout.

Put your own artwork on any model in the library and export it as its own resource, inventory icons cut to match. The first one costs nothing.

A native hud.gfx replacement rather than an NUI overlay, so it costs no frame time. Colours, shape and motion are yours before you pay.