Difference between revisions of "onPlayerConnected"

From Bohemia Interactive Community
Jump to navigation Jump to search
(revised, tidied, new vars on dev)
m (template:command argument fix)
(10 intermediate revisions by 3 users not shown)
Line 11: Line 11:
  
 
* '''_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.
 
* '''_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 joining player. In Arma 3 it is also the same as Steam ID.
 
* '''_name''': [[String]] - is [[profileName]] of the joining player.
 
* '''_name''': [[String]] - is [[profileName]] of the joining player.
* '''_uid''': [[String]] - is [[getPlayerUID]] of the joining player. In Arma 3 it is also the same as Steam ID.
+
* '''_jip''': (''since Arma 3 v1.49'') [[Boolean]] - is a flag that indicates whether or not the player joined after the mission has started ('''J'''oined '''I'''n '''P'''rogress). [[true]] - when the player is JIP, otherwise [[false]].
* '''_owner''': (''since Arma 3 v1.49'') [[Number]] - is [[owner]] id of the joining player. Can be used for kick or ban purposes or just for [[publicVariableClient]].
+
* '''_owner''': (''since Arma 3 v1.49'') [[Number]] - is [[owner]] id of the joining player. Can be used for kick or ban purposes or just for [[publicVariableClient]].<br><br>
* '''_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]] - when the player is JIP, otherwise [[false]].
+
{{Informative|Since '''Arma 3''' ''v1.57'' a stackable version of this EH is available: [[Arma_3:_Event_Handlers/addMissionEventHandler#PlayerConnected|PlayerConnected]]}}<br>
{{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.}}
+
{{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.}}
|= Description
+
|DESCRIPTION=
 
____________________________________________________________________________________________
 
____________________________________________________________________________________________
  
| '''onPlayerConnected''' code |= Syntax
+
| '''onPlayerConnected''' code |SYNTAX=
  
|p1= code: [[String]] or [[Code]] |= Parameter 1
+
|p1= code: [[String]] or [[Code]] |PARAMETER1=
  
| [[Nothing]] |= Return value
+
| [[Nothing]] |RETURNVALUE=
  
 
____________________________________________________________________________________________
 
____________________________________________________________________________________________
|x1= <code>[[onPlayerConnected]] "[_id, _name] execVM ""PlayerConnected.sqf""";</code> |= Example 1
+
|x1= <code>[[onPlayerConnected]] "[_id, _name] [[execVM]] ""PlayerConnected.sqf""";</code> |EXAMPLE1=  
|x2= <code>[[onPlayerConnected]] {[[diag_log]] [_id, _uid, _name]};</code> |= Example 2
+
|x2= <code>[[onPlayerConnected]] {[[diag_log]] [_id, _uid, _name]};</code> |EXAMPLE2=
 +
|x3= From Arma 3 v1.49: <code>[[onPlayerConnected]] {
 +
somevar = [[random]] 123;
 +
_owner [[publicVariableClient]] "somevar";
 +
//this will set somevar on
 +
//joining player PC to a random value
 +
};</code>|EXAMPLE2=
 +
 
 +
|x4= From Arma 3 v1.49: <code>[[onPlayerConnected]] {isJip = _jip; _owner [[publicVariableClient]] "isJip"};
 +
//Each player will now have variable isJip containing individual JIP info</code>|EXAMPLE2=
  
 
|mp= The ''statement'' is executed only on the server, not on the joining player's computer, nor on any other client.<br>
 
|mp= The ''statement'' is executed only on the server, not on the joining player's computer, nor on any other client.<br>
 
This happens even if '''onPlayerConnected''' was issued on all machines. <br>
 
This happens even if '''onPlayerConnected''' was issued on all machines. <br>
Note that there is a player with the '''_name''' called __SERVER__ which will also connect to a multiplayer game, executing ''statement''. |=
+
Note that there is a player with the '''_name''' called __SERVER__ which will also connect to a multiplayer game, executing ''code''. |=
  
| [[onPlayerDisconnected]] |= See also
+
| [[onPlayerDisconnected]], [[didJIP]], [[didJIPOwner]]|SEEALSO=
  
 
}}
 
}}

Revision as of 15:44, 7 April 2019

Introduced with Armed Assault version 1.00
  This scripting command must be executed on the server to work properly in multiplayer

Click on the images for descriptions

Introduced in

Game:
Armed Assault
Version:
1.00

Description

Description:
This command will execute attached code whenever a player is connected to a 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.
  • _uid: String - is getPlayerUID of the joining player. In Arma 3 it is also the same as Steam ID.
  • _name: String - is profileName of the joining player.
  • _jip: (since Arma 3 v1.49) Boolean - is a flag that indicates whether or not the player joined after the mission has started (Joined In Progress). true - when the player is JIP, otherwise false.
  • _owner: (since Arma 3 v1.49) Number - is owner id of the joining player. Can be used for kick or ban purposes or just for publicVariableClient.

Since Arma 3 v1.57 a stackable version of this EH is available: PlayerConnected

Arma 3 logo black.png
In order to keep compatibility between official and community content the functions BIS_fnc_addStackedEventHandler and BIS_fnc_removeStackedEventHandler should be used instead.

Syntax

Syntax:
onPlayerConnected code
Parameters:
code: String or Code
Return Value:
Nothing

Examples

Example 1:
onPlayerConnected "[_id, _name] execVM ""PlayerConnected.sqf""";
Example 2:
onPlayerConnected {diag_log [_id, _uid, _name]};
Example 3:
From Arma 3 v1.49: onPlayerConnected { somevar = random 123; _owner publicVariableClient "somevar"; //this will set somevar on //joining player PC to a random value };
Example 4:
From Arma 3 v1.49: onPlayerConnected {isJip = _jip; _owner publicVariableClient "isJip"}; //Each player will now have variable isJip containing individual JIP info

Additional Information

Multiplayer:
The statement is executed only on the server, not on the joining player's computer, nor on any other client.
This happens even if onPlayerConnected was issued on all machines.
Note that there is a player with the _name called __SERVER__ which will also connect to a multiplayer game, executing code.
See also:
onPlayerDisconnecteddidJIPdidJIPOwner

Notes

Only post proven facts here. Report bugs on the feedback tracker. Use the talk page or the forums for discussions.
Add New Note | How To

Notes

Bottom Section