onPlayerConnected: Difference between revisions
Jump to navigation
Jump to search
m (Text replacement - "\[\[Category:[cC]ommand[_ ][gG]roup:[_ ][^|]+\|\{*uc:{{PAGENAME}*]\]" to "") |
Lou Montana (talk | contribs) 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...) |
||
Line 1: | Line 1: | ||
{{Command | {{Command | ||
| arma1 | | arma1 | ||
|1.00 | |1.00 | ||
|gr1 = Multiplayer | |gr1 = Multiplayer | ||
|gr2= Event Handlers | |gr2= Event Handlers | ||
Line 20: | Line 20: | ||
* '''_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> | * '''_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|arma3 | Since '''Arma 3''' ''v1.57'' a stackable MissionEventHandler is available and should be used: [[Arma_3:_Event_Handlers/addMissionEventHandler#PlayerConnected|PlayerConnected]].<br> | {{Feature|arma3 | Since '''Arma 3''' ''v1.57'' a stackable MissionEventHandler is available and should be used: [[Arma_3:_Event_Handlers/addMissionEventHandler#PlayerConnected|PlayerConnected]].<br> | ||
Before that, the functions [[BIS_fnc_addStackedEventHandler]] and [[BIS_fnc_removeStackedEventHandler]] should be used instead in order to keep compatibility between official and community content.}} | Before that, the functions [[BIS_fnc_addStackedEventHandler]] and [[BIS_fnc_removeStackedEventHandler]] should be used instead in order to keep compatibility between official and community content.}} | ||
| [[onPlayerConnected]] code | | [[onPlayerConnected]] code | ||
|p1= code: [[String]] or [[Code]] | |p1= code: [[String]] or [[Code]] | ||
| [[Nothing]] | | [[Nothing]] | ||
|x1= <code>[[onPlayerConnected]] "[_id, _name] [[execVM]] ""PlayerConnected.sqf""";</code> | |x1= <code>[[onPlayerConnected]] "[_id, _name] [[execVM]] ""PlayerConnected.sqf""";</code> | ||
|x2= <code>[[onPlayerConnected]] { [[diag_log]] [_id, _uid, _name] };</code> | |x2= <code>[[onPlayerConnected]] { [[diag_log]] [_id, _uid, _name] };</code> | ||
|x3= From '''{{arma3}}''' v1.49: | |x3= From '''{{arma3}}''' v1.49: | ||
Line 38: | Line 38: | ||
{{cc|this will set somevar}} | {{cc|this will set somevar}} | ||
{{cc|joining player PC to a random value}} | {{cc|joining player PC to a random value}} | ||
};</code> | };</code> | ||
|x4= From '''{{arma3}}''' v1.49: | |x4= From '''{{arma3}}''' v1.49: | ||
<code>[[onPlayerConnected]] { isJip = _jip; _owner [[publicVariableClient]] "isJip" }; | <code>[[onPlayerConnected]] { isJip = _jip; _owner [[publicVariableClient]] "isJip" }; | ||
{{cc|Each player will now have variable isJip containing individual JIP info}}</code> | {{cc|Each player will now have variable isJip containing individual JIP info}}</code> | ||
|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> | ||
Line 48: | Line 48: | ||
Note that there is a player with the '''_name''' called __SERVER__ which will also connect to a multiplayer game, executing ''code''. |Multiplayer= | Note that there is a player with the '''_name''' called __SERVER__ which will also connect to a multiplayer game, executing ''code''. |Multiplayer= | ||
| [[onPlayerDisconnected]], [[didJIP]], [[didJIPOwner]] | | [[onPlayerDisconnected]], [[didJIP]], [[didJIPOwner]] | ||
}} | }} | ||
Revision as of 01:31, 18 January 2021
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.
- _idstr: (since Arma 3 v1.95) String - same as _id but in string format, so could be exactly compared to user marker ids.
- 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. - Groups:
- MultiplayerEvent Handlers
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 // 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
- See also:
- onPlayerDisconnecteddidJIPdidJIPOwner
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
Bottom Section
Categories:
- Scripting Commands
- Introduced with Armed Assault version 1.00
- ArmA: Armed Assault: New Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Command Group: Multiplayer
- Command Group: Event Handlers
- Scripting Commands: Server Execution
- Operation Flashpoint: Elite: Scripting Commands
- Arma 2: Scripting Commands
- Arma 3: Scripting Commands
- Take On Helicopters: Scripting Commands