Player::call: Difference between revisions

From RAGE Multiplayer Wiki
No edit summary
No edit summary
Line 1: Line 1:
FROM SERVER: This function calls a client-side event for the selected player.
{{JSContainer|
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.
'''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}} '''


==Syntax==
==Syntax==
<pre>
<syntaxhighlight lang="javascript">
player.call(String eventName [, Array args]);
player.call(eventName, ...args);
</pre>  
</syntaxhighlight>
===Required Arguments===
*'''eventName:''' The event name that will be called
*'''args:''' Any arguments, what should be sent 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}}

Revision as of 11:16, 1 June 2024

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

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