supportInfo: Difference between revisions

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


| arma1
|game1= arma1
|version1= 1.00


|1.00
|game2= arma2
|version2= 1.00
 
|game3= arma2oa
|version3= 1.50
 
|game4= tkoh
|version4= 1.00
 
|game5= arma3
|version5= 0.50


|gr1= System
|gr1= System


| Creates a list of supported operators and type. Each field of array has the format: "x:name" Where x can be:
|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' - [[SQF Syntax#Nular_Operators|nullar]] operator
*'n' - [[SQF Syntax#Nular_Operators|nullar]] operator
Line 15: Line 26:
'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. 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:  
''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:  
* <tt>""</tt> - list all types and commands
* {{hl|""}} - list all types and commands
* <tt>"t:*"</tt> - list all types
* {{hl|"t:*"}} - list all types
* <tt>"*:&lt;command&gt;*"</tt> - list all entries for script ''&lt;command&gt;''
* {{hl|"*:&lt;command&gt;*"}} - list all entries for script ''&lt;command&gt;''
* <tt>"i:&lt;command&gt;"</tt> - extended information about script ''&lt;command&gt;'', [[Array]] of [[Array]] of [[String]]s in format:{{Since|arma3|1.99146528|y}}<br>[type, lowerCaseName, camelCaseName, description, example, result, resultType, leftArgType, rightArgType, syntax ({{Since|arma3|2.01.146751}})]
* {{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 | <tt>"i:*"</tt> is not a wildcard but returns information about the [[a * b|multiplication operator]] instead.}}
{{Feature|informative|{{hl|"i:*"}} is not a wildcard but returns information about the [[a * b|multiplication operator]] instead.}}


| '''supportInfo''' mask
|s1= [[supportInfo]] mask


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


| [[Array]] - array with requested info or empty array <tt>[]</tt>
|r1= [[Array]] - array with requested info or empty array {{hl|[]}}


|x1= <code>[[supportInfo]] "b:select*"; {{cc|returns ["b:ARRAY select SCALAR","b:ARRAY select BOOL","b:CONFIG select SCALAR"]}}</code>
|x1= <sqf>supportInfo "b:select*"; // returns ["b:ARRAY select SCALAR","b:ARRAY select BOOL","b:CONFIG select SCALAR"]</sqf>


|x2= Return all available commands: <code>_commands = [[supportInfo]] "";</code>
|x2= Return all available commands:
<sqf>_commands = supportInfo "";</sqf>


|seealso= [[productVersion]], [[requiredVersion]]
|seealso= [[productVersion]] [[requiredVersion]]
}}
}}


{{Note
|user= Killzone_Kid
|timestamp= 20140924192700
|text= To get the list of all supported commands in {{arma3}} one can simply:
<sqf>{ diag_log _x } forEach supportInfo "";</sqf>
}}


{{GameCategory|arma2|Scripting Commands}}
{{Note
{{GameCategory|arma3|Scripting Commands}}
|user= 7erra
{{GameCategory|tkoh|Scripting Commands}}
|timestamp= 20201019102300
 
|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:
<dl class="command_description">
<sqf>
<dt></dt>
_allCommands = [];
<dd class="notedate">Posted on September 24, 2014 - 19:27 (UTC)</dd>
supportInfo "" apply {
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
_x splitString ":" params ["_t", "_x"];
<dd class="note">
if (_t != "t") then {
To get the list of all supported commands in Arma 3 one can simply:
_x = _x splitString " ";
<code>{ [[diag_log]] _x } [[forEach]] [[supportInfo]] "";</code>
_command = switch count _x do {
</dd>
case 1;
<dt><dt>
case 2: { _x # 0 };
<dd class="notedate">Posted on October 19, 2020 - 10:23 (UTC)</dd>
case 3: { _x # 1 };
<dt class="note">[[User:7erra|7erra]]</dt>
default {nil};
<dd class="note">
Since you can't use {{ic|[[supportInfo]] "i:*"}} as a wildcard to get a list of all commands with detailed information, use this code instead:
<code>_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 [[a_hash_b|#]] 0 };
[[case]] 3: { _x [[a_hash_b|#]] 1 };
[[default]] {[[nil]]};
};
};
_allCommands [[pushBackUnique]] _command;
_allCommands pushBackUnique _command;
};
};
};
};
_allCommands [[sort]] [[true]];
_allCommands sort true;
_allCommands {{=}} _allCommands [[apply]] {
_allCommands = _allCommands apply {
[[supportInfo]] [[format]]["i:%1", _x]
supportInfo format["i:%1", _x]
};
};
_allCommands </code>
_allCommands;
</dd>
</sqf>
</dl>
}}

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;