BIS fnc param: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Lou Montana (talk | contribs) m (Text replacement - "(\|[pr][0-9]+ *= *[^- ]*) *- *S([a-z ])" to "$1 - s$2") |
||
(53 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=function | ||
| | |game1= tkoh | ||
|version1= 1.00 | |||
|0.50 | |game2= arma3 | ||
|version2= 0.50 | |||
| | |gr1= Arrays | ||
| [ | |descr= Load a script parameter. See [[Arma 3: Functions Library#Loading Parameters|Arma 3: Functions Library]] for detailed description. | ||
| | {{Feature|Arma3|Use [[param]] or [[params]] commands instead.}} | ||
| | |s1= [input, index, defaultValue, dataTypes, requiredCount] call [[BIS_fnc_param]] | ||
| | |p1= input: [[Array]] - list of params | ||
| | |p2= index: [[Number]] - selected index | ||
| | |p3= defaultValue: [[Anything]] - (Optional, default [[Nothing]]) default param (used when param is missing or of wrong type).<br>You can overload default value by declaring variable ''BIS_fnc_<functionName>_<index>'' in [[Namespace]] where BIS_fnc_param is called from.<br>[[BIS_fnc_paramIn]] is a variant of the function with overloading disabled. | ||
| [[ | |p4= dataTypes: [[Array]] - (Optional, default [[Anything]]) list of allowed type examples (e.g. ["",[],0,[[objNull]]<nowiki>]</nowiki>) | ||
| | |p5= requiredCount: [[Number]] or [[Array]] - (Optional) if value is Array, checks if it has required number of elements | ||
| | |r1= [[Anything]] | ||
|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 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. | |||
< | |x2= <sqf>_answer = [_this, 1, 42] call BIS_fnc_param;</sqf> | ||
* if (_this select 1) is not defined, default 42 is used. | |||
* no limit for data types or number of elements exists. | |||
|seealso= [[BIS_fnc_paramIn]] [[param]] [[params]] | |||
}} | |||
{{Note | |||
|user= ffur2007slx2_5 | |||
[[ | |timestamp= 20140906215500 | ||
[[ | |text= {{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"]; | |||
_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; | |||
</sqf> | |||
}} |
Latest revision as of 15:49, 8 November 2023
Description
- Description:
- Load a script parameter. See Arma 3: Functions Library for detailed description.
- 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: Anything - (Optional, default Nothing) 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: Array - (Optional, default Anything) list of allowed type examples (e.g. ["",[],0,objNull])
- requiredCount: Number or Array - (Optional) if value is Array, checks if it has required number of elements
- Return Value:
- Anything
Examples
- Example 1:
-
- 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:
-
- 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
- Posted on Sep 06, 2014 - 21:55 (UTC)
-
1.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;