nearEntities: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) (mp argument, example format) |
No edit summary |
||
Line 69: | Line 69: | ||
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]] | ||
<!-- CONTINUE Notes --> | |||
<dl class="command_description"> | |||
<dd class="notedate">Posted on February 3, 2015 - 21:30 (UTC)</dd> | |||
<dt class="note">[[User:Pierre MGI|Pierre MGI]]</dt> | |||
<dd class="note"> | |||
This kind of functions remains FPS killer if you can't manage conditions in order to reduce operations for each entity or, to reduce the number of entities. | |||
One of the most demanding CPU/GPU resource is probably a DrawIcon3D treatment for these entities. | |||
Don't stay with a simple radius condition (disk selecting entities). | |||
Each time you can treat visible entities, as icons displaying, try to restrict this function to your screen. | |||
For example: | |||
if (((worldToScreen (visiblePosition _x)) select 0 > (0 * safezoneW + safezoneX)) && | |||
((worldToScreen (visiblePosition _x)) select 0 <(1 * safezoneW + safezoneX))) then {...} foreach _pos nearEntities _radius | |||
</dd> | |||
</dl> | |||
<!-- DISCONTINUE Notes --> |
Revision as of 22:30, 3 February 2015
Description
- Description:
- Find entities in the circle with given radius. If typeName(s) is (are) given, only entities of given type (or its subtype) are listed. This command returns only alive entities. If you need to return dead entities as well use entities command.
- Groups:
- Uncategorised
Syntax
- Syntax:
- position nearEntities radius
- Parameters:
- position: Object or Array (format Position) - center of the circle
- radius: Number - radius of the circle
- Return Value:
- Array of Objects
Alternative Syntax
- Syntax:
- position nearEntities [typeName, radius]
- Parameters:
- position: Object or Array (format Position) - center of the circle
- [typeName, radius]: Array
- typeName: String or Array of Strings - typeName(s) to search for
- radius: Number - radius of the circle
- Return Value:
- Array of Objects
Examples
- Example 1:
_list = player nearEntities 20; _list = (position player) nearEntities 50; _list = player nearEntities ["Man", 1000]; _list = (position player) nearEntities ["LaserTarget", 3000]; _list = player nearEntities [["Car", "Motorcycle", "Tank"], 50]; _list = (position player) nearEntities [["Man", "Air", "Car", "Motorcycle", "Tank"], 200];
Additional Information
- See also:
- findNearestEnemynearestBuildingnearestObjectnearestObjectsnearObjectsnearestLocationnearTargetsnearSuppliesnearestLocationWithDubbingnearObjectsReadynearRoads
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 27 Mar, 2014
- Floriangeyer
- According to Code Optimisation, this function is the fastest and should be used instead of nearestObjects.
Bottom Section
- Posted on February 3, 2015 - 21:30 (UTC)
- Pierre MGI
- This kind of functions remains FPS killer if you can't manage conditions in order to reduce operations for each entity or, to reduce the number of entities. One of the most demanding CPU/GPU resource is probably a DrawIcon3D treatment for these entities. Don't stay with a simple radius condition (disk selecting entities). Each time you can treat visible entities, as icons displaying, try to restrict this function to your screen. For example: if (((worldToScreen (visiblePosition _x)) select 0 > (0 * safezoneW + safezoneX)) && ((worldToScreen (visiblePosition _x)) select 0 <(1 * safezoneW + safezoneX))) then {...} foreach _pos nearEntities _radius