# ENTITY::PLAY_ENTITY_ANIM

- **Hash:** `0xDC6D22FAB76D4874`
- **Namespace:** ENTITY
- **Runtime name (Lua/JS):** `PlayEntityAnim`
- **Side:** client (game native)
- **Name status:** official
- **Documentation:** described
- **Since game build:** 1207
- **URL:** https://natives.borderlinerp.com/natives/ENTITY/PLAY_ENTITY_ANIM

## Signature

```c
BOOL PLAY_ENTITY_ANIM(Entity entity, const char* animName, const char* animDict, float p3, BOOL loop, BOOL stayInAnim, BOOL p6, float delta, Any bitset);
```

## Parameters

- `entity` (`Entity`)
- `animName` (`const char*`)
- `animDict` (`const char*`)
- `p3` (`float`)
- `loop` (`BOOL`)
- `stayInAnim` (`BOOL`)
- `p6` (`BOOL`)
- `delta` (`float`)
- `bitset` (`Any`)

## Returns

`BOOL`

## Description

https://github.com/femga/rdr3_discoveries/tree/master/animations

## Usage

### Lua

```lua
local retval = PlayEntityAnim(entity, animName, animDict, p3, loop, stayInAnim, p6, delta, bitset)

-- always available, by hash
local retval = Citizen.InvokeNative(0xDC6D22FAB76D4874, entity, animName, animDict, p3, loop, stayInAnim, p6, delta, bitset, Citizen.ReturnResultAnyway())
```

### JavaScript

```js
const retval = PlayEntityAnim(entity, animName, animDict, p3, loop, stayInAnim, p6, delta, bitset);

// by hash
const retval = Citizen.invokeNative('0xDC6D22FAB76D4874', entity, animName, animDict, p3 + 0.0000001, loop, stayInAnim, p6, delta + 0.0000001, bitset, Citizen.returnResultAnyway());
```

### C#

```csharp
bool retval = Function.Call<bool>((Hash)0xDC6D22FAB76D4874, entity, animName, animDict, p3, loop, stayInAnim, p6, delta, bitset);
```

- Float parameters: Lua integers (`10`, or whole numbers decoded from NUI/JSON) are sent as ints and read as garbage. Write `10.0` or `value + 0.0`. The generated JS wrappers add `0.0000001` to non-zero floats for the same reason.

## See also

- [ENTITY::STOP_ENTITY_ANIM](https://natives.borderlinerp.com/natives/ENTITY/STOP_ENTITY_ANIM.md) — Doesn't actually return anything.

*Sources: alloc8or RDR3 NativeDB.*
