Events::addDataHandler: Difference between revisions
(Created page with "This Function is used to alert client-side with entity's data change for a specified variable ==Syntax== <pre> mp.events.addDataHandler("syncedVariable", function (entity, va...") |
No edit summary |
||
| (3 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
This Function is used to alert client-side with entity's data change for a specified variable | This Function is used to alert client-side with entity's data change for a specified variable | ||
<br>{{ClientsideCsJsFunction}} | |||
{{CSharpContainer| | |||
<pre> | |||
RAGE.Events.AddDataHandler(string name, OnEntityDataChangeDelegate handler); | |||
</pre> | |||
}} | |||
{{JSContainer| | |||
<pre> | |||
mp.events.addDataHandler(key, handlerFunction); | |||
</pre> | |||
{{Parameters}} | |||
* '''key''': {{RageType|String}} - Shared data key's name. | |||
* '''handlerFunction''': Handler function with parameters: | |||
** '''entity''': {{RageType|Entity}} - The [[:Category:Entity API|entity]] that had the data change. | |||
** '''value''': {{RageType|Any}} - The new value of the data key. | |||
** '''oldValue''': {{RageType|Any}} - The old value of the data key. | |||
{{Example}} | |||
<pre> | <pre> | ||
mp.events.addDataHandler(" | /* | ||
Handles testVar change. | |||
Do "player.data.testVar = 1234;" on server-side to trigger this. | |||
*/ | |||
mp.events.addDataHandler("testVar", (entity, value, oldValue) => { | |||
mp.gui.chat.push(`testVar changed to ${value} on entity ${entity.handle}.`); | |||
}); | }); | ||
</pre> | </pre> | ||
{{Example}} | |||
This example sets nickname for player and triggers players' clientside data handler | This example sets nickname for player and triggers players' clientside data handler | ||
{{ServersideCode| | {{ServersideCode| | ||
<pre> | <pre> | ||
| Line 28: | Line 43: | ||
}); | }); | ||
</pre> | </pre> | ||
}} | |||
{{ClientsideCode| | |||
<pre> | |||
mp.events.addDataHandler('newNick', function (entity, value, oldValue) { | |||
if (entity.type === 'player') mp.gui.chat.push(`${player.getVariable('oldNick')} has changed nickname to ${value}`) | |||
}) | |||
</pre> | |||
}} | |||
}} | }} | ||
==See Also== | ==See Also== | ||
* [[EntityDataChangeByKey]] | |||
{{Event_functions}} | {{Event_functions}} | ||
[[Category:Entity API]] | |||
[[Category:Shared Property]] | |||
[[Category:Client-side Function]] | |||
Latest revision as of 08:16, 26 December 2022
This Function is used to alert client-side with entity's data change for a specified variable
Client-Side Function
C# Syntax
RAGE.Events.AddDataHandler(string name, OnEntityDataChangeDelegate handler);
JavaScript Syntax
mp.events.addDataHandler(key, handlerFunction);
Parameters
- key: String - Shared data key's name.
- handlerFunction: Handler function with parameters:
- entity: Entity - The entity that had the data change.
- value: Any - The new value of the data key.
- oldValue: Any - The old value of the data key.
Example
/*
Handles testVar change.
Do "player.data.testVar = 1234;" on server-side to trigger this.
*/
mp.events.addDataHandler("testVar", (entity, value, oldValue) => {
mp.gui.chat.push(`testVar changed to ${value} on entity ${entity.handle}.`);
});
Example
This example sets nickname for player and triggers players' clientside data handler
Server-Side
mp.events.addCommand('setNick', (player, nickname) => {
player.setVariable('oldNick', player.name);
player.name = nickname;
player.setVariable('newNick', nickname);
});
Client-Side
mp.events.addDataHandler('newNick', function (entity, value, oldValue) {
if (entity.type === 'player') mp.gui.chat.push(`${player.getVariable('oldNick')} has changed nickname to ${value}`)
})
See Also
- Functions
- Properties