Pool::forEach: Difference between revisions

From RAGE Multiplayer Wiki
No edit summary
(Pool list)
 
Line 2: Line 2:
{{JSContainer|
{{JSContainer|


==Available Entity Pools==
{{Pool_list}}
 
* '''mp.players''' - Pool of all connected players
* '''mp.vehicles''' - Pool of all active vehicles
* '''mp.objects''' - Pool of all world objects
* '''mp.peds''' - Pool of all non-player characters (peds)
* '''mp.markers''' - Pool of all markers in the game
* '''mp.blips''' - Pool of all blips on the map
* '''mp.checkpoints''' - Pool of all checkpoints
* '''mp.colshapes''' - Pool of all collision shapes
* '''mp.labels''' - Pool of all text labels in the world


==Summary==
==Summary==

Latest revision as of 12:10, 10 November 2024

Server-Side
Function

 JavaScript



JavaScript Syntax


Available Entity Pools

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

Entity Pool Description
mp.players Manages all connected players
mp.vehicles Manages all spawned vehicles
mp.objects Manages all created objects
mp.peds Manages all non-player characters (peds)
mp.markers Manages all markers in the game
mp.labels Manages all 3D text labels
mp.checkpoints Manages checkpoints
mp.blips Manages map blips
mp.colshapes Manages 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;
    });
});



See Also