From Bohemia Interactive Community
Jump to navigation Jump to search
Hover & click on the images for description


Aggregate candidates.
Object Manipulation


[speaker, side, classname, position, timeMax] targetsAggregate candidates
speaker: Object
side: Side - if provided, a target with a side matching side will see it replaced by "$"
classname: String - CfgVehicles classname - if provided, a target with a type matching classname will see it replaced by "$"
position: Array format Position (Z-value is ignored) - centre of a hardcoded 200m radius
timeMax: Number - max age of the target
candidates: Array - array of targets in format [[accuracy, target, targetSide, targetType, targetPosition, targetAge], ...] where:
  • accuracy: Number - a coefficient, which reflects how close the returned result to the query filter. Range: 0..1, 1 being the best match
  • target: Object - the actual target object
  • targetSide: Side - side of the target
  • targetType: String - target typeOf
  • targetPosition: Array format Position2D - [x,y] of the target
  • targetAge: Number - the actual target age in seconds (can be negative)
See targetsQuery format.
Return Value:
Array format [countInfo, sideInfo, unitInfo, placeInfo, timeInfo, uCountInfo, uTypeInfo]:
  • countInfo: Array - [format ["COUNT%1", index], count on index]
  • sideInfo: Array - [format ["SIDE%1", index], side or string] if string then $ == "equal to queried"
  • unitInfo: Array - [format ["UNIT%1", index], string] $ == "equal to queried", otherwise the "type" of the unit? Should be CfgVehicles config type I think
  • placeInfo: Array - [format ["PLACE%1", index], [[centerX, centerY], radius]]
  • timeInfo: Array - [format ["TIME%1", index], string or array] if string then $ == "equal to queried", otherwise [timeMin, timeMax]
  • uCountInfo: Array - [format ["UCOUNT%1", index], scalar count]
  • uTypeInfo: Array - [format ["UTYPE%1", index], string name] a classname? Will be format ["*%1", classname] if count > 1


Example 1:
_aggregation = [player, sideEnemy, "", [], 0] targetsAggregate (player targetsQuery [objNull, sideUnknown, "", [], 0]); /* returns e.g [ [ ["COUNT0", 1], ["SIDE0", WEST], ["UNIT0", "B_Soldier_F"], ["PLACE0", [[<null>,<null>], 0, <null>]], ["TIME0", [-0.9, -0.9]], ["UCOUNT0", 1], ["UTYPE0", ... ] ] */
with e.g
  • one Orca Helicopter
  • one T-100 Varsuk tank
  • one T-140K Angara tank
  • one MBT-52 Kuma tank (independent, set as enemy to blufor)
/* [ [["COUNT0",1],["SIDE0",EAST],["UNIT0","O_Heli_Light_02_dynamicLoadout_F"],["PLACE0",[[<null>,<null>],0,<null>]],["TIME0",[-0.982,-0.982]],["UCOUNT0",1],["UTYPE0","O_Heli_Light_02_dynamicLoadout_F"]], [["COUNT1",1],["SIDE1",GUER],["UNIT1","I_MBT_03_cannon_F"],["PLACE1",[[<null>,<null>],0,<null>]],["TIME1",[-0.982,-0.982]],["UCOUNT1",1],["UTYPE1","I_MBT_03_cannon_F"]], [["COUNT2",2],["SIDE2",EAST],["UNIT2","*Tank_F"],["PLACE2",[[<null>,<null>],4.34554,<null>]],["TIME2",[-0.982,-0.982]],["UCOUNT2",2],["UTYPE2","*O_MBT_02_cannon_F"]]] [ [["COUNT0",1],["SIDE0",EAST],["UNIT0","O_Heli_Light_02_dynamicLoadout_F"],["PLACE0",[[<null>,<null>],0,<null>]],["TIME0",[-1,-1]],["UCOUNT0",1],["UTYPE0","O_Heli_Light_02_dynamicLoadout_F"]], [["COUNT1",1],["SIDE1",GUER],["UNIT1","I_MBT_03_cannon_F"],["PLACE1",[[<null>,<null>],0,<null>]],["TIME1",[-1,-1]],["UCOUNT1",1],["UTYPE1","I_MBT_03_cannon_F"]], [["COUNT2",2],["SIDE2",EAST],["UNIT2","*Tank_F"],["PLACE2",[[<null>,<null>],4.34565,<null>]],["TIME2",[-1,-1]],["UCOUNT2",2],["UTYPE2","*O_MBT_02_cannon_F"]] ] */

Additional Information

See also:
targets targetsQuery nearTargets targetKnowledge knowsAbout reveal forgetTarget setTargetAge getHideFrom


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