Skip to main content

Pool::forEach

Server-side function

Available Entity Pools​

The following are the main entity pools available on the RAGEMP, used for managing various game entities:

Entity PoolDescription
mp.playersManages all connected players
mp.vehiclesManages all spawned vehicles
mp.objectsManages all created objects
mp.pedsManages all non-player characters (peds)
mp.markersManages all markers in the game
mp.labelsManages all 3D text labels
mp.checkpointsManages checkpoints
mp.blipsManages map blips
mp.colshapesManages collision shapes

Summary​

The pool.forEach function iterates over each element in a pool, applying a specified function to each entity. It’s useful for actions that involve every entity within a pool, such as broadcasting messages, modifying player states, or destroying all vehicles.

Syntax​

pool.forEach(Function callingFunction)

Required Arguments​

  • callingFunction: Function — A function to apply to each entity in the pool.

Examples​

Example #1​

This example collects and returns a string of all player nicknames on the server.

Server-Side

let getNicknamesText = () => {
let text = ``;
mp.players.forEach((player) => {
text = text === `` ? player.name : `${text}, ${player.name}`;
});
return text;
};

const nicknameText = getNicknamesText();
console.log(nicknameText !== `` ? nicknameText : `No players online.`);

Example #2​

This example adds a command to remove all vehicles on the server using forEach.

Server-Side

mp.events.addCommand("removeAll", (player) => {
mp.vehicles.forEach((vehicle) => {
vehicle.destroy();
});
mp.players.broadcast(`${player.name} has destroyed all vehicles!`);
});

Example #3​

This example teleports a player who types /port \<name\> to the location of the specified player.

Server-Side

mp.events.addCommand("port", (player, name) => {
mp.players.forEach((_player) => {
if (_player.name === name) player.position = _player.position;
});
});