<!-- fivemad.com, Markdown source of https://fivemad.com/docs/tools/player-stats -->
> Source: https://fivemad.com/docs/tools/player-stats
> Section: Tools
> Tags: stats, StatSetInt, StatGetInt, MP0_, skills
> Tool: https://fivemad.com/tools/player-stats
> Last updated: 2026-09-25
> Site map for assistants: https://fivemad.com/llms.txt

# Player Stats List

Search 3,025 GTA V stat names by name or description, see their type, scope and hash, and copy the right StatGetInt, StatSetInt or StatSetFloat call.

The Player Stats List is a searchable list of 3,025 known GTA V stat names with their data type, whether they are per character or global, and their hash. Pick one and it writes the Lua to read and set it with the native that matches its type.

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

The most common use on a FiveM server is the skill bars: stamina, strength, lung capacity, shooting, driving and flying. They affect how the player ped actually behaves, and you set them through stats. Beyond those, the list helps when you find a stat name in a script and need its type or hash, or when you want to know whether a stat needs the `MP0_` prefix.

## Quick start

1. Click one of the **Common ones** chips (`STAMINA`, `STRENGTH`, `LUNG_CAPACITY`, `SHOOTING_ABILITY`, `WHEELIE_ABILITY`, `FLYING_ABILITY`, `STEALTH_ABILITY`), or search the list.
2. Pick the **Prefix**: **MP0_** (first character, the default), **MP1_** or **None**.
3. Type the **Value to set**.
4. Copy `stats.lua`.

## Filters

| Control | What it does |
| --- | --- |
| Search box | Matches stat names and descriptions. A leading `MP0_` or `MP1_` in your search is ignored, so pasting a full name works. |
| **Prefix** | The prefix shown and used for per character stats: **MP0_**, **MP1_** or **None**. |
| Type chips | **All types** or one of int, u64, bool, u32, userid, string, s64, float, date, pos, label, packed, each with a count. |
| Scope chips | **All stats**, **Per character (prefixed)**, **Global (no prefix)**. |

The list shows 60 stats at a time. Each row shows the full name (with the prefix greyed out), the description, the type and the hex hash of the full name (click to copy).

## Selected stat

The **Selected stat** panel shows the full name, description, **Type**, **Hash (hex)**, **Hash (signed)**, **Hash (unsigned)** and **Scope**. The hash always matches the prefix you picked, since `MP0_STAMINA` and `MP1_STAMINA` are different stats. If you pick **None** on a per character stat, a warning reminds you that it normally needs a prefix.

**Value to set** is a true / false dropdown for bool stats and a text field for the rest. It is hidden for date, packed and pos stats, which use their own snippet.

## Which native for which type

| Type | Read | Write |
| --- | --- | --- |
| int, u32 | `StatGetInt` | `StatSetInt` |
| s64, u64 | `StatGetInt` (32-bit range) | `StatSetInt`, or `StatSetCurrentPosixTime` for timestamp stats |
| float | `StatGetFloat` | `StatSetFloat` |
| bool | `StatGetBool` | `StatSetBool` |
| string | `StatGetString` | `StatSetString` |
| label | n/a | `StatSetGxtLabel` (a text label key, not free text) |
| userid | `StatGetUserId` | `StatSetUserId` |
| pos | `StatGetPos` | `StatSetPos` (the snippet uses the player's position) |
| date | `StatGetDate` | `StatSetDate` (a 7 int struct, awkward from Lua) |
| packed | `GetPackedStatBoolCode` / `GetPackedStatIntCode` | `SetPackedStatBoolCode` / `SetPackedStatIntCode`, by index not name |

## Examples

What the tool writes for `MP0_STAMINA` with value 100:

```lua title="stats.lua"
local stat = `MP0_STAMINA` -- joaat("MP0_STAMINA")

local ok, value = StatGetInt(stat, -1)
if ok then print("MP0_STAMINA", value) end

-- Last argument = save. On FiveM there is no cloud save, so set it again on every spawn.
StatSetInt(stat, 100, true)
```

Max out every skill bar each time the player spawns:

```lua title="client.lua"
local SKILLS = { "STAMINA", "STRENGTH", "LUNG_CAPACITY", "SHOOTING_ABILITY",
                 "WHEELIE_ABILITY", "FLYING_ABILITY", "STEALTH_ABILITY" }

AddEventHandler("playerSpawned", function()
    for _, name in ipairs(SKILLS) do
        StatSetInt(GetHashKey("MP0_" .. name), 100, true)
    end
end)
```

## Tips

> [!IMPORTANT]
> FiveM has no Rockstar cloud save. Stats live on the client and reset when the game restarts. Store the real values in your own database and set them again on every spawn.

- Most stats only matter to GTA Online's own scripts and do nothing on a FiveM server. The skill stats do work.
- The `save` argument of the setters can stay `true`. It does nothing harmful on FiveM.
- `MPPLY_` stats and other global stats are used without a prefix. Use the **Global (no prefix)** chip to see them.

## Limitations

The list is generated from the game's MP stat definitions and may contain mistakes or stats that no longer exist. Everything runs in your browser.

Data: Vespura ([tomgrobbe.com](https://tomgrobbe.com/fivem/gta-stats/)).

## Related tools

- [joaat Hash Calculator](/docs/tools/hash-calculator)
- [Parachutes & Smoke Trails](/docs/tools/parachutes)
- [Weapon Stats & Components](/docs/tools/weapon-stats)
