BIS fnc selectRandomWeighted: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|s1= +" to "|s1= ")
m (Text replacement - "<code> *(\^+\]) +\[\[call\]\] +\[\[(BIS_fnc_[a-zA-Z0-9_]+)\]\];? *<\/code>" to "<sqf>$1 call $2;</sqf>")
Line 36: Line 36:


|r2= [[Anything]]
|r2= [[Anything]]
|x1= <code>["apples",.3,"pears",.2,"bananas",.4,"diamonds",.1,"unicorns",.00001] [[call]] [[BIS_fnc_selectRandomWeighted]];</code>
|x1= <sqf>["apples",.3,"pears",.2,"bananas",.4,"diamonds",.1,"unicorns",.00001] call BIS_fnc_selectRandomWeighted;</sqf>


|x2= <code><nowiki>[</nowiki>["apples","pears","bananas","diamonds"],[0.3,0.2,0.4,0.1]] [[call]] [[BIS_fnc_selectRandomWeighted]];</code>
|x2= <code><nowiki>[</nowiki>["apples","pears","bananas","diamonds"],[0.3,0.2,0.4,0.1]] [[call]] [[BIS_fnc_selectRandomWeighted]];</code>

Revision as of 19:03, 5 May 2022

Hover & click on the images for description

Description

Description:
Selects a random item from an array, taking into account item weight. Note:
  • The weights don't have to total to 1
  • The length of weights and items arrays may not match, in which case the shortest array is used for length
Arma 3
See selectRandomWeighted for an engine solution.
Execution:
call
Groups:
Arrays

Syntax

Syntax:
itemsAndWeights call BIS_fnc_selectRandomWeighted
Parameters:
itemsAndWeights: Array - array of items and weights [item, weight, item, weight...]
Return Value:
Anything

Alternative Syntax

Syntax:
[items, weights] call BIS_fnc_selectRandomWeighted
Parameters:
[items, weights]: Array
items: Array - items array of Anything
weights: Array - weights array of Numbers
Return Value:
Anything

Examples

Example 1:
["apples",.3,"pears",.2,"bananas",.4,"diamonds",.1,"unicorns",.00001] call BIS_fnc_selectRandomWeighted;
Example 2:
[["apples","pears","bananas","diamonds"],[0.3,0.2,0.4,0.1]] call BIS_fnc_selectRandomWeighted;

Additional Information

See also:
selectRandomWeighted

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