Difference between revisions of "onPlayerConnected"
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) (serverexec) |
Lou Montana (talk | contribs) m (Text replacement - "\| *((\[\[[a-zA-Z0-9_ |()]+\]\],? ?)+) * \}\}" to "|seealso= $1 }}") |
||
(42 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{RV|type=command |
− | |||
− | | | + | | arma1 |
− | |1.00 | + | |1.00 |
− | |||
− | |||
− | | | + | |gr1 = Multiplayer |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | + | |gr2= Event Handlers |
− | | | + | |serverExec= server |
− | | [[ | + | | 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 ('''J'''oined '''I'''n '''P'''rogress). [[true]] when the player is [[Multiplayer Scripting#Join In Progress|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 <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> | ||
+ | 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 | |
− | |x1= <code>onPlayerConnected "[_id, _name] execVM ""PlayerConnected.sqf""";</code> | + | |
− | |x2= <code>[[onPlayerConnected]] {[[diag_log]] [_id, _uid, _name]};</code> |= | + | |p1= code: [[String]] or [[Code]] |
+ | |||
+ | | [[Nothing]] | ||
+ | |||
+ | |x1= <code>[[onPlayerConnected]] "[_id, _name] [[execVM]] ""PlayerConnected.sqf""";</code> | ||
+ | |||
+ | |x2= <code>[[onPlayerConnected]] { [[diag_log]] [_id, _uid, _name] };</code> | ||
+ | |||
+ | |x3= From '''{{arma3}}''' v1.49: | ||
+ | <code>[[onPlayerConnected]] { | ||
+ | somevar = [[random]] 123; | ||
+ | _owner [[publicVariableClient]] "somevar"; | ||
+ | {{cc|this will set somevar}} | ||
+ | {{cc|joining player PC to a random value}} | ||
+ | };</code> | ||
+ | |||
+ | |x4= From '''{{arma3}}''' v1.49: | ||
+ | <code>[[onPlayerConnected]] { isJip = _jip; _owner [[publicVariableClient]] "isJip" }; | ||
+ | {{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 '' | + | Note that there is a player with the '''_name''' called __SERVER__ which will also connect to a multiplayer game, executing ''code''. |
− | |||
− | |||
+ | |seealso= [[onPlayerDisconnected]], [[didJIP]], [[didJIPOwner]] | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[Category:Scripting Commands | + | [[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]] |
− | + | {{GameCategory|ofpe|Scripting Commands}} | |
− | + | {{GameCategory|arma1|Scripting Commands}} | |
− | + | {{GameCategory|arma2|Scripting Commands}} | |
− | + | {{GameCategory|arma3|Scripting Commands}} | |
− | + | {{GameCategory|tkoh|Scripting Commands}} | |
− |
Latest revision as of 23:53, 16 February 2021
Hover & click on the images for descriptions
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.
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.
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
- Groups:
- MultiplayerEvent Handlers
Notes
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
- Operation Flashpoint: Elite: Scripting Commands
- Arma 2: Scripting Commands
- Arma 3: Scripting Commands
- Take On Helicopters: Scripting Commands