Player::call: Difference between revisions

From RAGE Multiplayer Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This function calls a client-side event for the selected player.
{{JSContainer|
'''FROM SERVER''':
*This function calls a client-side event for the selected player.


'''FROM CLIENT''':
*For Peer 2 Peer connections. The current client can call an event on another client's scriptside and that other client can handle that event.
===Required Params===
*'''eventName:''' {{RageType|string}} - the event name that will be called
*'''args:''' {{RageType|Array[]}} - Any arguments, what should be sent to client. Supports entities, strings, numbers and booleans. (Objects and Arrays should be packed to JSON format.)
===Return value===
*''' {{RageType|void}} '''
'''Note:''' payload is limited to 8192 bytes.
==Syntax==
==Syntax==
<pre>
<syntaxhighlight lang="javascript">
player.call(String eventName [, ...args]);
player.call(eventName, ...args);
</pre>  
</syntaxhighlight>
===Required Arguments===
*'''eventName:''' The event name that will be called
*'''args:''' Any arguments, what should be sended to client. Supports entities, strings, numbers and booleans. (Objects and Arrays should be packed to JSON format.) Arguments has to be packed in an array.
 
==Example==
This example will call the client-side event 'disablePlayerRegeneration' for the player with the ID 1337.


==Example==
Register the event that you want to call in client-side using [[Events::add|mp.events.add]]
{{ClientsideCode|
{{ClientsideCode|
<pre>
<syntaxhighlight lang="javascript">
let disableRegeneration = (currentHealth) => { //currentHealth - value, what we send from server.
mp.events.add('setPlayerConfigFlag', (flag, enable) => {
mp.game.player.setHealthRechargeMultiplier(0); //Disable regeneration
    mp.players.local.setConfigFlag(flag, enable);
mp.gui.chat.push(`Regeneration disabled. Current health: ${currentHealth}`); //Output text to default chatbox
})
};
</syntaxhighlight>
 
mp.events.add('disablePlayerRegeneration', disableRegeneration);
</pre>
}}
}}


Here we create a function that will call 'setPlayerConfigFlag' event and it will set the given player a given config flag.
{{ServersideCode|
<syntaxhighlight lang="javascript">
function setPlayerConfigFlag(id, flag, enable) {
    const player = mp.players.at(id); //Find player with ID 1337;
    if (!player || !mp.players.exists(player)) return; //Do nothing if no player was found
    player.call("setPlayerConfigFlag", [flag, enable]);
}


{{ServersideCode|
setPlayerConfigFlag(1337, 18, true); //enable can punch flag for player id 1337
<pre>
</syntaxhighlight>
let player = mp.player.at(1337); //Get player by ID
if (player) {
let playerHealth = player.health;
player.call(`disablePlayerRegeneration`, [playerHealth]);
};
</pre>
}}
}}


==See Also==
}}
==See also==
{{Player_block}}
{{Player_block}}

Latest revision as of 19:52, 1 November 2025

JavaScript Syntax

FROM SERVER:

  • This function calls a client-side event for the selected player.

FROM CLIENT:

  • For Peer 2 Peer connections. The current client can call an event on another client's scriptside and that other client can handle that event.

Required Params

  • eventName: string - the event name that will be called
  • args: Array[] - Any arguments, what should be sent to client. Supports entities, strings, numbers and booleans. (Objects and Arrays should be packed to JSON format.)

Return value

  • void

Note: payload is limited to 8192 bytes.

Syntax

player.call(eventName, ...args);

Example

Register the event that you want to call in client-side using mp.events.add

Client-Side
mp.events.add('setPlayerConfigFlag', (flag, enable) => {
    mp.players.local.setConfigFlag(flag, enable);
})

Here we create a function that will call 'setPlayerConfigFlag' event and it will set the given player a given config flag.

Server-Side
function setPlayerConfigFlag(id, flag, enable) {
    const player = mp.players.at(id); //Find player with ID 1337;
    if (!player || !mp.players.exists(player)) return; //Do nothing if no player was found
    player.call("setPlayerConfigFlag", [flag, enable]);
}

setPlayerConfigFlag(1337, 18, true); //enable can punch flag for player id 1337



See also