BIS fnc inTrigger: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " *\| *([Cc]omments|COMMENTS|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Multiplayer Arguments \("local" or "global"\)|Multiplayer Effects \("local" or "global"\)|Multiplayer Execution \("server" o...)
m (Text replacement - "(\|[pr][0-9]+ *= *[^- ]*) *- *P([a-gi-z ])" to "$1 - p$2")
 
(30 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Function
{{RV|type=function


| arma2
|game1= arma2
|version1= 1.00


|1.00
|game2= arma2oa
|version2= 1.50


|gr1 = Object Manipulation
|game3= tkoh
|version3= 1.00


| Detects whether position is within area (Since Arma 3 v1.57 an engine solution is available [[inArea]]) '''or''' calculates distance to the nearest edge of trigger area by using optional params.
|game4= arma3
|version4= 0.50


| [area, position, returnDistance, includeFloorCeiling] call [[BIS_fnc_inTrigger]]
|gr1= Object Manipulation


|p1= area: [[Object]] - trigger, [[String]] - marker, [[Location]] - location or [[Array]] - in format [center, distance] or [center, [a, b, angle, rect]] or [center, [a, b, angle, rect, height]]
|descr= Detects whether position is within area '''or''' calculates distance to the nearest edge of trigger area by using optional params.
|p2= position: [[Object]] or [[Array]] - Position to check (e.g. player) or [[Position]]
{{Feature|arma3|Since {{arma3}} v1.57 [[inArea]] is available for an area check.}}


|p3= returnDistance (Optional): [[Boolean]] - [[true]] to return distance to nearest edge of trigger area. Default: [[false]]
|s1= [area, position, returnDistance, includeFloorCeiling] call [[BIS_fnc_inTrigger]]


|p4= includeFloorCeiling (Optional): [[Boolean]] - [[true]] to include trigger area floor and ceiling in calculation when calculating distance to nearest edge. Default: [[false]]
|p1= area: [[Object]], [[String]], [[Location]] or [[Array]]
| [[Boolean]] - [[true]] when position is in area, false if not
* [[Object]] - trigger
<br>
* [[String]] - marker
'''or'''
* [[Location]] - location
<br>[[Number]] - (when ''returnDistance'' is [[true]]) - distance from closest border: negative distance - from inside, positive distance - from outside
* [[Array]] - in format [center, distance] or [center, [a, b, angle, rect]] or [center, [a, b, angle, rect, height]]


|x1= <code>_trigger = [[createTrigger]] ["EmptyDetector", [[getPosATL]] [[player]]];
|p2= position: [[Object]] or [[Array]] - position to check (e.g. [[player]]) or [[Position]]
_trigger [[setTriggerArea]] [10, 10, 0, false];
_inTrigger = [_trigger, [[player]]] [[call]] [[BIS_fnc_inTrigger]]; //_inTrigger = true</code>


| [[createTrigger]], [[createMarker]], [[setTriggerArea]], [[setMarkerSize]], [[triggerArea]], [[markerSize]], [[inArea]], [[inAreaArray]], [[BIS_fnc_getArea]]
|p3= returnDistance: [[Boolean]] - (Optional, default [[false]]) [[true]] to return distance to nearest edge of trigger area


}}
|p4= includeFloorCeiling: [[Boolean]] - (Optional, default [[false]]) to include trigger area floor and ceiling in calculation when calculating distance to nearest edge


|r1=
* [[Boolean]] - [[true]] when position is in area, false if not
* [[Number]] - (when ''returnDistance'' is [[true]]) - distance from closest border: negative distance - from inside, positive distance - from outside


<h3 style="display:none">Bottom Section</h3>
|x1= <sqf>
private _trigger = createTrigger ["EmptyDetector", getPosATL player];
_trigger setTriggerArea [10, 10, 0, false];
_inTrigger = [_trigger, player] call BIS_fnc_inTrigger; // _inTrigger = true
</sqf>


[[Category:Functions|{{uc:inTrigger}}]]
|seealso= [[createTrigger]] [[createMarker]] [[setTriggerArea]] [[setMarkerSize]] [[triggerArea]] [[markerSize]] [[inArea]] [[inAreaArray]] [[BIS_fnc_getArea]]
[[Category:{{Name|arma2}}: Functions|{{uc:inTrigger}}]]
}}
[[Category:{{Name|arma2oa}}: Functions|{{uc:inTrigger}}]]
[[Category:{{Name|tkoh}}: Functions|{{uc:inTrigger}}]]
[[Category:{{Name|arma3}}: Functions|{{uc:inTrigger}}]]
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on May 6, 2015 - 19:34 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
Works with markers too:
<code>inMarker <nowiki>=</nowiki> ["markername", _position] [[call]] [[BIS_fnc_inTrigger]];</code>
</dd>
</dl>
<!-- DISCONTINUE Notes -->
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on October 4, 2015 - 11:22 (UTC)</dd>
<dt class="note">[[User:Larrow|Larrow]]</dt>
<dd class="note">
Also works with [ pos, radius ]
<code>[ [position, radius], player ] call BIS_fnc_inTrigger</code>
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 16:45, 8 November 2023

Hover & click on the images for description

Description

Description:
Detects whether position is within area or calculates distance to the nearest edge of trigger area by using optional params.
Arma 3
Since Arma 3 v1.57 inArea is available for an area check.
Execution:
call
Groups:
Object Manipulation

Syntax

Syntax:
[area, position, returnDistance, includeFloorCeiling] call BIS_fnc_inTrigger
Parameters:
area: Object, String, Location or Array
  • Object - trigger
  • String - marker
  • Location - location
  • Array - in format [center, distance] or [center, [a, b, angle, rect]] or [center, [a, b, angle, rect, height]]
position: Object or Array - position to check (e.g. player) or Position
returnDistance: Boolean - (Optional, default false) true to return distance to nearest edge of trigger area
includeFloorCeiling: Boolean - (Optional, default false) to include trigger area floor and ceiling in calculation when calculating distance to nearest edge
Return Value:
  • Boolean - true when position is in area, false if not
  • Number - (when returnDistance is true) - distance from closest border: negative distance - from inside, positive distance - from outside

Examples

Example 1:
private _trigger = createTrigger ["EmptyDetector", getPosATL player]; _trigger setTriggerArea [10, 10, 0, false]; _inTrigger = [_trigger, player] call BIS_fnc_inTrigger; // _inTrigger = true

Additional Information

See also:
createTrigger createMarker setTriggerArea setMarkerSize triggerArea markerSize inArea inAreaArray BIS_fnc_getArea

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