# CAMERA::PLAY_CAM_ANIM

- **Hash:** `0xA263DDF694D563F6`
- **Namespace:** CAMERA
- **Runtime name (Lua/JS):** `PlayCamAnim`
- **Side:** client (game native)
- **Name status:** official
- **Documentation:** named only
- **Since game build:** 1207
- **URL:** https://natives.borderlinerp.com/natives/CAMERA/PLAY_CAM_ANIM

## Signature

```c
BOOL PLAY_CAM_ANIM(Cam cam, const char* animName, const char* animDictionary, float x, float y, float z, float xRot, float yRot, float zRot, int animFlags, int rotOrder);
```

## Parameters

- `cam` (`Cam`)
- `animName` (`const char*`)
- `animDictionary` (`const char*`)
- `x` (`float`)
- `y` (`float`)
- `z` (`float`)
- `xRot` (`float`)
- `yRot` (`float`)
- `zRot` (`float`)
- `animFlags` (`int`)
- `rotOrder` (`int`)

## Returns

`BOOL`

## Usage

### Lua

```lua
local retval = PlayCamAnim(cam, animName, animDictionary, x, y, z, xRot, yRot, zRot, animFlags, rotOrder)

-- always available, by hash
local retval = Citizen.InvokeNative(0xA263DDF694D563F6, cam, animName, animDictionary, x, y, z, xRot, yRot, zRot, animFlags, rotOrder, Citizen.ReturnResultAnyway())
```

### JavaScript

```js
const retval = PlayCamAnim(cam, animName, animDictionary, x, y, z, xRot, yRot, zRot, animFlags, rotOrder);

// by hash
const retval = Citizen.invokeNative('0xA263DDF694D563F6', cam, animName, animDictionary, x + 0.0000001, y + 0.0000001, z + 0.0000001, xRot + 0.0000001, yRot + 0.0000001, zRot + 0.0000001, animFlags, rotOrder, Citizen.returnResultAnyway());
```

### C#

```csharp
bool retval = Function.Call<bool>((Hash)0xA263DDF694D563F6, cam, animName, animDictionary, x, y, z, xRot, yRot, zRot, animFlags, rotOrder);
```

- 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

*Sources: alloc8or RDR3 NativeDB.*
