playableUnits: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
(Fix page and example)
Line 1: Line 1:
{{Command|= Comments
{{Command|Comments=
____________________________________________________________________________________________
____________________________________________________________________________________________


| arma2 |= Game name
| arma2 |Game name=


|1.00|= Game version
|1.00|Game version=
____________________________________________________________________________________________
____________________________________________________________________________________________


| Returns a list of playable units in a multiplayer game (occupied by both AI or players), created on the following sides [[east]], [[west]], [[resistance]]/[[independent]] and [[civilian]] only. Does not contain units of [[sideLogic]]. This does not include dead players awaiting for respawn. |= Description
| Returns a list of playable units in a multiplayer game (occupied by both AI or players), created on the following sides [[east]]/[[opfor]], [[west]]/[[blufor]], [[resistance]]/[[independent]] and [[civilian]] only. Does not contain units of [[sideLogic]].<br />
{{Informative|This command returns an empty array in Singleplayer; use [[switchableUnits]] instead.}}
{{Important|This command does not include dead players awaiting for respawn.}} |Description=
____________________________________________________________________________________________
____________________________________________________________________________________________


| '''playableUnits''' |= Syntax
| [[playableUnits]] |Syntax=


|p1= |= PARAMETER1
| [[Array]] |RETURNVALUE=


|p2= |= PARAMETER2


|p3= |= PARAMETER3
|x1= <code>{ [[_x]] [[groupChat]] "I'm a playable unit."; } [[forEach]] [[playableUnits]];</code> |EXAMPLE1=
 
|x2= <code>_playableInGroup = [[units]] [[group]] [[player]] [[arrayIntersect]] [[playableUnits]];</code> |EXAMPLE2=
| [[Array]] |= RETURNVALUE
|x3= <code>_nonPlayableInGroup = [[units]] [[group]] [[player]] - [[playableUnits]];</code> |EXAMPLE3=
 
 
|x1= <code>{_x [[groupChat]] "I'm a playable unit.";} [[forEach]] [[playableUnits]];</code>|= EXAMPLE1
|x2= All playable units in a group:<code>_playableInGroup = [[units]] [[group]] [[player]] [[arrayIntersect]] [[playableUnits]];</code>|= EXAMPLE2
|x3= All non-playable units in a group:<code>_playableInGroup = [[units]] [[group]] [[player]] - [[playableUnits]];</code>|= EXAMPLE3
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[allPlayers]], [[allCurators]], [[allGroups]], [[allDead]], [[switchableUnits]], [[vehicles]], [[allUnitsUAV]], [[allDeadMen]], [[isPlayer]] |= SEEALSO
| [[allPlayers]], [[allCurators]], [[allGroups]], [[allDead]], [[switchableUnits]], [[vehicles]], [[allUnitsUAV]], [[allDeadMen]], [[isPlayer]] |SEEALSO=


| |= MPBEHAVIOUR
| |MPBEHAVIOUR=
____________________________________________________________________________________________
____________________________________________________________________________________________
}}
}}


<h3 style='display:none'>Notes</h3>
<dl class='command_description'>
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on July 13, 2009 - 11:35
<dt class="note">'''[[User:Killswitch|Killswitch]]'''<dd class="note">In single-player missions, this command will return an empty array.
<!-- Note Section END -->
</dl>


<h3 style='display:none'>Bottom Section</h3>
<h3 style='display:none'>Bottom Section</h3>
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:ArmA 2: New Scripting Commands List|{{uc:{{PAGENAME}}}}]]
[[Category:ArmA 2: New Scripting Commands List|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Multiplayer|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Multiplayer|{{uc:{{PAGENAME}}}}]]


<!-- CONTINUE Notes -->
 
<h3 style='display:none'>Notes</h3>
<dl class="command_description">
<dl class="command_description">
<dd class="notedate">Posted on December 23, 2014 - 23:13 (UTC)</dd>
<dd class="notedate">Posted on December 23, 2014 - 23:13 (UTC)</dd>
Line 61: Line 51:
};
};
} [[forEach]] [[playableUnits]];</code>
} [[forEach]] [[playableUnits]];</code>
</dd>
</dl>
<!-- DISCONTINUE Notes -->


