Difference between revisions of "random"
Jump to navigation
Jump to search
Killzone Kid (talk  contribs) (format) 
Killzone Kid (talk  contribs) (example) 

Line 33:  Line 33:  
x3= To select random value from an array:  x3= To select random value from an array:  
<code>_array = ["apples", "pears", "bananas", "M16"];  <code>_array = ["apples", "pears", "bananas", "M16"];  
−  _random = _array [[select]] [[floor]] [[random]] [[count]] _array;</code> = Example 3  +  _random = _array [[select]] [[floor]] [[random]] [[count]] _array; 
+  // or since Arma 3 v1.55.133393  
+  _random = [[selectRandom]] _array;</code> = Example 3  
x4= Compare (each command was executed 100000 times to gather statistics):<code>[[floor]] [[random]] 10;  x4= Compare (each command was executed 100000 times to gather statistics):<code>[[floor]] [[random]] 10; 
Revision as of 01:35, 17 November 2015
Hover & click on the images for descriptions
Description
 Description:

Random real (floating point) value from 0 (inclusive) to x (not inclusive).
Since Arma 3 v1.55.133393 alternative syntax is added, allowing to define Gaussian Distribution params. Uses the same method as setTriggerTimeout command. Quite useful for spawning loot for example, making more valuable items more rare.
Syntax
Alternative Syntax
 Syntax:
 random [min, mid, max] Since Arma 3 v1.55.133393
 Parameters:
 [min, mid, max]: Array
 min: Number
 mid: Number
 max: Number
 Return Value:
 Number
Examples
 Example 1:

_rNumber = random 1;
 Example 2:

_rNumber = random 10;
 Example 3:
 To select random value from an array:
_array = ["apples", "pears", "bananas", "M16"]; _random = _array select floor random count _array; // or since Arma 3 v1.55.133393 _random = selectRandom _array;
 Example 4:
 Compare (each command was executed 100000 times to gather statistics):
floor random 10; // 0  10099 (10%) // 1  10040 (10%) // 2  10154 (10%) // 3  9910 (10%) // 4  10023 (10%) // 5  9937 (10%) // 6  10118 (10%) // 7  9716 (10%) // 8  9986 (10%) // 9  10017 (10%) floor random [0,5,10]; // 0  109 (0%) // 1  1604 (2%) // 2  6839 (7%) // 3  16671 (17%) // 4  24706 (25%) // 5  24702 (25%) // 6  16626 (17%) // 7  6925 (7%) // 8  1702 (2%) // 9  116 (0%) floor random [0,10,0]; // 0  19 (0%) // 1  209 (0%) // 2  817 (1%) // 3  2384 (2%) // 4  4841 (5%) // 5  8976 (9%) // 6  14067 (14%) // 7  18955 (19%) // 8  23605 (24%) // 9  26127 (26%) floor random [0,10,5]; // 0  11 (0%) // 1  98 (0%) // 2  430 (0%) // 3  1149 (1%) // 4  2384 (2%) // 5  4546 (5%) // 6  8612 (9%) // 7  16283 (16%) // 8  28393 (28%) // 9  38094 (38%)
Additional Information
 See also:
 Math CommandsselectRandom
Notes
Notes
 Posted on July 12, 2015  20:32 (UTC)
 Hcpookie

Random selections including negative numbers can be obtained via:
_Xrnd = round(random 200) 100;
This will yield numbers between 100 and 100. Be careful using random numbers in multiplayer, each client will come up with a different result. See multiplayer tutorials for more general information about locality.
 The number returned is unlikely to be a whole number.
To return a whole number use either round, ceil or floor together with random:
x=floor(random 5) will return 0,1,2,3 or 4. (uniform distribution, all numbers have the same probability of being selected)
x=ceil(random 5) will return 0,1,2,3,4 or 5. (0 is very unlikely, but possible, as ceil 0 is 0)
Categories:
 Pages using duplicate arguments in template calls
 Scripting Commands
 Scripting Commands Operation Flashpoint
 Scripting Commands Operation Flashpoint: Resistance
 Introduced with Operation Flashpoint version 1.00
 Scripting Commands OFP 1.99
 Scripting Commands OFP 1.96
 Scripting Commands OFP 1.46
 Scripting Commands ArmA
 Command Group: Variables
 Scripting Commands ArmA2
 Scripting Commands Arma 3
 Scripting Commands Take On Helicopters