From Bohemia Interactive Community
Hover & click on the images for description
Description
- Description:
- Description needed
- Groups:
- VariablesArrays
Syntax
- Syntax:
- Syntax needed
- Parameters:
- [element1, element2,...elementN]: Array - format array
- elementN: String or Array
If String then it is the name of a private variable (must begin with underscore _, e.g. "_myVar")
If Array then it should be one of the following constructs:
- [variableName, defaultValue]
- [variableName, defaultValue, expectedDataTypes]
- [variableName, defaultValue, expectedDataTypes, expectedArrayCount]
- variableName: String - name of a private variable (must begin with underscore _, e.g. "_myVar")
- defaultValue: Anything - default value to return if input element is undefined, of the wrong type or of the wrong size (if array).
- expectedDataTypes (Optional): Array of direct Data Types - checks if passed value is one of listed Data Types. If not, default value is used instead. Empty array [] means every data type is accepted.
- expectedArrayCount (Optional): Number or Array - a single size or array of sizes. If passed input value is an array, checks that it has a certain number of elements. If not, default value is used instead. Empty array [] means any size is accepted.
- Return Value:
- Return value needed
- Syntax:
- argument params [element1, element2,...elementN]
- Parameters:
- argument: Anything - A usual array of params is expected. If a non-array argument is passed, it will be converted to 1 element array
- [element1, element2,...elementN]: Array - format array
- elementN: String or Array:
If String then it is the name of a private variable (must begin with underscore _, e.g. "_myVar")
If Array then it should be one of the following constructs:
- [variableName, defaultValue]
- [variableName, defaultValue, expectedDataTypes]
- [variableName, defaultValue, expectedDataTypes, expectedArrayCount]
- variableName: String - name of a private variable (must begin with underscore _, e.g. "_myVar")
- defaultValue: Anything - default value to return if input element is undefined, of the wrong type or of the wrong size (if array).
- expectedDataTypes (Optional): Array of direct Data Types - checks if passed value is one of listed Data Types. If not, default value is used instead. Empty array [] means every data type is accepted.
- expectedArrayCount (Optional): Number or Array - a single size or array of sizes. If passed input value is an array, checks that it has a certain number of elements. If not, default value is used instead. Empty array [] means any size is accepted.
- Return Value:
- Boolean - false if error occurred or default value has been used, otherwise true
Examples
- Example 1:
[1, 2, 3] call {
private ["_one", "_two", "_three"];
_one = _this select 0;
_two = _this select 1;
_three = _this select 2;
};
[1, 2, 3] call {
params ["_one", "_two", "_three"];
};
- Example 2:
[123] call {
params ["_myvar"];
};
123 call {
params ["_myvar"];
};
- Example 3:
position player params ["", "", "_z"];
if (_z > 10) then {
hint "YOU ARE FLYING!";
};
- Example 4:
[1, nil, 2] params ["_var1", "_var2", "_var3"];
[1, nil, 2] params ["_var1", ["_var2", 23], "_var3"];
- Example 5:
[1, 2] call {
if (!params ["_var1", "_var2", ["_var3", true, [true]]]) exitWith {
hint str [_var1, _var2, _var3];
};
};
[1, 2, 3] call {
if (!params ["_var1", "_var2", ["_var3", true, [true]]]) exitWith {
hint str [_var1, _var2, _var3];
};
};
- Example 6:
[1, "ok", [1, 2, 3]] call {
if (!params [
["_var1", 0, [0]],
["_var2", "", [""]],
["_var3", [0,0,0], [[], objNull, 0], [2,3]]
]) exitWith {};
hint "ok";
};
[1, 2, [3, 4, 5]] call {
if (!params ["_var1", "_var2", ["_var3", [], [[], objNull, 0], 0]]) exitWith {};
hint "ok";
};
- Example 7:
position player params ["_x", "_y"];
player setPos [_x, _y, 100];
- Example 8:
[1, 2, 3, [4, 5, 6]] call {
params ["_one", "_two", "_three"];
_this select 3 params ["_four", "_five", "_six"];
};
- Example 9:
{
_x params ["_group", "_index"];
} forEach waypoints group player;
fn_someFnc = {
params ["_position", ["_direction", 0], ["_name", ""]];
_position params ["_x", "_y", "_z"];
};
[position player, direction player, name player] call fn_someFnc;
- Example 10:
player addEventHandler ["HitPart", {
_this select 0 params ["_target", "_shooter", "_projectile"];
}];
Additional Information
- See also:
- paramselectsetresizereverseinfindfindIftoArraytoStringforEachcountdeleteAtdeleteRangeappendsortarrayIntersectsplitStringjoinStringisEqualTypeAllisEqualTypeisEqualTypeParamsisEqualTypeArrayisEqualTypeAnytypeNameBIS_fnc_param
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 November 3, 2016 - 04:07 (UTC)
- Dedmen
-
With a function only taking one Parameter, it doesn't matter whether the parameter is in an array or not:
Example:
1 call {
params [ ["_number",0, [0]] ];
};
or
[1] call {
params [ ["_number",0, [0]] ];
};
But when the one Parameter is an array that parameter has to be inside of an array when the function is called
Example:
[1,2] call {
params [ ["_array", [], [[]], 2] ];
};
[[1,2]] call {
params [ ["_array", [], [[]], 2] ];
};
- Posted on July 4, 2019 - 16:54 (UTC)
- 7erra
-
It is valid to redefine the _this variable and use params again like this:
[1, 2, [3, 4]] call {
params ["_one", "_two", "_this"];
params ["_three", "_four"];
};