<!-- CONTINUE Notes -->
<dd class="notedate">Posted on August 16, 2015 - 10:05 (UTC)
<dl class="command_description">
<dt class="note">[[User:FR Starfox64|FR Starfox64]]
<dd class="notedate">Posted on April 15, 2015 - 23:06 (UTC)</dd>
<dd class="note">[[playableUnits]] will not return dead players, use [[allPlayers]] instead.
<dt class="note">[[User:Bull A|Bull A]]</dt>
<dd class="note">
Quote:<code>[[User:Killswitch|Killswitch]]
In single-player missions, this command will return an empty array.</code>
 
Use the [[switchableUnits]] command instead
</dd>
</dl>
<!-- DISCONTINUE Notes -->
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on August 16, 2015 - 10:05 (UTC)</dd>
<dt class="note">[[User:FR Starfox64|FR Starfox64]]</dt>
<dd class="note">
[[playableUnits]] will not return dead players, use [[allPlayers]] instead.
</dd>
</dl>
<!-- DISCONTINUE Notes -->


<!-- CONTINUE Notes -->
<dd class="notedate">Posted on February 14, 2017 - 22:05 (UTC)
<dl class="command_description">
<dt class="note">[[User:Pierre MGI|Pierre MGI]]
<dd class="notedate">Posted on February 14, 2017 - 22:05 (UTC)</dd>
<dd class="note">Using the Editor (multiplayer attributes) for unchecking "enable AI", or disabling AI(s) in lobby, will make [[playableUnits]] as a public variable,  updated by each JIP on disabled slot.
<dt class="note">[[User:Pierre MGI|Pierre MGI]]</dt>
So, if all slots are disabled AI, playableUnits is same as allPlayers<br />
<dd class="note">
Furthermore, in this case, non-played slot (playable and disabled AI) units simply don't exist!<br/>
Using the Editor (multiplayer attributes) for unchecking "enable AI", or disabling AI(s) in lobby, will make [[playableUnits]] as a public variable,  updated by each JIP on disabled slot. So, if all slots are diabled AI, playableunits is same as allPlayers<br/>
i.e. If you name 8 playable units: u1..u8, then 2 players in game: u3 & u6<br />
Furthermore, in this case, non-played slot (playable and disabled AI) units simply don't exist!<br/> i.e. If you name 8 playable units: u1..to  u8, then 2 players in game: u3 & u6<br/>
playableUnits will return [u3,u6], and true for  isNil "u1", isNil "u2"... until another player takes the slot.
playableUnits will return [u3,u6], and true for  isNil "u1", isNil "u2"... until another player takes the slot.
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 01:36, 31 January 2019

Hover & click on the images for description

Description

Description:
Returns a list of playable units in a multiplayer game (occupied by both AI or players), created on the following sides east/opfor, west/blufor, resistance/independent and civilian only. Does not contain units of sideLogic.
This command returns an empty array in Singleplayer; use switchableUnits instead.
This command does not include dead players awaiting for respawn.
Groups:
Uncategorised

Syntax

Syntax:
playableUnits
Return Value:
Array

Examples

Example 1:
{ _x groupChat "I'm a playable unit."; } forEach playableUnits;
Example 2:
_playableInGroup = units group player arrayIntersect playableUnits;
Example 3:
_nonPlayableInGroup = units group player - playableUnits;

Additional Information

See also:
allPlayersallCuratorsallGroupsallDeadswitchableUnitsvehiclesallUnitsUAVallDeadMenisPlayer

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


Notes

Posted on December 23, 2014 - 23:13 (UTC)
DreadedEntity
To get a list of all player-controlled units: _allPlayers = []; { if (isPlayer _x) then { _allPlayers pushBack _x; }; } forEach playableUnits;
Posted on August 16, 2015 - 10:05 (UTC)
FR Starfox64
playableUnits will not return dead players, use allPlayers instead.
Posted on February 14, 2017 - 22:05 (UTC)
Pierre MGI
Using the Editor (multiplayer attributes) for unchecking "enable AI", or disabling AI(s) in lobby, will make playableUnits as a public variable, updated by each JIP on disabled slot. So, if all slots are disabled AI, playableUnits is same as allPlayers
Furthermore, in this case, non-played slot (playable and disabled AI) units simply don't exist!
i.e. If you name 8 playable units: u1..u8, then 2 players in game: u3 & u6
playableUnits will return [u3,u6], and true for isNil "u1", isNil "u2"... until another player takes the slot.