# TASK::TASK_ACHIEVE_HEADING

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

## Signature

```c
void TASK_ACHIEVE_HEADING(Ped ped, float heading, int timeout);
```

## Parameters

- `ped` (`Ped`)
- `heading` (`float`)
- `timeout` (`int`)

## Returns

`void`

## Description

Makes the specified ped achieve the specified heading.

pedHandle: The handle of the ped to assign the task to.
heading: The desired heading.
timeout: The time, in milliseconds, to allow the task to complete. If the task times out, it is canceled, and the ped will stay at the heading it managed to reach in the time.

## Usage

### Lua

```lua
TaskAchieveHeading(ped, heading, timeout)

-- always available, by hash
Citizen.InvokeNative(0x93B93A37987F1F3D, ped, heading, timeout)
```

### JavaScript

```js
TaskAchieveHeading(ped, heading, timeout);

// by hash
Citizen.invokeNative('0x93B93A37987F1F3D', ped, heading + 0.0000001, timeout);
```

### C#

```csharp
Function.Call((Hash)0x93B93A37987F1F3D, ped, heading, timeout);
```

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

*Sources: alloc8or RDR3 NativeDB.*
