BIS fnc param: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code> *([^<|{]*) *<\/code>" to "<sqf>$1</sqf>")
m (Some wiki formatting)
Line 27: Line 27:
|r1= [[Anything]]
|r1= [[Anything]]


|x1= <code>_target <nowiki>=</nowiki> [_this, 0, [[objNull]], [<nowiki/>[[objNull]],[]], [2,3]] [[call]] [[BIS_fnc_param]];</code>
|x1= <sqf>_target = [_this, 0, objNull, [objNull,[]], [2,3]] call BIS_fnc_param;</sqf>
* If (_this select 0) is not defined, default objnull is used.
* If (_this select 0) is not defined, default objnull is used.
* If (_this select 0) is defined, but is neither of type [[Object]] nor [[Array]], error message is logged and default [[objNull]] is used.
* If (_this select 0) is defined, but is neither of type [[Object]] nor [[Array]], error message is logged and default [[objNull]] is used.
* If (_this select 0) and is [[Array]], but it is count is neither 2 nor 3, error message is logged and default [[objNull]] is used.
* If (_this select 0) and is [[Array]], but it is count is neither 2 nor 3, error message is logged and default [[objNull]] is used.


|x2= <code>_answer <nowiki>=</nowiki> [_this, 1, 42] [[call]] [[BIS_fnc_param]];</code>
|x2= <sqf>_answer = [_this, 1, 42] call BIS_fnc_param;</sqf>
* If (_this select 1) is not defined, default 42 is used.
* If (_this select 1) is not defined, default 42 is used.
* No limit for data types or number of elements exists.
* No limit for data types or number of elements exists.
Line 39: Line 39:
}}
}}


<dl class="command_description">
{{Note
 
|user= ffur2007slx2_5
<dt></dt>
|timestamp= 20140906215500
<dd class="notedate">Posted: 21:55 Sep 6 2014</dd>
|text= {{GVI|arma3|1.28}} Use [[BIS_fnc_paramIn]] to load private path from parent parameters (loaded by [[BIS_fnc_param]])
<dt class="note">[[User:ffur2007slx2_5|ffur2007slx2_5]]</dt>
<dd class="note">{{GVI|arma3|1.28}} Use [[BIS_fnc_paramIn]] to load private path from parent parameters (loaded by [[BIS_fnc_param]])
<sqf>private ["_parent","_child0","_child1"];
<sqf>private ["_parent","_child0","_child1"];
_parent = [_this,0,[],[[]]] call BIS_fnc_param;
_parent = [_this,0,[],[[]]] call BIS_fnc_param;
Line 50: Line 48:
_child1 = [_parent,1,"",[""]] call BIS_fnc_paramIn;
_child1 = [_parent,1,"",[""]] call BIS_fnc_paramIn;
</sqf>
</sqf>
</dl>
}}

Revision as of 16:31, 13 July 2022

Hover & click on the images for description

Description

Description:
Load a script parameter. See Arma 3: Functions Library for detailed description.
Arma 3
Use param or params commands instead.
Execution:
call
Groups:
Arrays

Syntax

Syntax:
[input, index, defaultValue, dataTypes, requiredCount] call BIS_fnc_param
Parameters:
input: Array - List of params
index: Number - Selected index
defaultValue (Optional, default Nothing): Anything - Default param (used when param is missing or of wrong type).
You can overload default value by declaring variable BIS_fnc_<functionName>_<index> in Namespace where BIS_fnc_param is called from.
BIS_fnc_paramIn is a variant of the function with overloading disabled.
dataTypes (Optional, default Anything): Array - List of allowed type examples (e.g. ["",[],0,objNull])
requiredCount (Optional): Number or Array - If value is Array, checks if it has required number of elements
Return Value:
Anything

Examples

Example 1:
_target = [_this, 0, objNull, [objNull,[]], [2,3]] call BIS_fnc_param;
  • If (_this select 0) is not defined, default objnull is used.
  • If (_this select 0) is defined, but is neither of type Object nor Array, error message is logged and default objNull is used.
  • If (_this select 0) and is Array, but it is count is neither 2 nor 3, error message is logged and default objNull is used.
Example 2:
_answer = [_this, 1, 42] call BIS_fnc_param;
  • If (_this select 1) is not defined, default 42 is used.
  • No limit for data types or number of elements exists.
  • Additional Information

    See also:
    BIS_fnc_paramIn param params

    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
    ffur2007slx2_5 - c
    Posted on Sep 06, 2014 - 21:55 (UTC)
    Arma 3 logo black.png1.28 Use BIS_fnc_paramIn to load private path from parent parameters (loaded by BIS_fnc_param)
    private ["_parent","_child0","_child1"]; _parent = [_this,0,[],[[]]] call BIS_fnc_param; _child0 = [_parent,0,missionNamespace,[ missionNamespace,grpNull,objNull ]] call BIS_fnc_paramIn; _child1 = [_parent,1,"",[""]] call BIS_fnc_paramIn;