Difference between revisions of "onPlayerConnected"
Jump to navigation
Jump to search
m (Inverted _jip and _owner to reflect same order as PlayerConnected) |
Lou Montana (talk | contribs) m (Text replacement - " {3,}\|" to " |") |
||
(28 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | {{Command | + | {{Command |
− | |||
− | | | + | | arma1 |
− | |1.00|= | + | |1.00 |
− | | | + | |
− | + | |gr1 = Multiplayer | |
+ | |||
+ | |gr2= Event Handlers | ||
+ | |||
+ | |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: | ||
− | |||
* '''_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. | ||
− | + | * '''_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]]. | |
− | * '''_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]] | ||
* '''_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]]. | ||
− | {{ | + | * '''_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 |
− | |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 | + | |
+ | |x3= From '''{{arma3}}''' v1.49: | ||
+ | <code>[[onPlayerConnected]] { | ||
somevar = [[random]] 123; | somevar = [[random]] 123; | ||
_owner [[publicVariableClient]] "somevar"; | _owner [[publicVariableClient]] "somevar"; | ||
− | + | {{cc|this will set somevar}} | |
− | + | {{cc|joining player PC to a random value}} | |
− | };</code> | + | };</code> |
− | |x4= From | + | |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 ''code''. |= | + | 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]] | ||
}} | }} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[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 17:38, 18 January 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
- ArmA: Armed Assault: Scripting Commands
- ArmA: Armed Assault: New Scripting Commands
- Command Group: Multiplayer
- Command Group: Event Handlers
- Introduced with Armed Assault version 1.00
- Commands requiring server side execution
- Operation Flashpoint: Elite: Scripting Commands
- Arma 2: Scripting Commands
- Arma 3: Scripting Commands
- Take On Helicopters: Scripting Commands