# TASK::_GET_PED_WRITHE_BREAK_FREE_PROGRESS

- **Hash:** `0x03D741CB4052E26C`
- **Namespace:** TASK
- **Runtime name (Lua/JS):** `GetPedWritheBreakFreeProgress`
- **Side:** client (game native)
- **Name status:** community guess (may change)
- **Documentation:** described with examples
- **Since game build:** 1232
- **Other names:** `_GET_PED_BREAK_FREE_PROGRESS`
- **URL:** https://natives.borderlinerp.com/natives/TASK/_GET_PED_WRITHE_BREAK_FREE_PROGRESS

## Signature

```c
float _GET_PED_WRITHE_BREAK_FREE_PROGRESS(Ped ped);
```

## Parameters

- `ped` (`Ped`)

## Returns

`float`

## Description

*Source: alloc8or RDR3 NativeDB*

Returns the current 'Break Free' prompt progress for a hogtied/knocked-out (writhing) ped.
Range: 0.0-1.0 (hits 1.0 when the ped breaks free). Returns -1.0 if not applicable.

*Source: VORPCORE RDR3natives*

Returns the current progress of the (Break Free) prompt when the specified ped is hogtied or knocked out.  The value increases as the player spams the prompt key until it reaches 1.0, at which point the ped breaks free.

## Usage

### Lua

```lua
local retval = GetPedWritheBreakFreeProgress(ped)

-- always available, by hash
local retval = Citizen.InvokeNative(0x03D741CB4052E26C, ped, Citizen.ResultAsFloat())
```

### JavaScript

```js
const retval = GetPedWritheBreakFreeProgress(ped);

// by hash
const retval = Citizen.invokeNative('0x03D741CB4052E26C', ped, Citizen.returnResultAnyway(), Citizen.resultAsFloat());
```

### C#

```csharp
float retval = Function.Call<float>((Hash)0x03D741CB4052E26C, ped);
```

- The name is a community guess and may change. If the named call is missing in your client build, use `InvokeNative` with the hash — it always works.

## Examples

*Source: VORPCORE RDR3natives*

```lua
local progress = Citizen.InvokeNative(0x03D741CB4052E26C, PlayerPedId(), Citizen.ResultAsFloat())
--progress will be between 0.0 and 1.0 depending on how far the break free action has advanced.
```

*Sources: alloc8or RDR3 NativeDB, VORPCORE RDR3natives.*
