BIS fnc selectRandomWeighted: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " \| *([^=\| ]+) * \|p1=" to " |s1= $1 |p1=")
m (Text replacement - "\| *(arg|eff|mp|serverExec|gr[0-9]) *= *(.*) * *\|([^=]{12})" to "|$1=$2 |descr=$3")
Line 15: Line 15:
|gr1= Arrays
|gr1= Arrays


| Selects a random item from an array, taking into account item weight. Note:
|descr= Selects a random item from an array, taking into account item weight. Note:
* The weights don't have to total to 1
* 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
* The length of weights and items arrays may not match, in which case the shortest array is used for length

Revision as of 20:55, 13 June 2021

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