RedM Natives

_SET_BIT_FLAG

Similar to SET_BIT but specifically designed for large (>32 flags) bit flag sets.

Hash0xE84AAC1B22A73E99
Runtime nameSetBitFlag
NamespaceMISC
SideClient
NameCommunity guess
Docs
Since build1207

Signature

void _SET_BIT_FLAG(Any* bitFlags, int flag);

Parameters

NameTypeDescription
bitFlagsAny*—
flagint—

Returns void

Description

Similar to SET_BIT but specifically designed for large (>32 flags) bit flag sets.
The flags are stored in an int array where each int has the ability to hold 32 flags.
Flags 0-31 would be stored in the first int, flags 32-63 in the second int, etc.

Usage

Lua
local bitFlags = SetBitFlag(flag)

-- always works, by hash
local bitFlags = Citizen.InvokeNative(0xE84AAC1B22A73E99, Citizen.PointerValueInt(), flag)
JavaScript and C#
JavaScript
const bitFlags = SetBitFlag(flag);

// by hash
const bitFlags = Citizen.invokeNative('0xE84AAC1B22A73E99', Citizen.pointerValueInt(), flag);
C#
var bitFlags = new OutputArgument();
Function.Call((Hash)0xE84AAC1B22A73E99, bitFlags, flag);
// bitFlags.GetResult<int>()
  • Pointer (out) arguments are not passed in Lua/JS: their values are returned after the result, in order.
  • 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.

See also

Sources

alloc8or RDR3 NativeDB

Something wrong or missing? Contribute a verified note — corrections ship through pull requests.