supportInfo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - "|size=0.8" to "|size= 0.75")
(14 intermediate revisions by 2 users not shown)
Line 29: Line 29:
* {{hl|"t:*"}} - list all types
* {{hl|"t:*"}} - list all types
* {{hl|"*:&lt;command&gt;*"}} - list all entries for script ''&lt;command&gt;''
* {{hl|"*:&lt;command&gt;*"}} - list all entries for script ''&lt;command&gt;''
* {{GVI|arma3|2.00|size=0.8}} {{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.8}} syntax]
* {{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.}}
{{Feature | Informative | {{hl|"i:*"}} is not a wildcard but returns information about the [[a * b|multiplication operator]] instead.}}


Line 38: Line 38:
|r1= [[Array]] - array with requested info or empty array {{hl|[]}}
|r1= [[Array]] - array with requested info or empty array {{hl|[]}}


|x1= <code>supportInfo "b:select*"; // 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:
|x2= Return all available commands:
<code>_commands = supportInfo "";</code>
<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>
}}


<dl class="command_description">
{{Note
 
|user= 7erra
<dt></dt>
|timestamp= 20201019102300
<dd class="notedate">Posted on September 24, 2014 - 19:27 (UTC)</dd>
|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:
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<sqf>
<dd class="note">
_allCommands = [];
To get the list of all supported commands in Arma 3 one can simply:
<code>{ diag_log _x } forEach supportInfo "";</code>
</dd>
 
<dt><dt>
<dd class="notedate">Posted on October 19, 2020 - 10:23 (UTC)</dd>
<dt class="note">[[User:7erra|7erra]]</dt>
<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 {
supportInfo "" apply {
_x splitString ":" params ["_t", "_x"];
_x splitString ":" params ["_t", "_x"];
if (_t !{{=}} "t") then {
if (_t != "t") then {
_x {{=}} _x splitString " ";
_x = _x splitString " ";
_command {{=}} switch count _x do {
_command = switch count _x do {
case 1;
case 1;
case 2: { _x [[a_hash_b|#]] 0 };
case 2: { _x # 0 };
case 3: { _x [[a_hash_b|#]] 1 };
case 3: { _x # 1 };
default {nil};
default {nil};
};
};
Line 77: Line 73:
};
};
_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>

Revision as of 13:10, 21 December 2022

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;