inAreaArrayIndexes: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
No edit summary
 
(4 intermediate revisions by one other user not shown)
Line 3: Line 3:
|game1= arma3
|game1= arma3
|version1= 2.14
|version1= 2.14
|branch= dev


|gr1= Triggers
|gr1= Triggers
Line 13: Line 12:
|gr4= Positions
|gr4= Positions


|gr4= Groups
|gr5= Groups


|descr= Checks if positions given in [[Array]] of positions are within the given area and returns the indexes of matching elements.
|descr= Returns indices of positions that are within the provided area.
 
{{Feature|important|Unlike [[inAreaArray]], ''area'' 'center' position is [[Position#PositionASL|PositionASL]].}}


|s1= positions [[inAreaArrayIndexes]] area
|s1= positions [[inAreaArrayIndexes]] area
Line 24: Line 25:
* [[Location]]s - locations
* [[Location]]s - locations
* [[String]]s - markers
* [[String]]s - markers
* [[Group]]s - AI groups, the position is the [[leader]] position
* [[Group]]s - AI groups, the position is the [[leader]]'s position


|p2= area: [[Array]] or [[Object]] or [[Location]] or [[String]], where:
|p2= area: [[Array]] or [[Object]] or [[Location]] or [[String]], where:
* [[Array]] - in format [center, a, b, angle, isRectangle, c] or polygon in format [point1, point2, point2,...]
* [[Array]] - in format:
** [centre, a, b, angle, isRectangle, c] - area
*** centre: [[Array]] format [[Position#PositionASL|PositionASL]]
*** a: [[Number]] - area X size / 2, in metres
*** b: [[Number]] - area Y size / 2, in metres
*** angle: [[Number]] - area rotation in degrees
*** isRectangle: [[Boolean]] - as the name says
*** c: [[Number]] - area Z size / 2; -1 for infinite height
** [point1, point2, point3, ...] - polygon
* [[Object]] - trigger
* [[Object]] - trigger
* [[Location]] - location
* [[Location]] - location
* [[String]] - marker
* [[String]] - marker


|r1= [[Array]] of [[Number]]s - indexes of matching elements in 'positions' [[Array]]
|r1= [[Array]] of [[Number]]s - indices of ''positions''<nowiki/>'s matching elements
 
|x1= <sqf>allUnits inAreaArrayIndexes myTrigger;</sqf>
 
|x2= <sqf>allMapMarkers inAreaArrayIndexes "myMarker";</sqf>
 
|x3= <sqf>allPlayers inAreaArrayIndexes myLocation;</sqf>
 
|x4= <sqf>allGroups inAreaArrayIndexes [[100, 100, 0], 20, 30, 45, false, 10];</sqf>


|x1= <sqf>
private _players = call BIS_fnc_listPlayers;
private _indices = _players inAreaArrayIndexes _marker;
{
private _player = _players select _x;
["You are in the marker!"] remoteExec ["hint", _player];
} forEach _indices;
</sqf>


|seealso= [[inAreaArray]] [[inArea]] [[triggerArea]]
|seealso= [[inAreaArray]] [[inArea]] [[triggerArea]]
}}
}}

Latest revision as of 18:29, 14 May 2024

Hover & click on the images for description

Description

Description:
Returns indices of positions that are within the provided area.
Unlike inAreaArray, area 'center' position is PositionASL.
Groups:
TriggersMarkersLocationsPositionsGroups

Syntax

Syntax:
positions inAreaArrayIndexes area
Parameters:
positions: Array of Objects and/or Positions and/or Locations and/or Strings and/or Groups, where:
area: Array or Object or Location or String, where:
  • Array - in format:
    • [centre, a, b, angle, isRectangle, c] - area
      • centre: Array format PositionASL
      • a: Number - area X size / 2, in metres
      • b: Number - area Y size / 2, in metres
      • angle: Number - area rotation in degrees
      • isRectangle: Boolean - as the name says
      • c: Number - area Z size / 2; -1 for infinite height
    • [point1, point2, point3, ...] - polygon
  • Object - trigger
  • Location - location
  • String - marker
Return Value:
Array of Numbers - indices of positions's matching elements

Examples

Example 1:
private _players = call BIS_fnc_listPlayers; private _indices = _players inAreaArrayIndexes _marker; { private _player = _players select _x; ["You are in the marker!"] remoteExec ["hint", _player]; } forEach _indices;

Additional Information

See also:
inAreaArray inArea triggerArea

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