inArea: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "|r2= Boolean |RETURNVALUE= " to "|r2= Boolean |RETURNVALUE2=")
No edit summary
 
(39 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command
____________________________________________________________________________________________


| arma3 |Game name=
|game1= arma3
|1.58|Game Version= (number surrounded by NO SPACES)
|version1= 1.58
____________________________________________________________________________________________


| Checks whether given position is inside given area. The area is usually a rectangle or an ellipse defined similar to [[triggerArea]] format. Hence argument for this command could be a trigger, a marker, a location or an array in format [center, a, b, angle, isRectangle, c]. This command also supports hexagon area which can be created from ellipse when both a and b are negative. Hexagon ellipses are also supported by both marker creation and [[drawEllipse]].
|gr1= Triggers


<br><br>Alternatively, use [[inAreaArray]] to check multiple positions/objects within area. |DESCRIPTION=
|gr2= Markers
____________________________________________________________________________________________


| position '''inArea''' trigger|SYNTAX=
|gr3= Locations
|p1= position: [[Array]] or [[Object]] - position in format [[Position3D]], [[Position2D]] or [[Object]] |PARAMETER1=
|p2= trigger: [[Object]] - existing trigger |PARAMETER2=


| [[Boolean]] |RETURNVALUE=
|gr4= Positions
____________________________________________________________________________________________


|s2= position '''inArea''' marker|SYNTAX2=
|descr= Checks whether given position or object is inside given area. Use [[inAreaArray]] to check multiple positions/objects within area.
{{Feature|important| By default all positions given as [[Array]] or as objects are treated as [[PositionAGL]]. Since {{GVI|arma3|2.20|size= 0.75}} there is an option to force them to [[PositionWorld]] format.}}
{{Feature|informative|This command also supports hexagon area which can be created from ellipse when both a and b are negative.
Hexagon ellipses are also supported by both marker creation and [[drawEllipse]].}}


|p21= position: [[Array]] or [[Object]] - position in format [[Position3D]], [[Position2D]] or [[Object]] |PARAMETER21=
|s1= position [[inArea]] area
|p22= marker: [[String]] - existing marker |PARAMETER2=


|r2= [[Boolean]] |RETURNVALUE2=____________________________________________________________________________________________
|p1= position: [[Object]] or [[Array]] in format [[Position#Introduction|Position2D]] or [[Position#Introduction|Position3D]] (must be [[Position#PositionAGL|PositionAGL]] if area is checked in 3D)


|s3= position '''inArea''' location|SYNTAX=
|p2= area: [[Object]], [[String]], [[Location]]
|p41= position: [[Array]] or [[Object]] - position in format [[Position3D]], [[Position2D]] or [[Object]] |PARAMETER1=
* [[Object]] - trigger
|p42= location: [[Location]] - existing location |PARAMETER2=
* [[String]] - marker name
* [[Location]] - location


|r3= [[Boolean]] |RETURNVALUE=
|r1= [[Boolean]]
____________________________________________________________________________________________


|s4= position '''inArea''' [center, a, b, angle, isRectangle, c]|SYNTAX=
|s2= position [[inArea]] [center, a, b, angle, isRectangle, c, usePosWorld]
|p61= position: [[Array]] or [[Object]] - position in format [[Position3D]], [[Position2D]] or [[Object]] |PARAMETER1=
|p62= [center, a, b, angle, isRectangle, c]: [[Array]]|PARAMETER2=
|p63= center: [[Array]] or [[Object]] - center of the area in format [[Position3D]], [[Position2D]], [[Object]] or [[Group]] |PARAMETER2=
|p64= a: [[Number]] - x axis (x / 2)|PARAMETER2=
|p65= b: [[Number]] - y axis (y / 2) |PARAMETER2=
|p66= angle: [[Number]] - rotation angle  |PARAMETER2=
|p67= isRectangle: [[Boolean]] - [[true]] if rectangle, [[false]] if ellipse|PARAMETER2=
|p68= c (Optional): [[Number]] - z axis (z / 2). Default: -1 (unlimited) ''since Arma 3 v1.59.135137''|PARAMETER2=
|r4= [[Boolean]] |RETURNVALUE=
____________________________________________________________________________________________


|p21= position: - [[Object]] and/or [[Position]] to check. [[Position]] must be [[Position#PositionAGL|PositionAGL]] if area is checked in 3D (see note in description)


|x1= <code>_playerIsInside = [[player]] [[inArea]] _myTrigger;</code>|Example1=
|p22= center: [[Array]] or [[Object]] - center of the area in format [[Position#Introduction|Position2D]], [[Position#Introduction|Position3D]] (must be [[Position#PositionAGL|PositionAGL]] if area is checked in 3D), [[Object]] or [[Group]]
|x2= <code>_positionIsInside = _myPosition [[inArea]] <nowiki>[</nowiki>[100, 100, 0], 20, 30, 45, [[false]] ];</code>|=
|[[inAreaArray]], [[triggerArea]], [[in]], [[inPolygon]], [[drawEllipse]], [[drawRectangle]], [[createTrigger]], [[createMarker]], [[createLocation]]  |SEEALSO=


}}
|p23= a: [[Number]] - x axis (x / 2)
 
|p24= b: [[Number]] - y axis (y / 2)
 
|p25= angle: [[Number]] - (Optional since 2.20, Default: 0) rotation angle
 
|p26= isRectangle: [[Boolean]] - (Optional since 2.20, Default: false) [[true]] if rectangle, [[false]] if ellipse
 
|p27= c: [[Number]] - (Optional, default -1 (unlimited)) z axis (z / 2)
|p27since= arma3 1.60
 
|p28= usePosWorld: [[Boolean]] - (Optional, default [[false]]) set to [[true]] to treat all positions as [[PositionWorld]]
|p28since= Arma3 2.20
 
|r2= [[Boolean]]
 
|x1= <sqf>_playerIsInside = player inArea _myTrigger;</sqf>


<h3 style="display:none">Notes</h3>
|x2= <sqf>_positionIsInside = _myPosition inArea [[100, 100, 0], 20, 30, 45, false];</sqf>
<dl class="command_description">
</dl>


<h3 style="display:none">Bottom Section</h3>
|seealso= [[inAreaArray]] [[triggerArea]] [[in]] [[inPolygon]] [[drawEllipse]] [[drawRectangle]] [[createTrigger]] [[createMarker]] [[createLocation]]
[[Category:Arma_3:_New_Scripting_Commands_List|{{uc:{{PAGENAME}}}}]]
}}
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]

Latest revision as of 18:18, 4 November 2024

Hover & click on the images for description

Description

Description:
Checks whether given position or object is inside given area. Use inAreaArray to check multiple positions/objects within area.
By default all positions given as Array or as objects are treated as PositionAGL. Since Arma 3 logo black.png2.20 there is an option to force them to PositionWorld format.
This command also supports hexagon area which can be created from ellipse when both a and b are negative. Hexagon ellipses are also supported by both marker creation and drawEllipse.
Groups:
TriggersMarkersLocationsPositions

Syntax

Syntax:
position inArea area
Parameters:
position: Object or Array in format Position2D or Position3D (must be PositionAGL if area is checked in 3D)
area: Object, String, Location
Return Value:
Boolean

Alternative Syntax

Syntax:
position inArea [center, a, b, angle, isRectangle, c, usePosWorld]
Parameters:
position: - Object and/or Position to check. Position must be PositionAGL if area is checked in 3D (see note in description)
center: Array or Object - center of the area in format Position2D, Position3D (must be PositionAGL if area is checked in 3D), Object or Group
a: Number - x axis (x / 2)
b: Number - y axis (y / 2)
angle: Number - (Optional since 2.20, Default: 0) rotation angle
isRectangle: Boolean - (Optional since 2.20, Default: false) true if rectangle, false if ellipse
since Arma 3 logo black.png1.60
c: Number - (Optional, default -1 (unlimited)) z axis (z / 2)
since Arma 3 logo black.png2.20
usePosWorld: Boolean - (Optional, default false) set to true to treat all positions as PositionWorld
Return Value:
Boolean

Examples

Example 1:
_playerIsInside = player inArea _myTrigger;
Example 2:
_positionIsInside = _myPosition inArea [[100, 100, 0], 20, 30, 45, false];

Additional Information

See also:
inAreaArray triggerArea in inPolygon drawEllipse drawRectangle createTrigger createMarker createLocation

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