onPlayerDisconnected: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(mp note)
m (Text replacement - "(\|[pr][0-9]+ *= *[^-]+) *- *C([a-eg-z])" to "$1 - c$2")
 
(64 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma |= Game name
|game1= arma1
|1.00|= Game version
|version1= 1.00
____________________________________________________________________________________________


| This statement is launched whenever a player is disconnected from a MP session. <br>
|game2= arma2
Variables '''_id''' and '''_name''' are set. <br>
|version2= 1.00
Note that as of 1.08, this command only accepts a code-string rather than code delimited by braces. <br>
Note as of ArmA 2 version 1.02 this function returns also variable '''_uid''' with uniqueID of player.
{{Feature arma3|In order to keep compatability between official and community content the functions [[BIS_fnc_addStackedEventHandler]] and [[BIS_fnc_removeStackedEventHandler]] should be used instead.}}
|= Description
____________________________________________________________________________________________


| '''onPlayerDisconnected''' statement |= Syntax
|game3= arma2oa
|version3= 1.50


|p1= statement: [[String]] or [[Code]] |= Parameter 1
|game4= tkoh
|version4= 1.00


| [[Nothing]] |= Return value
|game5= arma3
____________________________________________________________________________________________
|version5= 0.50


|x1= <code>onPlayerDisconnected "endMission ""END1"";";</code> |= Example 1
|gr1= Multiplayer
|x2= <code>[[onPlayerDisconnected]] {[[diag_log]] [_id, _uid, _name]};</code> |= Example 2 | [[onPlayerConnected]] |= See also


}}
|gr2= Event Handlers
 
|serverExec= server
 
|descr= This command will execute attached code whenever a player is leaving an MP session. The code will receive a number of special variables:
 
|mp= In multiplayer [[onPlayerDisconnected]] is executed only on the server.
 
{{Feature|arma3|Use [[Arma 3: Mission Event Handlers#PlayerDisconnected|playerDisconnected]] or [[Arma 3: Mission Event Handlers#HandleDisconnect|HandleDisconnect]] instead in {{arma3}}.}}
 
|s1= [[onPlayerDisconnected]]  code
 
|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]]


<h3 style="display:none">Notes</h3>
|x1= <sqf>onPlayerDisconnected {diag_log [_id, _uid, _name]};</sqf>
<dl class="command_description">
<!-- Note Section BEGIN -->


<!-- Note Section END -->
|x2= <sqf>onPlayerDisconnected {
</dl>
if (count allPlayers == 0) then {
endMission "END1";
};
};</sqf>


<h3 style="display:none">Bottom Section</h3>
|seealso= [[onPlayerConnected]] [[didJIP]] [[didJIPOwner]] [[Arma 3: Mission Event Handlers#HandleDisconnect|HandleDisconnect]] [[Arma 3: Mission Event Handlers#playerDisconnected|playerDisconnected]]


[[Category:Scripting Commands|ONPLAYERDISCONNECTED]]
}}
[[Category:Scripting Commands OFP Elite |ONPLAYERDISCONNECTED]]
[[Category:Scripting Commands ArmA|ONPLAYERDISCONNECTED]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Multiplayer|{{uc:{{PAGENAME}}}}]]

Latest revision as of 14:59, 8 November 2023

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