# TASK::TASK_PLAY_ANIM_ADVANCED

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

## Signature

```c
void TASK_PLAY_ANIM_ADVANCED(Ped ped, const char* animDict, const char* animName, float posX, float posY, float posZ, float rotX, float rotY, float rotZ, float speed, float speedMultiplier, int duration, int flags, float p13, int p14, int p15, int p16);
```

## Parameters

- `ped` (`Ped`)
- `animDict` (`const char*`)
- `animName` (`const char*`)
- `posX` (`float`)
- `posY` (`float`)
- `posZ` (`float`)
- `rotX` (`float`)
- `rotY` (`float`)
- `rotZ` (`float`)
- `speed` (`float`)
- `speedMultiplier` (`float`)
- `duration` (`int`)
- `flags` (`int`)
- `p13` (`float`)
- `p14` (`int`)
- `p15` (`int`)
- `p16` (`int`)

## Returns

`void`

## Description

flags: see TASK_PLAY_ANIM
ikFlags: see TASK_PLAY_ANIM

## Usage

### Lua

```lua
TaskPlayAnimAdvanced(ped, animDict, animName, posX, posY, posZ, rotX, rotY, rotZ, speed, speedMultiplier, duration, flags, p13, p14, p15, p16)

-- always available, by hash
Citizen.InvokeNative(0x83CDB10EA29B370B, ped, animDict, animName, posX, posY, posZ, rotX, rotY, rotZ, speed, speedMultiplier, duration, flags, p13, p14, p15, p16)
```

### JavaScript

```js
TaskPlayAnimAdvanced(ped, animDict, animName, posX, posY, posZ, rotX, rotY, rotZ, speed, speedMultiplier, duration, flags, p13, p14, p15, p16);

// by hash
Citizen.invokeNative('0x83CDB10EA29B370B', ped, animDict, animName, posX + 0.0000001, posY + 0.0000001, posZ + 0.0000001, rotX + 0.0000001, rotY + 0.0000001, rotZ + 0.0000001, speed + 0.0000001, speedMultiplier + 0.0000001, duration, flags, p13 + 0.0000001, p14, p15, p16);
```

### C#

```csharp
Function.Call((Hash)0x83CDB10EA29B370B, ped, animDict, animName, posX, posY, posZ, rotX, rotY, rotZ, speed, speedMultiplier, duration, flags, p13, p14, p15, p16);
```

- 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.

## Related enums

- [eEulerRotationOrder](https://natives.borderlinerp.com/enums/eEulerRotationOrder.md) — 6 values
- [eIkControlFlags](https://natives.borderlinerp.com/enums/eIkControlFlags.md) — 31 values
- [eScriptedAnimFlags](https://natives.borderlinerp.com/enums/eScriptedAnimFlags.md) — 32 values

*Sources: alloc8or RDR3 NativeDB.*
