# IK::_INVERSE_KINEMATICS_POINT_AT

- **Hash:** `0x0B9F7A01EC50448D`
- **Namespace:** IK
- **Runtime name (Lua/JS):** `InverseKinematicsPointAt`
- **Side:** client (game native)
- **Name status:** community guess (may change)
- **Documentation:** described with examples
- **Since game build:** 1207
- **URL:** https://natives.borderlinerp.com/natives/IK/_INVERSE_KINEMATICS_POINT_AT

## Signature

```c
void _INVERSE_KINEMATICS_POINT_AT(Ped ped, Any* args);
```

## Parameters

- `ped` (`Ped`)
- `args` (`Any*`)

## Returns

`void`

## Description

*Source: alloc8or RDR3 NativeDB*

Makes the ped point at a target with an arm. Must be called every frame while the point-at behavior should remain active.

args:
struct PointAtParams
{
	alignas(8) BOOL   isRightHand;
	alignas(8) float  offsetX;
	alignas(8) float  offsetY;
	alignas(8) float  offsetZ;
	alignas(8) Entity entity;
	alignas(8) int    boneIndex;
	alignas(8) int    flags;     // (1 << 22) attaches the point-at to the target
	alignas(8) int    p6;        // observed 1..5
	alignas(8) int    p7;        // observed 1..2
};

*Source: VORPCORE RDR3natives*

Make the ped point at with arms, must be called every frame.

## Usage

### Lua

```lua
local args = InverseKinematicsPointAt(ped, args)

-- always available, by hash
local args = Citizen.InvokeNative(0x0B9F7A01EC50448D, ped, Citizen.PointerValueIntInitialized(args))
```

### JavaScript

```js
const args = InverseKinematicsPointAt(ped, args);

// by hash
const args = Citizen.invokeNative('0x0B9F7A01EC50448D', ped, Citizen.pointerValueIntInitialized(args));
```

### C#

```csharp
var args = new OutputArgument();
Function.Call((Hash)0x0B9F7A01EC50448D, ped, args);
// args.GetResult<int>()
```

- The last argument is an in/out pointer: pass its initial value, and the updated value is returned after the result.
- `Any*` arguments are often structs. Build them with a DataView buffer and pass it with `:Buffer()` — see the examples and notes below.
- 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
struct parameters {
  bool isRightHand;
  Vector3 offset;
  Entity entity;
  int boneIndex;
  int flags; // (1 << 22) makes attach to point at
  int unk1; // 1-5
  int unk2; // 1-2
}
```

*Sources: alloc8or RDR3 NativeDB, VORPCORE RDR3natives.*
