onPlayerConnected: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|seealso= *\[\[([^ ]+)\]\], \[\[([^ ]+)\]\]" to "|seealso= $1 $2")
m (Text replacement - "<code>([^\[]+)<\/code>" to "<sqf>$1</sqf>")
 
(9 intermediate revisions by the same user not shown)
Line 40: Line 40:
|r1= [[Nothing]]
|r1= [[Nothing]]


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


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


|x3= From {{arma3}} v1.49:
|x3= From {{arma3}} v1.49:
<code>[[onPlayerConnected]] {
<sqf>onPlayerConnected {
somevar = [[random]] 123;
somevar = random 123;
_owner [[publicVariableClient]] "somevar";
_owner publicVariableClient "somevar";
{{cc|this will define "somevar" to a random value on the joining machine}}
// this will define "somevar" to a random value on the joining machine
};</code>
};</sqf>


|mp= {{Feature | important | A player with the '''_name''' {{hl|__SERVER__}} will also connect to a multiplayer game, executing ''code''.}}
|mp= {{Feature | important | A player with the '''_name''' {{hl|__SERVER__}} will also connect to a multiplayer game, executing ''code''.}}

Latest revision as of 21:08, 13 May 2022

Hover & click on the images for description

Description

Description:
This command will execute the provided code on the server whenever a player connects to a multiplayer session.
Arma 3
Since Arma 3 v1.57 a stackable MissionEventHandler is available and should be used: PlayerConnected.
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.
Multiplayer:
A player with the _name __SERVER__ will also connect to a multiplayer game, executing code.
Groups:
MultiplayerEvent Handlers

Syntax

Syntax:
onPlayerConnected code
Parameters:
code: String or Code - has access to the following 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.
  • Arma 3 logo black.png1.50 _jip: 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.
  • Arma 3 logo black.png1.50 _owner: Number - is owner id of the joining 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:
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 define "somevar" to a random value on the joining machine };

Additional Information

See also:
onPlayerDisconnected didJIP didJIPOwner

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