in: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) mNo edit summary |
Lou Montana (talk | contribs) m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>") |
||
(78 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=command | ||
| ofp |= | |game1= ofp | ||
|version1= 1.00 | |||
|1.00 | |game2= ofpe | ||
|version2= 1.00 | |||
| | |game3= arma1 | ||
|version3= 1.00 | |||
| | |game4= arma2 | ||
|version4= 1.00 | |||
| | |||
| | |game5= arma2oa | ||
|version5= 1.50 | |||
| | |||
| | |game6= tkoh | ||
|version6= 1.00 | |||
| | |game7= arma3 | ||
|version7= 0.50 | |||
| | |gr1= Strings | ||
| | |gr2= Arrays | ||
| | |gr3= Locations | ||
| | |gr4= HashMap | ||
| | |gr5= Unit Control | ||
| | |descr= Checks whether value is in array, unit is in vehicle, position is inside location or ANSI string is part of other ANSI string. If Unicode support is desired, see [[forceUnicode]]. | ||
|[[ | {{Feature|informative|[[String]] comparison is case-sensitive (see Examples '''2''' and '''6''').}} | ||
|s1= value [[in]] array | |||
|p1= value: [[Anything]] - any value (cannot match [[Array]] before {{arma3}}) | |||
|p2= array: [[Array]] - array of values | |||
|r1= [[Boolean]] | |||
|s2= unit [[in]] vehicle | |||
|p21= unit: [[Object]] - entity person | |||
|p22= vehicle: [[Object]] - entity vehicle | |||
|r2= [[Boolean]] | |||
|s3= position [[in]] location | |||
|s3since= arma3 0.50 | |||
|p41= position: [[Array]] - format [[Position#Introduction|Position2D]] or [[Position#Introduction|Position3D]] | |||
|p42= location: [[Location]] | |||
|r3= [[Boolean]] | |||
|s4= needle [[in]] haystack | |||
|s4since= arma3 1.96 | |||
|p61= needle: [[String]] - string to search '''for''' | |||
|p62= haystack: [[String]] - string to search '''in''' | |||
|r4= [[Boolean]] | |||
|s5= key [[in]] hashMap | |||
|s5since= arma3 2.02 | |||
|p81= key: [[HashMapKey]] | |||
|p82= hashMap : [[HashMap]] | |||
|r5= [[Boolean]] | |||
|x1= <sqf>1 in [0, 1, 2]; // true</sqf> | |||
|x2= <sqf> | |||
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 the introduction of the findIf command | |||
{ if (_x == "aaa") exitWith { 1 } } count _myArray > 0; // true | |||
{ _x == "aaa"; } count _myArray > 0; // true, worst performance, only option available in OFP | |||
</sqf> | |||
|x3= <sqf>[1,2,3] in [[1,2,3], [4,5,6]]; // true - Arma 3 only</sqf> | |||
|x4= <sqf>private _isInCar = player in Car;</sqf> | |||
|x5= <sqf>private _isInside = [1000,2000,0] in MyLocation;</sqf> | |||
|x6= <sqf> | |||
private _isInString = "foo" in "foobar"; // true | |||
_isInString = "Foo" in "foobar"; // false | |||
</sqf> | |||
|x7= <sqf>private _onFoot = _unit in _unit;</sqf> | |||
Other options: | |||
<sqf>private _onFoot = vehicle _unit == _unit;</sqf> | |||
<sqf>private _onFoot = isNull objectParent _unit;</sqf> | |||
|seealso= [[inPolygon]] [[inArea]] [[find]] [[findIf]] [[toArray]] [[forceUnicode]] | |||
}} | }} | ||
<dl class="command_description"> | <dl class="command_description"> | ||
< | <dt></dt> | ||
<dd class="notedate">Posted on 2019-10-08 - 21:08 (UTC)</dd> | |||
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt> | |||
<dd class="note">''From a description note:''<br> | |||
''<unit>'' [[in]] ''<vehicle>'' literally does this: {{hl|c= [[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'''). | |||
</dd> | |||
</dl> | </dl> | ||
Latest revision as of 19:42, 3 September 2024
Description
- Description:
- Checks whether value is in array, unit is in vehicle, position is inside location or ANSI string is part of other ANSI string. If Unicode support is desired, see forceUnicode.
- Groups:
- StringsArraysLocationsHashMapUnit 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
- Parameters:
- position: Array - format Position2D or Position3D
- location: Location
- Return Value:
- Boolean
Syntax 4
- Syntax:
- needle in haystack
- Parameters:
- needle: String - string to search for
- haystack: String - string to search in
- Return Value:
- Boolean
Syntax 5
- Syntax:
- key in hashMap
- Parameters:
- key: HashMapKey
- hashMap : HashMap
- 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 the introduction of the findIf command { if (_x == "aaa") exitWith { 1 } } count _myArray > 0; // true { _x == "aaa"; } count _myArray > 0; // true, worst performance, only option available in OFP
- Example 3:
- [1,2,3] in [[1,2,3], [4,5,6]]; // true - Arma 3 only
- Example 4:
- Example 5:
- Example 6:
- Example 7:
-
Other options:
Additional Information
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
- Posted on 2019-10-08 - 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).
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Strings
- Command Group: Arrays
- Command Group: Locations
- Command Group: HashMap
- Command Group: Unit Control