# STREAMING::REQUEST_IPL_HASH

- **Hash:** `0x59767C5A7A9AE6DA`
- **Namespace:** STREAMING
- **Runtime name (Lua/JS):** `RequestIplHash`
- **Side:** client (game native)
- **Name status:** official
- **Documentation:** described with examples
- **Since game build:** 1207
- **URL:** https://natives.borderlinerp.com/natives/STREAMING/REQUEST_IPL_HASH

## Signature

```c
void REQUEST_IPL_HASH(Hash iplHash);
```

## Parameters

- `iplHash` (`Hash`) — IPL hash as a signed 32-bit integer.

## Returns

`void`

## Description

Old name: _REQUEST_IMAP

## Verified notes

### Pass the signed form

A hash of 2³¹ or more passed as a positive integer is dropped silently: no error, the IPL never loads and `IS_IPL_ACTIVE_HASH` stays `false`. The same applies to `REMOVE_IPL_HASH` and `IS_IPL_ACTIVE_HASH`.

- `joaat("name")` and backtick literals already return the signed form.
- `tonumber("0xF4101CBE")` returns the unsigned form (4094696638) and breaks the call.

`_GET_IPL_BOUNDING_SPHERE` does accept the unsigned form, which makes the bug look like a streaming or timing problem: the sphere is found, the IPL never appears.

```lua
local function toSignedHash(h)
    h = math.floor(tonumber(h)) & 0xFFFFFFFF
    if h >= 0x80000000 then h = h - 0x100000000 end
    return h
end

RequestIplHash(toSignedHash('0xF4101CBE'))
```

Store hashes signed in your database too, or convert them on read.

Verified in game on the Borderline RP server, September 2026.

## Usage

### Lua

```lua
RequestIplHash(iplHash)

-- always available, by hash
Citizen.InvokeNative(0x59767C5A7A9AE6DA, iplHash)
```

### JavaScript

```js
RequestIplHash(iplHash);

// by hash
Citizen.invokeNative('0x59767C5A7A9AE6DA', iplHash);
```

### C#

```csharp
Function.Call((Hash)0x59767C5A7A9AE6DA, iplHash);
```

- Hash parameters: the named function also accepts a string and hashes it for you; `Citizen.InvokeNative` needs the number — pass `joaat("name")` or a backtick literal like `` `name` ``.

## See also

- [STREAMING::_GET_IPL_BOUNDING_SPHERE](https://natives.borderlinerp.com/natives/STREAMING/_GET_IPL_BOUNDING_SPHERE.md) — Outputs IPL position and radius (previously wrongly named heading)
- [STREAMING::IS_IPL_ACTIVE_HASH](https://natives.borderlinerp.com/natives/STREAMING/IS_IPL_ACTIVE_HASH.md) — Old name: _IS_IMAP_ACTIVE
- [STREAMING::REMOVE_IPL_HASH](https://natives.borderlinerp.com/natives/STREAMING/REMOVE_IPL_HASH.md) — Old name: _REMOVE_IMAP

*Sources: alloc8or RDR3 NativeDB, RedM Natives (verified notes).*
