nearestObjects: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(pos formats)
(sorting is according to distance 2d)
Line 25: Line 25:
A list of ClassName types (Tanks eg) can be found in [[CfgVehicles]]
A list of ClassName types (Tanks eg) can be found in [[CfgVehicles]]


If more than one object is found they will be ordered according to their distance (i.e. the closest one will be first in the array).
If more than one object is found they will be ordered according to [[distance2D]] to the object (i.e. the closest one will be first in the array).
|= Description
|= Description
____________________________________________________________________________________________
____________________________________________________________________________________________
Line 35: Line 35:
|p3= radius: [[Number]] - range from center position to search for objects. |=Parameter 3
|p3= radius: [[Number]] - range from center position to search for objects. |=Parameter 3


| [[Array]] - array of objects |= Return value
| [[Array]] - array of objects sorted according to [[distance2D]] |= Return value
____________________________________________________________________________________________
____________________________________________________________________________________________
   
   

Revision as of 17:24, 15 November 2015

-wrong parameter ("Arma") defined!-1.00
Hover & click on the images for description

Description

Description:
Returns a list of nearest objects of the given types to the given position or object, within the specified distance. position can use the format: [[x,y,z], ["ClassName",...], radius] or [object, ["ClassName",...], radius] To use it without any ClassName filter: [object or position, [], radius]. A list of ClassName types (Tanks eg) can be found in CfgVehicles If more than one object is found they will be ordered according to distance2D to the object (i.e. the closest one will be first in the array).
Groups:
Uncategorised

Syntax

Syntax:
nearestObjects [position, types, radius]
Parameters:
position: Object or Array in format PositionAGL or Position2D - where to find objects, center position.
types: Array - list of class name of the objects to search for.
radius: Number - range from center position to search for objects.
Return Value:
Array - array of objects sorted according to distance2D

Examples

Example 1:
nearestObjects [player, ["Car","Tank"], 200];
Example 2:
nearestObjects [player, ["house"], 200];
Example 3:
nearestObjects [[2716,2949,0], ["Car","Truck"], 100];
Example 4:
Return every object in 50 metres radius around player:nearestObjects [player, [], 50]

Additional Information

See also:
findNearestEnemynearestBuildingnearestObjectnearObjectsnearestLocationnearEntitiesnearTargetsnearSuppliesnearestLocationWithDubbingnearObjectsReadynearRoads

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

Notes

Posted on unknown
Vigilante
To get a list with alive targets for various situations use this construct: _nearestTargets = nearestObjects [_submunScanPos, ["VBS2_TANK","TANK"], _scanArea]; _validNearestTargets = []; {if (alive _x) then {_validNearestTargets set [(count _validNearestTargets),_x];};} forEach _nearestTargets; results in _validNearestTargets being filled with targets == alive .. (you could use other conditions there, of course!) -- Vigilante
Posted on 10. Aug. 2010
Rübe
Passing an empty array to define the types will also return objects with no class at all (such as trees, bushes, stones, ...). Example: _objects = nearestObjects [_position, [], _radius]; Passing the array ["All"] is not the same and will only return objects that have some sort of class.
Posted on 11.09.2013
Katulobotomia
If you want to detect nearby grenades for the position of a unit, for example, using 'nearestObjects' won't work. You have to use 'nearObjects' instead. count (nearestObjects [_unit, ["GrenadeHand"], 30]) // WON'T WORK Won't ever return anything but 0. count (_unit nearObjects ["GrenadeHand", 30]) // WORKS! Will work.
Posted on March 22, 2014
AgentRev
The distance from which an object is determined to be inside the radius is calculated from its model center (object modelToWorld [0,0,0]), and not the position returned by getPos/ATL/ASL. If an object is used as the origin from which to scan, distance is calculated from its model center as well.

Bottom Section

Posted on October 26, 2014 - 15:15 (UTC)
Killzone Kid
Return all trees in 100m radius around player: trees = []; { if (str _x find ": t_" > -1) then { trees pushBack _x; }; } forEach nearestObjects [player, [], 100];
Posted on August 27, 2015 - 16:45 (UTC)
Tankbuster
If you use "Man" as the class to look for, it will only find dismounted men. IE, men in vehicles will NOT be found.