onPlayerDisconnected: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(more interesting example)
m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(59 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
|exec= server|= Exec
____________________________________________________________________________________________


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


* '''_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.
|game3= arma2oa
* '''_name''': [[String]] - is [[profileName]] of the leaving player.
|version3= 1.50
* '''_uid''': [[String]] - is [[getPlayerUID]] of the leaving player. In Arma 3 it is also the same as Steam ID.
* '''_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]].
* '''_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]].
{{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''' code |= Syntax
|game4= tkoh
|version4= 1.00


|p1= code: [[String]] or [[Code]] |= Parameter 1
|game5= arma3
|version5= 0.50


| [[Nothing]] |= Return value
|gr1= Multiplayer
____________________________________________________________________________________________


|x1= <code>[[onPlayerDisconnected]] "[[diag_log]] [_id, _uid, _name]";</code> |= Example 1
|gr2= Event Handlers
|x2= <code>[[onPlayerDisconnected]] {
 
[[if]] ([[count]] [[allPlayers]] == 0) [[then]] {
|serverExec= server
[[endMission]] "END1";
 
};
|descr= This command will execute attached code whenever a player is leaving an MP session. The code will receive a number of special variables:
};</code> |= Example 2


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


| [[onPlayerConnected]], [[Arma_3:_Event_Handlers#HandleDisconnect|HandleDisconnect]] |= See also
{{Feature|arma3|Use [[Arma 3: Mission Event Handlers#PlayerDisconnected|playerDisconnected]] or [[Arma 3: Mission Event Handlers#HandleDisconnect|HandleDisconnect]] instead in {{arma3}}.}}


|mp= In MP [[onPlayerDisconnected]] is executed only on the server |=
|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.


<h3 style="display:none">Notes</h3>
|r1= [[Nothing]]
<dl class="command_description">
<!-- Note Section BEGIN -->


<!-- Note Section END -->
|x1= <sqf>onPlayerDisconnected {diag_log [_id, _uid, _name]};</sqf>
</dl>


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


<!-- CONTINUE Notes -->
}}
<dl class="command_description">
<dd class="notedate">Posted on January 14, 2015 - 19:21 (UTC)</dd>
<dt class="note">[[User:AgentRevolution|AgentRevolution]]</dt>
<dd class="note">
For Arma 3 v1.32 and onward, one might want to consider using instead the [[Arma_3:_Event_Handlers#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