targetsAggregate: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Some wiki formatting)
(Updated SEE ALSO)
 
(6 intermediate revisions by one other user not shown)
Line 17: Line 17:
|gr1= Object Manipulation
|gr1= Object Manipulation


|s1= [speaker, side, unit, place, time] [[targetsAggregate]] candidates
|s1= [speaker, side, classname, position, timeMax] [[targetsAggregate]] candidates


|p1= [speaker, side, unit, place, time]: [[Array]]
|p1= speaker: [[Object]]


|p2= candidates: [[Array]] -  array of targets in the following format:
|p2= side: [[Side]] - if provided, a target with a side matching ''side'' will see it replaced by {{hl|"$"}}
[<nowiki/>[accuracy, target, targetSide, targetType, targetPosition, targetAge], ...] where:
 
|p3= classname: [[String]] - {{hl|CfgVehicles}} classname - if provided, a target with a type matching ''classname'' will see it replaced by {{hl|"$"}}
 
|p4= position: [[Array]] format [[Position]] (Z-value is ignored) - centre of a hardcoded 200m radius
 
|p5= timeMax: [[Number]] - max age of the target
 
|p6= candidates: [[Array]] -  array of targets in format [<nowiki/>[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
* 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
* target: [[Object]] - the actual target object
* targetSide: [[Side]] - side of the target
* targetSide: [[Side]] - side of the target
* targetType: [[String]] - target [[typeOf]]
* targetType: [[String]] - target [[typeOf]]
* targetPosition: [[Array]] - [x,y] of the target  
* targetPosition: [[Array]] format [[Position#Introduction|Position2D]] - [x,y] of the target  
* targetAge: [[Number]] - the actual target age in seconds (can be negative)
* targetAge: [[Number]] - the actual target age in seconds (can be negative)
{{Feature|informative|See [[targetsQuery]] format.}}


|r1= [[Array]]
|r1= [[Array]] format [countInfo, sideInfo, unitInfo, placeInfo, timeInfo, uCountInfo, uTypeInfo]:
* countInfo: [[Array]] - [<nowiki/>[[format]] ["COUNT%1", index], count on index]
* sideInfo: [[Array]] - [<nowiki/>[[format]] ["SIDE%1", index], side or string] if string then $ == "equal to queried"
* unitInfo: [[Array]] - [<nowiki/>[[format]] ["UNIT%1", index], string]  $ == "equal to queried", otherwise the "type" of the unit? Should be CfgVehicles config type I think
* placeInfo: [[Array]] - [<nowiki/>[[format]] ["PLACE%1", index], [[centerX, centerY], radius]]
* timeInfo: [[Array]] - [<nowiki/>[[format]] ["TIME%1", index], string or array] if string then $ == "equal to queried", otherwise [timeMin, timeMax]
* uCountInfo: [[Array]] - [<nowiki/>[[format]] ["UCOUNT%1", index], scalar count]
* uTypeInfo: [[Array]] - [<nowiki/>[[format]] ["UTYPE%1", index], string name] a classname? Will be format ["*%1", classname] if count &gt; 1


|x1= <code>_aggregation = [<nowiki/>[[player]], [[sideEnemy]], "", [], 0] [[targetsAggregate]] ([[player]] [[targetsQuery]] [<nowiki/>[[objNull]], [[sideUnknown]], "", [], 0]);
|x1= <sqf>_aggregation = [player, sideEnemy, "", [], 0] targetsAggregate (player targetsQuery [objNull, sideUnknown, "", [], 0]);
{{codecomment|<nowiki>/*
/*
returns e.g
returns e.g
[
[
Line 46: Line 61:
]
]
]
]
*/</nowiki>}}</code>
*/
 
</sqf>
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)
<sqf>
/*
[
[["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"]]
]
*/
</sqf>


|seealso= [[targetsQuery]], [[forgetTarget]]
|seealso= [[targets]] [[targetsQuery]] [[nearTargets]] [[targetKnowledge]] [[knowsAbout]] [[reveal]] [[forgetTarget]] [[setTargetAge]] [[getHideFrom]]
}}
}}

Latest revision as of 12:37, 7 September 2022

Hover & click on the images for description

Description

Description:
Aggregate candidates.
Groups:
Object Manipulation

Syntax

Syntax:
[speaker, side, classname, position, timeMax] targetsAggregate candidates
Parameters:
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

Examples

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

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