onPlayerDisconnected: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Multiplayer Arguments( \("local" or "global"\))?|Effects|Multiplayer Effects( \("local" or "global"\))?|Multiplayer Exe...)
m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Command
{{RV|type=command


| arma1
|game1= arma1
|1.00
|version1= 1.00


|gr1 = Multiplayer
|game2= arma2
|gr2= Event Handlers
|version2= 1.00


|game3= arma2oa
|version3= 1.50


|serverExec= server |Exec=
|game4= tkoh
|version4= 1.00


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


* '''_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.
|gr1= Multiplayer
* '''_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>
{{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.}}


|gr2= Event Handlers


| '''onPlayerDisconnected''' code
|serverExec= server


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


| [[Nothing]]
|mp= In multiplayer [[onPlayerDisconnected]] is executed only on the server.


|x1= <code>[[onPlayerDisconnected]] "[[diag_log]] [_id, _uid, _name]";</code>
{{Feature|arma3|Use [[Arma 3: Mission Event Handlers#PlayerDisconnected|playerDisconnected]] or [[Arma 3: Mission Event Handlers#HandleDisconnect|HandleDisconnect]] instead in {{arma3}}.}}
|x2= <code>[[onPlayerDisconnected]] {
[[if]] ([[count]] [[allPlayers]] == 0) [[then]] {
[[endMission]] "END1";
};
};</code>


|s1= [[onPlayerDisconnected]]  code


| [[onPlayerConnected]], [[didJIP]], [[didJIPOwner]], [[Arma_3:_Event_Handlers/addMissionEventHandler#HandleDisconnect|HandleDisconnect]]
|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.
* {{GVI|arma3|1.50|size= 0.75}} _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]].
* {{GVI|arma3|1.50|size= 0.75}} _owner: [[Number]] - Is [[owner]] id of the leaving player. Can be used for kick or ban purposes or just for [[publicVariableClient]].
* {{GVI|arma3|1.96|size= 0.75}} _idstr:  [[String]] - Same as {{hl|_id}} but in string format, so could be exactly compared to [[allMapMarkers | user marker]] ids.


|mp= In MP [[onPlayerDisconnected]] is executed only on the server
|r1= [[Nothing]]
}}


|x1= <sqf>onPlayerDisconnected {diag_log [_id, _uid, _name]};</sqf>


<h3 style="display:none">Bottom Section</h3>
|x2= <sqf>
onPlayerDisconnected {
if (count allPlayers == 0) then {
endMission "END1";
};
};
</sqf>


[[Category:Scripting Commands|ONPLAYERDISCONNECTED]]
|seealso= [[onPlayerConnected]] [[didJIP]] [[didJIPOwner]] [[Arma 3: Mission Event Handlers#HandleDisconnect|HandleDisconnect]] [[Arma 3: Mission Event Handlers#playerDisconnected|playerDisconnected]]
{{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 -->

Latest revision as of 11:34, 3 September 2024

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.
  • _name: String - Is profileName of the leaving player.
  • Arma 3 logo black.png1.50 _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.
  • Arma 3 logo black.png1.50 _owner: Number - Is owner id of the leaving player. Can be used for kick or ban purposes or just for publicVariableClient.
  • Arma 3 logo black.png1.96 _idstr: String - Same as _id but in string format, so could be exactly compared to user marker ids.
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