<!-- fivemad.com, Markdown source of https://fivemad.com/redm/docs/tools/assets -->
> Source: https://fivemad.com/redm/docs/tools/assets
> Section: Tools
> Tags: assets, hashes, peds, horses, weapons, items, scenarios, controls, blips, joaat
> Tool: https://fivemad.com/redm/assets
> Last updated: 2026-10-01
> Site map for assistants: https://fivemad.com/redm/llms.txt

# RedM Assets

Browse RDR2's blips, peds, horses, weapons, vehicles, items, documents, scenarios, controls, timecycles, weathers, zones, interiors, imaps and scripts with hashes and Lua.

RedM Assets lists the names and hashes a RedM script needs, read from RDR2's own game files (build 1.0.1491.50). Pick a type, search by name, label or hash, and open a row for its hash in three forms and a line of Lua that uses it. Labels are the game's own English text. A name nobody could recover is shown as its hash, never guessed.

## What it is for

Looking up the model name of a horse breed, the hash of an input, the scenario a ped plays at a campfire or the dictionary a blip icon lives in, without digging through dumps. Every row gives you the hash as hex, unsigned and signed, so it matches whatever form your script or framework config uses.

## Quick start

1. Pick a type from the chips at the top. The page opens on **Blips**.
2. Type in **Search ... by name, label or hash**.
3. Narrow it with the group chips under the search box, or leave it on **All**.
4. Click a row. The panel on the right shows **Hash**, **Unsigned** and **Signed** with a copy button each, the facts for that type and a `client.lua` block with **Copy**.

The view is kept in the address bar (`?t=peds&q=bear&g=Animals&id=...`), so you can link straight to a row.

## The types

The number on each chip is the row count of that type's data file. Rows with a picture are listed first.

| Type | Rows | Grouped by | Pictures |
| --- | --- | --- | --- |
| **Blips** | 628 | Dictionary: `blips` 321, `blips_mp` 306, `blips_tu` 1 | all 628 |
| **Peds** | 1,983 | Category, 19 groups (Multiplayer 611, Cutscene 331, Unique 232, Horses 144, Ambient male 132, Animals 119...) | none |
| **Horses** | 144 | Breed, 26 groups (Gang and story horses 22, Mustang 8, Arabian 7...) | none |
| **Weapons** | 142 | Kind: Hand held 107, Animal attacks 18, Damage types 13, Mounted 4 | 60 |
| **Vehicles** | 115 | Type: Wagons and carts 56, Train cars 27, Boats 11, Train engines 6, Canoes 4, Rowing boats 4, Artillery and gatling guns 3, Hand and mine carts 2, Mounted guns 1, Balloon 1 | none |
| **Items** | 18,550 | Category, 17 groups (Clothing 10,494, Name not known 5,465, Component 663, Horse 418, Provision 362...) | 765 |
| **Documents** | 378 | Kind, 11 groups (Letter 115, Pamphlet 98, Note 69, Document 31, Bounty 23, Treasure map 13...) | all 378 |
| **Scenarios** | 2,666 | File, 33 groups | none |
| **Controls** | 373 | Pad: Has a pad default 235, No pad default 138 | none |
| **Timecycles** | 1,286 | File: `timecycle_mods_1.xml` 729, `_3` 376, `_2` 139, `_4` 42 | none |
| **Weathers** | 22 | Mode: Everywhere 21, Single player only 1 | none |
| **Zones** | 87 | Type: Town 24, District 19, Lake 11, State 9, River 9, Creek 7, Pond 6, Swamp 1, Ocean 1 | none |
| **Interiors** | 290 | Load mode: Always there 252, Needs its imap loaded 38 | none |
| **Imaps** | 7,516 | Load mode: Loads with the map 4,877, Loads when a script asks 2,639 | none |
| **Scripts** | 2,195 | Set: Story (script_rel) 1,639, Online (script_mp_rel) 556 | none |

**Horses** are the same rows as the **Horses** group of **Peds**, split by breed: in RDR2 a horse is a ped model.

## Searching

| You type | It matches |
| --- | --- |
| Words, `bear` | Any row whose name or label contains it |
| A decimal number, `-640622144` or `3654345152` | The row with that hash, signed or unsigned |
| A hex hash of 6 to 8 digits, `0xD9D0E1C0` or `d9d0e1c0` | The row with that hash |

The search runs inside the open type only. The list shows 120 rows at first; **Show more** adds more and says how many are left.

