<!-- fivemad.com, Markdown source of https://fivemad.com/docs/tools/weapon-stats -->
> Source: https://fivemad.com/docs/tools/weapon-stats
> Section: Tools
> Tags: weapons, components, tints, GiveWeaponToPed, attachments
> Tool: https://fivemad.com/tools/weapon-stats
> Last updated: 2026-09-25
> Site map for assistants: https://fivemad.com/llms.txt

# Weapon Stats & Components

Look up any GTA V weapon: hashes, group, ammo type, max ammo, damage type, flags, every component, livery and tint, plus a Lua loadout snippet.

Weapon Stats & Components is a searchable list of every GTA V weapon (184 entries, 23 of them vehicle weapons) with its hashes, ammo type, max ammo, flags, attachments and tints. Tick attachments and pick a tint, and it writes the Lua to give that exact loadout.

Every snippet block on this page has a **Lua / JS / TS / C#** switcher in its corner. The choice is remembered across the site, and [the runtimes page](/docs/development/runtimes) explains what changes between them.

## What it is for

Giving a weapon with the right attachments means knowing names like `COMPONENT_AT_AR_SUPP` and which tint indices exist for that gun. Shops, loadout menus, armoury scripts and admin tools all need these. This page puts every weapon's components and tints next to each other, with copyable hashes for when you have to decode a value from an event or a database.

## Quick start

1. Type in the search box, for example `carbine`, `suppressor` or `AMMO_SHOTGUN`.
2. Narrow by group with the chips (**All**, **Pistol**, **Smg**, **Rifle** and so on). Each chip shows a count.
3. Click a weapon row to open it.
4. Tick the components you want and click a tint. The **Lua** block updates as you go.
5. Copy the snippet into a client script.

## Searching

The search box matches the weapon name (`WEAPON_*`), its label, its ammo type, and the names and labels of its components. Several words must all match. It also takes a hash: signed, unsigned or `0x` hex, for both weapons and components. So pasting `-2084633992` (the Carbine Rifle) or a component hash from a log finds the weapon it belongs to.

Vehicle weapons (tank cannons, jet guns) are hidden unless you turn on **Vehicle weapons**. The search, group and vehicle toggle are kept in the URL (`?q=`, `?group=`, `?vehicle=1`), and a search that leaves exactly one weapon opens it automatically, so a link like `/tools/weapon-stats?q=WEAPON_PISTOL` lands on the pistol.

## What a weapon shows

Each row shows the picture, label, `WEAPON_*` name, ammo type, hex hash and component count. Opening it shows:

| Section | Contents |
| --- | --- |
| Description | The in-game description, when there is one. |
| **Hashes** | Spawn name, Signed, Unsigned, Hex and Lua backtick, all click to copy. |
| **Details** | Group, Ammo type, Damage type, Model, DLC, Vehicle weapon. |
| **Max ammo** | Story (Default, Skill > 50, Max skill) and Online (the same plus Bonus). |
| **Components** | Label, component name, hash (hex and signed), type and attach slot. The default component is marked **default**. |
| **Liveries / camos** | Mk II camo components, tick to add them. |
| **Tints** | Every tint index with its label. Click one to put it in the snippet, click again to remove it. |
| **Flags** | The weapon's flags, such as `Automatic`, `TwoHanded`, `CanFreeAim`. |

## Example

With the Carbine Rifle open, the flashlight and suppressor ticked and tint 2 picked:

```lua title="client.lua"
local ped = PlayerPedId()
local weapon = `WEAPON_CARBINERIFLE`
GiveWeaponToPed(ped, weapon, 250, false, true)

GiveWeaponComponentToPed(ped, weapon, `COMPONENT_AT_AR_FLSH`) -- Flashlight
GiveWeaponComponentToPed(ped, weapon, `COMPONENT_AT_AR_SUPP`) -- Suppressor

SetPedWeaponTintIndex(ped, weapon, 2) -- Gold tint
```

The ammo amount is the weapon's Online default max ammo (250 when unknown). Nothing ticked means the component and tint lines are shown commented out as a hint.

Checking what the player is holding, against a hash from this page:

```lua
local ped = PlayerPedId()
if GetSelectedPedWeapon(ped) == `WEAPON_CARBINERIFLE`
    and HasPedGotWeaponComponent(ped, `WEAPON_CARBINERIFLE`, `COMPONENT_AT_AR_SUPP`) then
    print("Suppressed carbine")
end
```

## Tints

Regular weapons have 8 tints, 0 to 7 (Black, Green, Gold, Pink, Army, LSPD, Orange, Platinum). Mk II weapons use their own longer list, for example 33 tints on the Pistol Mk II.

> [!WARNING]
> Tint indices are not shared between normal and Mk II weapons. An index that does not exist for that weapon does nothing, so always use the list shown for the weapon you give.

## Tips

- Only one component per slot applies: giving an extended clip replaces the default clip.
- Mk II camos are components too, give them with `GiveWeaponComponentToPed` like any attachment.
- Components with no label in the list exist in the game files but have no display name, such as rail covers.

## Limitations

The page does not show damage, fire rate, accuracy or range. Those bars on the weapon wheel are HUD values, not raw `weapons.meta` values, so they are left out rather than guessed. For real per-shot damage, read `Damage` in the weapon's `weapons.meta`, or change it at runtime with `SetWeaponDamageModifier`.

Data comes from [DurtyFree/gta-v-data-dumps](https://github.com/DurtyFree/gta-v-data-dumps), images from the FiveM docs.

## Related tools

- [Weapons Meta Editor](/docs/tools/weapons-meta-editor)
- [joaat Hash Calculator](/docs/tools/hash-calculator)
- [Model & Hash Browser](/docs/tools/model-hash-browser)
- [Game Damage Events](/docs/tools/damage-events)
