onPlayerDisconnected: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\{\{( *)Informative( *)\|" to "{{$1Feature$2|$2Informative$2|")
(formatting)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| arma1
|game1= arma1
|1.00
 
|version1= 1.00
 
|game2= arma2
 
|version2= 1.00
 
|game3= arma2oa
 
|version3= 1.51
 
|game4= tkoh
 
|version4= 1.00
 
|game5= arma3
 
|version5= 0.50


|gr1 = Multiplayer
|gr1 = Multiplayer
|gr2= Event Handlers
|gr2= Event Handlers


|serverExec= server
|serverExec= server


| This command will execute attached code whenever a player is leaving an MP session. The code will receive a number of special variables:
|descr= This command will execute attached code whenever a player is leaving an MP session. The code will receive a number of special variables:


* '''_id''': [[Number]] - is the unique DirectPlay ID. Quite useless as the number is too big for in-built string representation and gets rounded. It is also the same id used for user placed markers.
|mp= In multiplayer [[onPlayerDisconnected]] is executed only on the server.
* '''_uid''': [[String]] - is [[getPlayerUID]] of the leaving player. In Arma 3 it is also the same as Steam ID.
* '''_name''': [[String]] - is [[profileName]] of the leaving player.
* '''_jip''': (''since Arma 3 v1.49'') [[Boolean]] - is a flag that indicated whether or not the player joined after the mission has started ('''J'''oined '''I'''n '''P'''rogress). [[true]] - if the player was JIP, otherwise [[false]].
* '''_owner''': (''since Arma 3 v1.49'') [[Number]] - is [[owner]] id of the leaving player. Can be used for kick or ban purposes or just for [[publicVariableClient]].
* '''_idstr''': (''since Arma 3 v1.95'') [[String]] - same as <tt>_id</tt> but in string format, so could be exactly compared to [[allMapMarkers | user marker]] ids.<br><br>
{{Feature|Informative|Since '''Arma 3''' ''v1.57'' a stackable version of this EH is available: [[Arma_3:_Event_Handlers/addMissionEventHandler#PlayerDisconnected|PlayerDisconnected]]}}<br>
{{Feature|arma3|In order to keep compatibility between official and community content the functions [[BIS_fnc_addStackedEventHandler]] and [[BIS_fnc_removeStackedEventHandler]] should be used instead.}}


| '''onPlayerDisconnected''' code
{{Feature|arma3|Use [[Arma 3: Mission Event Handlers#PlayerDisconnected|playerDisconnected]] or [[Arma 3: Mission Event Handlers#HandleDisconnect|HandleDisconnect]] instead in {{arma3}}.}}


|p1= code: [[String]] or [[Code]]
|s1= '''onPlayerDisconnected''' code


| [[Nothing]]
|p1= code: [[String]] or [[Code]] - Code executed. The code will receive a number of special variables:
* _id: [[Number]] - Is the unique DirectPlay ID. Quite useless as the number is too big for in-built string representation and gets rounded. It is also the same id used for user placed markers.
 
* _uid: [[String]] - Is [[getPlayerUID]] of the leaving player. In Arma 3 it is also the same as Steam ID.
 
* _name: [[String]] - Is [[profileName]] of the leaving player.
 
* _jip: [[Boolean]] - Is a flag that indicated whether or not the player joined after the mission has started ('''J'''oined '''I'''n '''P'''rogress). [[true]] - if the player was JIP, otherwise [[false]]. {{Since|arma3|1.50}}
 
* _owner: [[Number]] - Is [[owner]] id of the leaving player. Can be used for kick or ban purposes or just for [[publicVariableClient]].  {{Since|arma3|1.50}}
 
* _idstr:  [[String]] - Same as <tt>_id</tt> but in string format, so could be exactly compared to [[allMapMarkers | user marker]] ids.  {{Since|arma3|1.96}}
 
|r1= [[Nothing]]
 
|x1= <code>[[onPlayerDisconnected]] {[[diag_log]] [_id, _uid, _name]};</code>


|x1= <code>[[onPlayerDisconnected]] "[[diag_log]] [_id, _uid, _name]";</code>
|x2= <code>[[onPlayerDisconnected]] {
|x2= <code>[[onPlayerDisconnected]] {
[[if]] ([[count]] [[allPlayers]] == 0) [[then]] {
[[if]] ([[count]] [[allPlayers]] == 0) [[then]] {
Line 33: Line 58:
};</code>
};</code>


| [[onPlayerConnected]], [[didJIP]], [[didJIPOwner]], [[Arma_3:_Event_Handlers/addMissionEventHandler#HandleDisconnect|HandleDisconnect]]
|seealso= [[onPlayerConnected]] [[didJIP]] [[didJIPOwner]] [[Arma 3: Mission Event Handlers#HandleDisconnect|HandleDisconnect]] [[Arma 3: Mission Event Handlers#playerDisconnected|playerDisconnected]]


|mp= In MP [[onPlayerDisconnected]] is executed only on the server
}}
}}
{{GameCategory|ofpe|Scripting Commands}}
{{GameCategory|arma1|Scripting Commands}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on January 14, 2015 - 19:21 (UTC)</dd>
<dt class="note">[[User:AgentRevolution|AgentRev]]</dt>
<dd class="note">
For Arma 3 v1.32 and onward, one might want to consider using instead the [[Arma_3:_Event_Handlers/addMissionEventHandler#HandleDisconnect|HandleDisconnect]] mission event handler for greater flexibility.
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 19:24, 26 March 2021

Hover & click on the images for description

Description

Description:
This command will execute attached code whenever a player is leaving an MP session. The code will receive a number of special variables:
Multiplayer:
In multiplayer onPlayerDisconnected is executed only on the server.
Arma 3
Use playerDisconnected or HandleDisconnect instead in Arma 3.
Groups:
MultiplayerEvent Handlers

Syntax

Syntax:
onPlayerDisconnected code
Parameters:
code: String or Code - Code executed. The code will receive a number of special variables:
  • _id: Number - Is the unique DirectPlay ID. Quite useless as the number is too big for in-built string representation and gets rounded. It is also the same id used for user placed markers.
  • _uid: String - Is getPlayerUID of the leaving player. In Arma 3 it is also the same as Steam ID.
  • _jip: Boolean - Is a flag that indicated whether or not the player joined after the mission has started (Joined In Progress). true - if the player was JIP, otherwise false. Template:Since
Return Value:
Nothing

Examples

Example 1:
onPlayerDisconnected {diag_log [_id, _uid, _name]};
Example 2:
onPlayerDisconnected { if (count allPlayers == 0) then { endMission "END1"; }; };

Additional Information

See also:
onPlayerConnected didJIP didJIPOwner HandleDisconnect playerDisconnected

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note