# CFX::GET_GAME_POOL

- **Hash:** `0x2B9D4F50`
- **Namespace:** CFX
- **Runtime name (Lua/JS):** `GetGamePool`
- **Side:** shared (Cfx runtime native)
- **Name status:** official
- **Documentation:** described with examples
- **URL:** https://natives.borderlinerp.com/natives/CFX/GET_GAME_POOL

## Signature

```c
object GET_GAME_POOL(char* poolName);
```

## Parameters

- `poolName` (`char*`) — The pool name to get a list of entities from.

## Returns

`object` — An array containing entity handles for each entity in the named pool.

## Description

*Source: Cfx.re native reference*

Returns a list of entity handles (script GUID) for all entities in the specified pool - the data returned is an array as
follows:

```json
[ 770, 1026, 1282, 1538, 1794, 2050, 2306, 2562, 2818, 3074, 3330, 3586, 3842, 4098, 4354, 4610, ...]
```

### Supported pools

*   `CPed`: Peds (including animals) and players.
*   `CObject`: Objects (props), doors, and projectiles.
*   `CNetObject`: Networked objects
*   `CVehicle`: Vehicles.
*   `CPickup`: Pickups.

## Usage

### Lua

```lua
local retval = GetGamePool(poolName)

-- always available, by hash
local retval = Citizen.InvokeNative(0x2b9d4f50, poolName, Citizen.ResultAsObject2(msgpack.unpack))
```

### JavaScript

```js
const retval = GetGamePool(poolName);

// by hash
const retval = Citizen.invokeNative('0x2b9d4f50', poolName, Citizen.returnResultAnyway(), Citizen.resultAsObject2());
```

### C#

```csharp
Function.Call((Hash)0x2b9d4f50, poolName);
```

## Examples

*Source: Cfx.re native reference*

```lua
local vehiclePool = GetGamePool('CVehicle') -- Get the list of vehicles (entities) from the pool
for i = 1, #vehiclePool do -- loop through each vehicle (entity)
    if GetPedInVehicleSeat(vehiclePool[i], -1) == 0 then
        DeleteEntity(vehiclePool[i]) -- Delete vehicles (entities) that don't have a driver
    end
end
```

*Sources: Cfx.re native reference.*