## What each row gives you

Every row has **Hash** (hex), **Unsigned** and **Signed**. The facts and the Lua line depend on the type:

| Type | Facts | The Lua line |
| --- | --- | --- |
| Blips | Dictionary, size, the blip styles that use it | Adds a blip with the first style that uses the icon (or `BLIP_STYLE_PICKUP_WEAPON`, a plain white style, for the 540 icons no style uses) and sets the sprite |
| Peds, Horses | Outfits, town sets, where the name came from | Loads the model, `CreatePed`, then a random outfit |
| Weapons | Group, slot, ammo | The weapon hash |
| Vehicles | Type, handling, layout, base game or DLC pack | Loads the model and `CreateVehicle`; a train car only gets its hash, with a note that it runs as part of a train config |
| Items | Catalog (story mode, Online), shops, where the name came from | The item hash |
| Documents | Dictionary, size, base or update copy | Requests the texture dictionary the page is drawn from. The picture is shown full width. |
| Scenarios | The scenario's type | Starts it in place on `ped` |
| Controls | Pad inputs | An `IsControlJustPressed` check on its hash |
| Timecycles | Parameter count | `SetTimecycleModifier` |
| Weathers | Short name, timecycle file | The weather hash |
| Zones | Type, box, polygon count | The zone hash |
| Interiors | Position, rooms, portals, entity sets, imap | Requests the imap when it only loads on request, then `GetInteriorAtCoords` |
| Imaps | Entities, area, parent | One line to load it and one to remove it |
| Scripts | Code size, natives called, statics, file size | The script hash |

When a name is known, the Lua writes `joaat("name")`; when only the hash is known, it writes the hex hash. Some natives are called by hash with `Citizen.InvokeNative`, with the native's name in a comment.

For a horse, `a_c_horse_arabian_white`:

```lua title="client.lua"
local model = joaat("a_c_horse_arabian_white")
RequestModel(model)
while not HasModelLoaded(model) do Wait(0) end
local ped = CreatePed(model, x, y, z, heading, true, false, false, false)
-- _SET_RANDOM_OUTFIT_VARIATION: a RedM ped with no outfit is invisible
Citizen.InvokeNative(0x283978A15512B2FE, ped, true)
SetModelAsNoLongerNeeded(model)
```

For a control, `INPUT_JUMP`:

```lua title="client.lua"
if IsControlJustPressed(0, 0xD9D0E1C0) then -- INPUT_JUMP
end
```

`x`, `y`, `z`, `heading` and `ped` are yours to fill in.

**Zones**, **Interiors** and **Imaps** also get an **Open in** button for the tool that shows them on the map: the [Coords Picker](/redm/docs/tools/coords-picker), [Interiors](/redm/docs/tools/interiors) and the [Imap Toggler](/redm/docs/tools/imap-toggler).

## Tips

- Keep the outfit line of the ped snippet. As its comment says, a RedM ped with no outfit is invisible.
- Use **Horses** rather than **Peds** when you want a breed: the breed chips sort the 144 horse models for you.
- A control in RedM is the joaat hash of its `INPUT_` name. Search the plain word (`jump`, `sprint`): it matches the `INPUT_` name as well as the label.
- **Name from** on peds and items says where a name came from: the game's own file or icon name, or an exact hash match against a name list. Either way the name hashes to the row's hash.

## Limitations

- Names: 5 weapons, 1 ped, 1 interior, 2,392 imaps and 5,465 items (exactly the **Name not known** group) are known only by hash. They still work in a script, since the natives take the hash.
- Labels exist only where the game has English text for the thing: 182 of 628 blips, 109 of 142 weapons, 14,464 of 18,550 items, 112 of 378 documents, 38 of 373 controls and 73 of 87 zones. Peds, horses and vehicles have none.
- Pictures exist for blips, documents, 60 weapons and 765 items. Everything else is a text row.
- The Lua is a starting line, not a finished script. The site cannot check it in game.

## Related tools

- [Hash Calculator](/redm/docs/tools/hash-calculator)
- [Item Generator](/redm/docs/tools/item-generator)
- [Blip Placer](/redm/docs/tools/blip-placer)
- [Blip Styles](/redm/docs/tools/blip-styles)
- [Imap Toggler](/redm/docs/tools/imap-toggler)
- [Interiors](/redm/docs/tools/interiors)
- [RedM Files](/redm/docs/tools/files)
