PlayerQuit: Difference between revisions

From RAGE Multiplayer Wiki
No edit summary
 
(20 intermediate revisions by 9 users not shown)
Line 1: Line 1:
This event is triggered when a player quit from the server.
This event is triggered when a player quits/disconnects/leaves the server.


=='''Parameters'''==
{{ServersideCsJsEvent}}
* '''player''' - player, which quit from the server.
* '''exitType ''' - exit type from the server:
**disconnect
**timeout
**kicked
* '''reason''' - reason of quit from the server if exit type is "kicked".


=='''Example'''==
 
<syntaxhighlight lang="javascript">
{{CSharpContainer|
{{#tag:syntaxhighlight|
[ServerEvent(Event.PlayerDisconnected)]
|lang=csharp
}}
 
{{Parameters}}
*'''player:''' parameter input should be in '''Player''' type
*'''type:''' parameter input should be in '''DisconnectionType''' type
*'''reason:''' parameter input should be in '''string''' type
 
{{Example}}
{{#tag:syntaxhighlight|
[ServerEvent(Event.PlayerDisconnected)]
public void OnPlayerDisconnect(Player player, DisconnectionType type, string reason)
{
switch (type)
{
case DisconnectionType.Left:
player.SendChatMessage($"~b~{player.Name}~w~ has quit the server.");
break;
case DisconnectionType.Timeout:
player.SendChatMessage($"~b~{player.Name}~w~ has timed out.");
break;
case DisconnectionType.Kicked:
player.SendChatMessage($"~b~{player.Name}~w~ was kicked from the server {reason}.");
break;
}
}
|lang=csharp}}
}}
 
{{JSContainer|
{{Parameters}}
* '''player''': {{RageType|Player}} - player, which quit from the server
* '''exitType''': {{RageType|String}} - exit types:
**''disconnect''
**''timeout''
**''kicked''
* '''reason''': {{RageType|String}} - kick reason
 
{{Example}}
This example outputs chat message, when player quits or kicked from the server.
<pre>
function playerQuitHandler(player, exitType, reason) {
function playerQuitHandler(player, exitType, reason) {
  let str = player.name;
   if (exitType != "kicked") {
   if (exitType != "kicked") {
     var str = player.name + " quit.";
     str += " quit.";
   } else {
   } else {
     var str = player.name + " kicked. Reason: " + reason + ".";
     str = ` kicked. Reason: ${reason}.`;
   }
   }
   console.log(str);
   console.log(str);
}
}


mp.events.add({
mp.events.add("playerQuit", playerQuitHandler);
  "playerQuit": playerQuitHandler
</pre>
}}


{{ClientsideCsJsEvent|1=C#_Syntax_2|2=JavaScript_Syntax_2}}
{{CSharpContainer|
<syntaxhighlight lang="csharp">
public delegate void OnPlayerQuitDelegate(Player player);
</syntaxhighlight>
{{Parameters}}
* '''player''': The player leaving the server, expects '''RAGE.Elements.Player''' type.
{{Example}}
The example below shows up a message to the client when another player leaves the server.
<syntaxhighlight lang="csharp">
Events.OnPlayerQuit += OnPlayerQuit;
</syntaxhighlight>
<syntaxhighlight lang="csharp">
public void OnPlayerQuit(RAGE.Elements.Player player)
{
    RAGE.Chat.Output($"Player {player.Name} has left");
}
</syntaxhighlight>
}}
{{JSContainer|
{{Parameters}}
* '''player''': {{RageType|Player}} - the other player who left the server
{{Example}}
This example displays a notification for the player, when another player disconnected from server.
<pre>
mp.events.add("playerQuit", (player) => {
    mp.game.graphics.notify(`<C>${player.name}</C> (ID:${player.remoteId}) left the server`);
});
});
</syntaxhighlight>
</pre>
}}
 
==See also==
{{Player_events}}
 
[[Category:Player]]
[[Category:Server-side Event]]
[[Category:Client-side Event]]

Latest revision as of 10:54, 24 April 2024

This event is triggered when a player quits/disconnects/leaves the server.

Server-Side
Event

 C#  JavaScript




C# Syntax

[ServerEvent(Event.PlayerDisconnected)]

Parameters

  • player: parameter input should be in Player type
  • type: parameter input should be in DisconnectionType type
  • reason: parameter input should be in string type

Example

[ServerEvent(Event.PlayerDisconnected)]
public void OnPlayerDisconnect(Player player, DisconnectionType type, string reason)
{
	switch (type) 
	{
		case DisconnectionType.Left:
			player.SendChatMessage($"~b~{player.Name}~w~ has quit the server.");
			break;
		case DisconnectionType.Timeout:
			player.SendChatMessage($"~b~{player.Name}~w~ has timed out.");
			break;
		case DisconnectionType.Kicked:
			player.SendChatMessage($"~b~{player.Name}~w~ was kicked from the server {reason}.");
			break;
	}
}


JavaScript Syntax

Parameters

  • player: Player - player, which quit from the server
  • exitType: String - exit types:
    • disconnect
    • timeout
    • kicked
  • reason: String - kick reason

Example

This example outputs chat message, when player quits or kicked from the server.

function playerQuitHandler(player, exitType, reason) {
  let str = player.name;

  if (exitType != "kicked") {
    str += " quit.";
  } else {
    str = ` kicked. Reason: ${reason}.`;
  }

  console.log(str);
}

mp.events.add("playerQuit", playerQuitHandler);


Client-Side Event

 C#  JavaScript



C# Syntax

public delegate void OnPlayerQuitDelegate(Player player);

Parameters

  • player: The player leaving the server, expects RAGE.Elements.Player type.

Example

The example below shows up a message to the client when another player leaves the server.

Events.OnPlayerQuit += OnPlayerQuit;
public void OnPlayerQuit(RAGE.Elements.Player player)
{
    RAGE.Chat.Output($"Player {player.Name} has left");
}


JavaScript Syntax

Parameters

  • player: Player - the other player who left the server

Example

This example displays a notification for the player, when another player disconnected from server.

mp.events.add("playerQuit", (player) => {
    mp.game.graphics.notify(`<C>${player.name}</C> (ID:${player.remoteId}) left the server`);
});


See also

Checkpoint

Colshape

Entity

Player

Streaming

Vehicle

Waypoint