[This is preliminary documentation and is subject to change.]
Represents the handle of an item in a pool.
The RAGE engine has a special array type known as a pool.
Pools are widely used throughout RAGE games to store things like Peds, Vehicles, Weapons, Blips, etc.
Pools consist of slots, and each slot has an index ranging from 0 to the pools capacity.
Essentially each slot has a flag that indicates whether the slot is free, and a counter. The counter is purely to avoid duplicate handles in case that same slot is reused immediately after it's freed.
The handle is a composite number (32-bit unsigned integer) where the 24 most significant bits represent the item's index into the pool, and the last 8 bits represent the counter.
Eg. if an item is stored at index 4 and its counter is 7, the handle would be (4 << 8) | 7 = 1031 (0x00000407).
A handle is validated by comparing its counter to the counter in the slot indicated by the index in the handle. If the slot is occupied and the counters match, the handle is valid. These handles are used extensively in the engine's internal scripting system. If a native function takes an entity as parameter, it is by its handle.
Assembly: RagePluginHook (in RagePluginHook.dll) Version: 0.0.0.0 (0.56.1131.11510)
[SerializableAttribute] public struct PoolHandle
<SerializableAttribute> Public Structure PoolHandle
[SerializableAttribute] public value class PoolHandle
Thetype exposes the following members.
Initializes a new instance of theclass.
Gets or sets the counter of this.
Gets or sets the index of this.
Gets a value indicating whether thisis zero.
Gets or sets the value of this.
|(UInt32 to PoolHandle)|
Converts the specified UInt32 to a .
|(PoolHandle to UInt32)|
Converts the specified UInt32.to a