onPlayerDisconnected: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\{\{( *)Informative( *)\|" to "{{$1Feature$2|$2Informative$2|")
m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(20 intermediate revisions by 2 users not shown)
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.50
 
|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.
* {{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.


|x1= <code>[[onPlayerDisconnected]] "[[diag_log]] [_id, _uid, _name]";</code>
|r1= [[Nothing]]
|x2= <code>[[onPlayerDisconnected]] {
 
[[if]] ([[count]] [[allPlayers]] == 0) [[then]] {
|x1= <sqf>onPlayerDisconnected {diag_log [_id, _uid, _name]};</sqf>
[[endMission]] "END1";
 
|x2= <sqf>
onPlayerDisconnected {
if (count allPlayers == 0) then {
endMission "END1";
};
};
};</code>
};
</sqf>


| [[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 -->

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