Carried (shoulder) pelt in RDR2 is a generic p_cs_pelt_large prop — use _GET_FIRST_ENTITY_PED_IS_CARRYING, and AVOID GET_CARRIED_ATTACHED_INFO_FOR_SLOT's struct buffer in JS (it crashes)
Context
Trying to identify a pelt the player is carrying on their shoulder (before stowing it on a horse), to sell/track it.
What works
_GET_FIRST_ENTITY_PED_IS_CARRYING(ped) (0xD806CD2A4F2C2996) returns the carried Entity directly — no buffer, no crash. Gate with IS_PED_CARRYING_SOMETHING (0xA911EE21EDF69DAF) and confirm with _GET_IS_CARRIABLE_PELT(entity) (0x255B6DB4E3AD3C3E).
The catch: the carried entity is a GENERIC prop
GetEntityModel(carriedPelt) returns p_cs_pelt_large (0xC21AF693) — or _medium/_small. These are generic size-class props; the actual ANIMAL and QUALITY are NOT on the carried entity's model. _GET_PED_QUALITY on it returns -1 (PQ_INVALID). So you can only get the pelt's SIZE from the shoulder-carried entity, not which animal/quality.
The real animal+quality only becomes available once the pelt is stowed on a horse (then it's a provision_<animal>_hide_<quality> hash in the kd_stable_stow state bag / via _GET_PELT_FROM_HORSE). Design accordingly: do animal/quality-specific pelt logic at the horse-stow stage, not the shoulder-carry stage.
The trap: GET_CARRIED_ATTACHED_INFO_FOR_SLOT (0x608BC6A6AACD5036)
The docs say its outData is a 32-byte struct<4> with { model, carryConfig, carriableSlot, entity } — which WOULD give animal info (carryConfig = e.g. DEAD_CARRIABLE_FOX). But in the CitizenFX JS runtime, calling it with a Uint8Array/ArrayBuffer out-param hard-crashes ("exception at address RDR3_GTAProcess.exe+..."), every time, regardless of slot. The 32-byte struct buffer marshalling that works for GET_EVENT_DATA does NOT work for this native in JS. Avoid it; use _GET_FIRST_ENTITY_PED_IS_CARRYING + accept the size-only limitation, or read animal/quality from the horse stow instead.
Linked: _GET_FIRST_ENTITY_PED_IS_CARRYING 0xD806CD2A4F2C2996, IS_PED_CARRYING_SOMETHING 0xA911EE21EDF69DAF, _GET_IS_CARRIABLE_PELT 0x255B6DB4E3AD3C3E, GET_CARRIED_ATTACHED_INFO_FOR_SLOT 0x608BC6A6AACD5036.
Linked natives
_GET_CARRIED_ATTACHED_INFO_FOR_SLOT(0x608BC6A6AACD5036)_GET_FIRST_ENTITY_PED_IS_CARRYING(0xD806CD2A4F2C2996)_GET_IS_CARRIABLE_PELT(0x255B6DB4E3AD3C3E)IS_PED_CARRYING_SOMETHING(0xA911EE21EDF69DAF)
Tags: pelt, carry, carriable, hunting, struct-buffer, invokenative, rdr3
Category: natives
Source: scandi-hunting-build
Created: 2026-06-04T14:36:17.604Z