isFlatEmpty

From Bohemia Interactive Community
Revision as of 02:01, 16 March 2016 by Killzone Kid (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Hover & click on the images for description

Description

Description:
Checks given position against given filter params. Filter includes checks for:
  • If there are any objects closer than given distance from given position (in 2D)
  • If the area around position is flat enough to match given gradient
  • If the given position is over water or land
  • If the given position is over shore line
The gradient seems to correlate with general hill steepness: 0.1 (10%) ~6o, 0.5 (50%) ~27o, 1.0 (100%) ~45o, etc.There are also some oddities about this command that need to be noted:
  • Objects accounted for proximity check seem to be static objects. Nearby vehicles and units do not seem to affect the output
  • Given position will be magically transferred into given position + getTerrainHeightASL value
  • The second element must be -1 (<= 0 really) at all times, otherwise command becomes unusable
  • The command might be a bit heavy on computations so avoid frequent and large area checks
Groups:
Uncategorised

Syntax

Syntax:
position isFlatEmpty [minDistance, -1, maxGradient, maxGradientRadius, overLandOrWater, shoreLine, ignoreObject]
Parameters:
position: Array - position in format PositionAGL
[minDistance, -1, maxGradient, maxGradientRadius, overLandOrWater, shoreLine, ignoreObject]: Array
minDistance (Optional): Number - Objects within 50m cannot be closer than minDistance. -1 to ignore proximity check. Default: -1
-1 (Optional): Number - Position check mode (DON'T CHANGE). Default -1
maxGradient (Optional): Number - Maximum terrain steepness allowed. -1 to ignore. Default: -1
maxGradientRadius (Optional): Number - How far to extend gradient check. Default: 1
overLandOrWater (Optional): Number - 0: position cannot be over water; 2: position cannot be over land. -1 to ignore. Default: 0
shoreLine (Optional): Boolean - true: position is over shoreline (< ~25 m from water). false to ignore. Default: false
ignoreObject (Optional): Object - Object to ignore in proximity checks. objNull to ignore. Default: objNull
Return Value:
Array - Empty array [] if check failed or PositionASL if succeded. Resulting position will be original PositionAGL + getTerrainHeightASL

Examples

Example 1:
Check if player position is over land:_overLand = !(position player isFlatEmpty [-1, -1, -1, 1, 0, false] isEqualTo []);
Example 2:
Check if player position is over shore line:_overShore = !(position player isFlatEmpty [-1, -1, -1, 1, 0, true] isEqualTo []);
Example 3:
Check if player position is over water:_overWater = !(position player isFlatEmpty [-1, -1, -1, 1, 2, false] isEqualTo []);
Example 4:
Check if no object is closer than 5m to player position:_isEmpty = !(position player isFlatEmpty [5, -1, -1, 1, 1, false, player] isEqualTo []);
Example 5:
Check if area 10m around player position is relatively flat:_isFlat = !(position player isFlatEmpty [-1, -1, 0.3, 10, 1] isEqualTo []);
Example 6:
Check if area 15m around player position is very flat and empty:_isFlatEmpty = !(position player isFlatEmpty [15, -1, 0.1, 15, 1, false, player] isEqualTo []);

Additional Information

See also:
selectBestPlacesfindEmptyPosition

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

Bottom Section