isPlayer: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " \| *(game[0-9]|version[0-9]|gr[0-9]|serverExec|mp|pr|descr|s[0-9]|p[0-9]{1,3}|r[0-9]|x1?[0-9]|seealso) *= +" to " |$1= ")
No edit summary
Line 22: Line 22:
|descr= Checks if given person is a [[player]]. Returns [[true]] for headless clients as well.<br>
|descr= Checks if given person is a [[player]]. Returns [[true]] for headless clients as well.<br>
{{Feature | Warning | In some cases, the identity of certain player units might fail to propagate to other clients and the server, which causes [[isPlayer]] and [[getPlayerUID]] to incorrectly return <tt>[[false]]</tt> and <tt>""</tt>, respectively, where the affected units are [[not]] [[local]].<ref>https://github.com/michail-nikolaev/task-force-arma-3-radio/issues/1096</ref> Therefore, beware of false negatives.}}
{{Feature | Warning | In some cases, the identity of certain player units might fail to propagate to other clients and the server, which causes [[isPlayer]] and [[getPlayerUID]] to incorrectly return <tt>[[false]]</tt> and <tt>""</tt>, respectively, where the affected units are [[not]] [[local]].<ref>https://github.com/michail-nikolaev/task-force-arma-3-radio/issues/1096</ref> Therefore, beware of false negatives.}}
{{Feature|Informative| Since Arma v2.05.147834 dead players could be queried with alt syntax version of the command. While identity still exists on the dead body of a player this command will return [[true]].}}


|s1= [[isPlayer]]  unit
|s1= [[isPlayer]]  unit
Line 28: Line 29:


|r1= [[Boolean]]
|r1= [[Boolean]]
|s2= [[isPlayer]] [person] &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;''(Since Arma v2.05.147834)''
|p21= [person]: [[Array]]
|p22= person: [[Object]] - dead or alive player
|r2= [[Boolean]] - [[true]] if is/was player


|x1= <code>[[if]] ([[isPlayer]] _Soldier1) [[then]] {
|x1= <code>[[if]] ([[isPlayer]] _Soldier1) [[then]] {

Revision as of 22:41, 30 June 2021

Hover & click on the images for description

Description

Description:
Checks if given person is a player. Returns true for headless clients as well.
In some cases, the identity of certain player units might fail to propagate to other clients and the server, which causes isPlayer and getPlayerUID to incorrectly return false and "", respectively, where the affected units are not local.[1] Therefore, beware of false negatives.
Since Arma v2.05.147834 dead players could be queried with alt syntax version of the command. While identity still exists on the dead body of a player this command will return true.
Groups:
Multiplayer

Syntax

Syntax:
isPlayer unit
Parameters:
unit: Object
Return Value:
Boolean

Alternative Syntax

Syntax:
isPlayer [person]        (Since Arma v2.05.147834)
Parameters:
[person]: Array
person: Object - dead or alive player
Return Value:
Boolean - true if is/was player

Examples

Example 1:
if (isPlayer _Soldier1) then { _Soldier1 setDamage 1; };
Example 2:
_playerCount = {isPlayer _x} count playableUnits;

Additional Information

See also:
playerplayableSlotsNumberplayableUnitsplayersNumber

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
Posted on 1 August, 2006
Kronzky
This is not the same as testing object == player, because in MP it tests for any player, not only for the local one. If object is a vehicle, the test is done for the vehicle commander.