onPlayerConnected: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[Category:[ _]?Scripting[ _]Commands[ _]Arma[ _]2(\|.*)\]\]" to "{{GameCategory|arma2|Scripting Commands}}")
m (Text replacement - "\|gr([0-9]+) = " to "|gr$1= ")
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command
____________________________________________________________________________________________


| arma1 |Game name=
| arma1


|1.00|Game version=
|1.00


|gr1 = Multiplayer |GROUP1=
|gr1= Multiplayer


|gr2= Event Handlers |GROUP2=
|gr2= Event Handlers


 
|serverExec= server
|serverExec= server |Exec=
____________________________________________________________________________________________


| This command will execute attached code whenever a player is connected to a MP session. The code will receive a number of special variables:
| This command will execute attached code whenever a player is connected to a MP session. The code will receive a number of special variables:
Line 22: Line 19:
* '''_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.}}|DESCRIPTION=
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 |SYNTAX=
| [[onPlayerConnected]] code


|p1= code: [[String]] or [[Code]] |PARAMETER1=
|p1= code: [[String]] or [[Code]]


| [[Nothing]] |RETURNVALUE=
| [[Nothing]]
____________________________________________________________________________________________


|x1= <code>[[onPlayerConnected]] "[_id, _name] [[execVM]] ""PlayerConnected.sqf""";</code> |EXAMPLE1=
|x1= <code>[[onPlayerConnected]] "[_id, _name] [[execVM]] ""PlayerConnected.sqf""";</code>


|x2= <code>[[onPlayerConnected]] { [[diag_log]] [_id, _uid, _name] };</code> |EXAMPLE2=
|x2= <code>[[onPlayerConnected]] { [[diag_log]] [_id, _uid, _name] };</code>


|x3= From '''{{arma3}}''' v1.49:
|x3= From '''{{arma3}}''' v1.49:
Line 42: Line 37:
{{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>|EXAMPLE3=
};</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> |EXAMPLE4=
{{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>
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 ''code''. |Multiplayer=
Note that there is a player with the '''_name''' called __SERVER__ which will also connect to a multiplayer game, executing ''code''.


| [[onPlayerDisconnected]], [[didJIP]], [[didJIPOwner]]|SEEALSO=
|seealso= [[onPlayerDisconnected]], [[didJIP]], [[didJIPOwner]]
}}
}}


<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
<h3 style="display:none">Bottom Section</h3>


[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP Elite |{{uc:{{PAGENAME}}}}]]
{{GameCategory|ofpe|Scripting Commands}}
{{GameCategory|arma1|Scripting Commands}}
{{GameCategory|arma1|Scripting Commands}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]]
{{GameCategory|tkoh|Scripting Commands}}
[[Category:Command_Group:_Multiplayer|{{uc:{{PAGENAME}}}}]]

Revision as of 13:47, 11 April 2021

Hover & click on the images for description

Description

Description:
Description needed
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:
Syntax needed
Parameters:
code: String or Code
Return Value:
Return value needed

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