supportInfo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "\{\{Feature *\| *Informative *\| ([^↵]+) *\}\}" to "{{Feature|informative|$1}}")
 
(116 intermediate revisions by 15 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma |= Game name
|game1= arma1
|version1= 1.00


|1.00|= Game version
|game2= arma2
____________________________________________________________________________________________
|version2= 1.00


| Creates a list of supported operators and type. Each field of array has the format: "x:name" Where x can be:
|game3= arma2oa
|version3= 1.50
 
|game4= tkoh
|version4= 1.00
 
|game5= arma3
|version5= 0.50
 
|gr1= System
 
|descr= Creates a list of supported operators and type. Each field of array has the format: "x:name" Where x can be:
*'t' - type
*'t' - type
*'n' - null operator
*'n' - [[SQF Syntax#Nular_Operators|nullar]] operator
*'u' - unary operator
*'u' - [[SQF Syntax#Unary_Operators|unary]] operator
*'b' - binary operator.
*'b' - [[SQF Syntax#Binary_Operators|binary]] operator.
 
'name' is the operator or type name (in case operator, type of input operands is included).  
'name' is the operator or type name (in case operator, type of input operands is included).  
`mask` parameter can be an empty string, or one of field. In this case, function returns empty array, if operator is not included in the list. `mask` can contain wildcards, for example: *:name, t:*, t:name* or *:*. |= Description
''mask'' parameter can be an empty string, or one of field. In this case, function returns empty array, if operator is not included in the list. Limited wildcard support is available. Type ''x'' may be replaced with ''*'', meaning all types. For the ''mask'' partial match may be used, like ''abc*'', meaning any operators starting with 'abc' are reported, for example:  
____________________________________________________________________________________________
* {{hl|""}} - list all types and commands
* {{hl|"t:*"}} - list all types
* {{hl|"*:<command>*"}} - list all entries for script ''<command>''
* {{GVI|arma3|2.00|size= 0.75}} {{hl|"i:&lt;command&gt;"}} - extended information about script ''&lt;command&gt;'', [[Array]] of [[Array]] of [[String]]s in format:<br>[type, lowerCaseName, camelCaseName, description, example, result, resultType, leftArgType, rightArgType, {{GVI|arma3|2.02|size= 0.75}} syntax]
{{Feature|informative|{{hl|"i:*"}} is not a wildcard but returns information about the [[a * b|multiplication operator]] instead.}}


| [[Array]] <nowiki>=</nowiki>  '''supportInfo''' "mask" |= Syntax
|s1= [[supportInfo]] mask


|p1= mask: [[String]] |= Parameter 1
|p1= mask: [[String]]


| [[Array]] Compatibility Version 2.00 required. |= Return value
|r1= [[Array]] - array with requested info or empty array {{hl|[]}}
____________________________________________________________________________________________
 
|x1= <pre>supportInfo "b:select*" .... result is ["b:ARRAY select SCALAR","b:ARRAY select BOOL"]</pre> |= Example 1
____________________________________________________________________________________________


| |= See also
|x1= <sqf>supportInfo "b:select*"; // returns ["b:ARRAY select SCALAR","b:ARRAY select BOOL","b:CONFIG select SCALAR"]</sqf>


|x2= Return all available commands:
<sqf>_commands = supportInfo "";</sqf>
|seealso= [[productVersion]] [[requiredVersion]]
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= Killzone_Kid
<!-- Note Section BEGIN -->
|timestamp= 20140924192700
|text= To get the list of all supported commands in {{arma3}} one can simply:
<sqf>{ diag_log _x } forEach supportInfo "";</sqf>
}}


<!-- Note Section END -->
{{Note
</dl>
|user= 7erra
 
|timestamp= 20201019102300
<h3 style="display:none">Bottom Section</h3>
|text= Since you can't use <sqf inline>supportInfo "i:*"</sqf> as a wildcard to get a list of all commands with detailed information, use this code instead:
[[Category:Scripting Commands|SUPPORTINFO]]
<sqf>
[[Category:Scripting Commands ArmA|SUPPORTINFO]]
_allCommands = [];
supportInfo "" apply {
_x splitString ":" params ["_t", "_x"];
if (_t != "t") then {
_x = _x splitString " ";
_command = switch count _x do {
case 1;
case 2: { _x # 0 };
case 3: { _x # 1 };
default {nil};
};
_allCommands pushBackUnique _command;
};
};
_allCommands sort true;
_allCommands = _allCommands apply {
supportInfo format["i:%1", _x]
};
_allCommands;
</sqf>
}}

Latest revision as of 18:11, 15 March 2024

Hover & click on the images for description

Description

Description:
Creates a list of supported operators and type. Each field of array has the format: "x:name" Where x can be: 'name' is the operator or type name (in case operator, type of input operands is included). mask parameter can be an empty string, or one of field. In this case, function returns empty array, if operator is not included in the list. Limited wildcard support is available. Type x may be replaced with *, meaning all types. For the mask partial match may be used, like abc*, meaning any operators starting with 'abc' are reported, for example:
  • "" - list all types and commands
  • "t:*" - list all types
  • "*:<command>*" - list all entries for script <command>
  • Arma 3 logo black.png2.00 "i:<command>" - extended information about script <command>, Array of Array of Strings in format:
    [type, lowerCaseName, camelCaseName, description, example, result, resultType, leftArgType, rightArgType, Arma 3 logo black.png2.02 syntax]
"i:*" is not a wildcard but returns information about the multiplication operator instead.
Groups:
System

Syntax

Syntax:
supportInfo mask
Parameters:
mask: String
Return Value:
Array - array with requested info or empty array []

Examples

Example 1:
supportInfo "b:select*"; // returns ["b:ARRAY select SCALAR","b:ARRAY select BOOL","b:CONFIG select SCALAR"]
Example 2:
Return all available commands:
_commands = supportInfo "";

Additional Information

See also:
productVersion requiredVersion

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
Killzone_Kid - c
Posted on Sep 24, 2014 - 19:27 (UTC)
To get the list of all supported commands in Arma 3 one can simply:
{ diag_log _x } forEach supportInfo "";
7erra - c
Posted on Oct 19, 2020 - 10:23 (UTC)
Since you can't use supportInfo "i:*" as a wildcard to get a list of all commands with detailed information, use this code instead:
_allCommands = []; supportInfo "" apply { _x splitString ":" params ["_t", "_x"]; if (_t != "t") then { _x = _x splitString " "; _command = switch count _x do { case 1; case 2: { _x # 0 }; case 3: { _x # 1 }; default {nil}; }; _allCommands pushBackUnique _command; }; }; _allCommands sort true; _allCommands = _allCommands apply { supportInfo format["i:%1", _x] }; _allCommands;