in: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 12: Line 12:
|gr3= Locations |GROUP3=
|gr3= Locations |GROUP3=


|gr4= Vehicle Assignment |GROUP4=
|gr4= Unit Control |GROUP4=
 
 
____________________________________________________________________________________________
____________________________________________________________________________________________


Line 117: Line 115:
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Locations]]

Revision as of 17:00, 26 September 2020

Hover & click on the images for description

Description

Description:
Checks whether value is in array, unit is in vehicle, position is inside location or string is part of other string.
String comparison is case-sensitive (see Examples 2 and 6).
Arma 3
Since Arma 3 you can test for arrays within arrays.
Groups:
StringsArraysLocationsUnit Control

Syntax 1

Syntax:
value in array
Parameters:
value: Anything - any value (cannot match Array before Arma 3)
array: Array - array of values
Return Value:
Boolean

Syntax 2

Syntax:
unit in vehicle
Parameters:
unit: Object - entity person
vehicle: Object - entity vehicle
Return Value:
Boolean

Syntax 3

Syntax:
position in location Template:since
Parameters:
position: Array - format Position2D or Position3D
location: Location
Return Value:
Boolean

Syntax 4

Syntax:
needle in haystack Template:since
Parameters:
needle: String - string to search for
haystack: String - string to search in
Return Value:
Boolean

Examples

Example 1:
1 in [0, 1, 2]; // true
Example 2:
private _myArray = ["Aaa", "AAa", "AAA"]; "aaa" in _myArray; // false "AAa" in _myArray; // true // case-insensitive alternatives _myArray findIf { _x == "aaa"; } != -1; // true ({ if (_x == "aaa") exitWith { _forEachIndex }; -1 } forEach _myArray) != -1; // true, less performant but valid before findIf { if (_x == "aaa") exitWith {1} } count _myArray > 0; // true { _x == "aaa"; } count _myArray > 0; // true, worst performance // only option available in OFP
Example 3:
Arma 3:[1,2,3] in [[1,2,3], [4,5,6]]; // true
Example 4:
_isInCar = player in car;
Example 5:
_isInside = [1000,2000,0] in myLocation;
Example 6:
_isInString = "foo" in "foobar"; // true _isInString = "Foo" in "foobar"; // false
Example 7:
private _boarded = player in _groupVehicle;
Example 8:
private _onFoot = _unit in _unit; // vehicle _unit == _unit works // isNull objectParent _unit is even faster

Additional Information

See also:
inPolygoninAreasetresizereversepushBackpushBackUniqueapplyselectfindtoArraytoStringforEachcountdeleteAtdeleteRangeappendsortparamparamsarrayIntersectsplitStringjoinString

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 October 8, 2019 - 21:08 (UTC)
Lou Montana
From a description note:
<unit> in <vehicle> literally does this: vehicle <unit> == <vehicle>. If <vehicle> is the same as <unit> the expression will return true for when the <unit> is on foot and false for when <unit> is in vehicle (see example 7 & 8).

Bottom Section