Pool::forEach: Difference between revisions
(Updated example borders, fixed English) |
(Pool list) |
||
| (9 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
{{ServersideJsFunction}} | |||
{{JSContainer| | |||
{{Pool_list}} | |||
==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== | ==Syntax== | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
pool.forEach(Function callingFunction) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
===Required Arguments=== | ===Required Arguments=== | ||
*'''callingFunction:''' Function | *'''callingFunction:''' {{RageType|Function}} — A function to apply to each entity in the pool. | ||
==Example #1== | ==Examples== | ||
This example | ===Example #1=== | ||
This example collects and returns a string of all player nicknames on the server. | |||
{{ServersideCode| | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
let getNicknamesText = () => { | let getNicknamesText = () => { | ||
let text = ``; | |||
mp.players.forEach((player) => { | |||
text = text === `` ? player.name : `${text}, ${player.name}`; | |||
}); | |||
return text; | |||
}; | }; | ||
const nicknameText = getNicknamesText(); | |||
console.log( | console.log(nicknameText !== `` ? nicknameText : `No players online.`); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</ | }} | ||
===Example #2=== | |||
This example adds a command to remove all vehicles on the server using `forEach`. | |||
{{ServersideCode| | |||
<syntaxhighlight lang="javascript"> | |||
mp.events.addCommand("removeAll", (player) => { | |||
mp.vehicles.forEach((vehicle) => { | |||
vehicle.destroy(); | |||
}); | |||
mp.players.broadcast(`${player.name} has destroyed all vehicles!`); | |||
}); | |||
</syntaxhighlight> | |||
}} | |||
===Example #3=== | |||
This example teleports a player who types `/port <name>` to the location of the specified player. | |||
{{ServersideCode| | |||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
mp.events.addCommand( | mp.events.addCommand("port", (player, name) => { | ||
mp.players.forEach((_player) => { | |||
if (_player.name === name) player.position = _player.position; | |||
}); | |||
}); | |||
); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | |||
}} | |||
==See Also== | ==See Also== | ||
{{EntityPool_function}} | {{EntityPool_function}} | ||
[[Category:Serverside API]] | |||
Latest revision as of 12:10, 10 November 2024
Server-Side Function
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
- Functions
- Properties
- Arrays