selectRandomWeighted: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 43: Line 43:
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on June 26, 2017 - 19:17 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">A 10000 runs of the following code:
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 21:17, 26 June 2017

-wrong parameter ("arma3dev") defined!-[[:Category:Introduced with arma3dev version 1.73|1.73]]
Hover & click on the images for description

Description

Description:
Returns a random element from the given array according to assigned weights. Engine solution to BIS_fnc_selectRandomWeighted. A few notes:
  • Negative weights are not supported
  • If an item's weight is 0, the item is ignored
  • Weight strength is relative and calculated from the range [0 ... maxWeight]
  • If numbers of items and weights do not match, the shortest array is used
  • A single array Syntax is slightly faster then Alt Syntax
Groups:
Uncategorised

Syntax

Syntax:
selectRandomWeighted valuesAndWeights
Parameters:
valuesAndWeights: Array - array in format [value1, weight1, value2, weight2...], where:
  • value: Anything - weighted value
  • weight: Number - values relative weight
Return Value:
Anything - random weighted value or Nothing if array is empty or all weights are 0

Alternative Syntax

Syntax:
values selectRandomWeighted weights
Parameters:
values: Array - array of Anything
weights: Array - array of Numbers
Return Value:
Anything - random weighted value or Nothing if any of arrays is empty or all weights are 0

Examples

Example 1:
_randomWeightedElement = selectRandomWeighted [1,0.1,2,0.2,3,1.3,4,2.4,5,7.5];
Example 2:
_randomWeightedElement = [1,2,3,4,5] selectRandomWeighted [0.1,0.2,1.3,2.4,7.5];

Additional Information

See also:
randomselectselectRandomselectMinselectMax

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

[[Category:Introduced with arma3dev version 1.73]][[ Category: arma3dev: New Scripting Commands | SELECTRANDOMWEIGHTED]][[ Category: arma3dev: Scripting Commands | SELECTRANDOMWEIGHTED]]

Posted on June 26, 2017 - 19:17 (UTC)
Killzone Kid
A 10000 runs of the following code: