random
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 (Alternative Syntax 1)
Since Arma 3 v1.67.139663 two alternative syntaxes are available: allowing to generate semirandom number based on provided seed (Alternative Syntax 2)
 generating pseudorandom noise texture based on provided seed and returning a single number between 0 (included) and 1 (excluded) at supplied x and y coordinates (Alternative Syntax 3)
 Groups:
 Uncategorised
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
Alternative Syntax 2
 Syntax:
 seed random x (Since Arma 3 v1.67.139663)
 Parameters:
 seed: Number
 x: Number
 Return Value:
 Number
Alternative Syntax 3
 Syntax:
 seed random [x, y] (Since Arma 3 v1.67.139663)
 Parameters:
 seed: Number
 [x, y]: Array position on the Perlin noise texture
 x: Number
 y: Number
 Return Value:
 Number
Examples
 Example 1:
_rNumber = random 1;
 Example 2:
_rNumber = random 10;
 Example 3:
 Generate random position inside a circle
_center getPos [_radius * sqrt random 1, random 360];
 Example 4:
 To select random value from an array:
_array = ["apples", "pears", "bananas", "M16"]; _random = _array select floor random count _array; // since Arma 3 v1.55.133393 _random = selectRandom _array;
Additional Information
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
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.
x = round(random 5) will return 0,1,2,3,4 or 5. (nonuniform distribution, 0 and 5 are half as likely to be selected than any of the other numbers) 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)
 Posted on July 22, 2018  12:58 (UTC+2)
 Lou Montana

Repartition comparison Formula 0 1 2 3 4 5 6 7 8 9 floor random 10; 10% 10% 10% 10% 10% 10% 10% 10% 10% 10% floor random [0, 5, 10] 0% 2% 7% 17% 25% 25% 17% 7% 2% 0% floor random [0, 10, 0] 0% 0% 1% 2% 5% 9% 14% 19% 24% 26% floor random [0, 10, 5] 0% 0% 0% 1% 2% 5% 9% 16% 28% 38%
Categories:
 Scripting Commands
 Introduced with Operation Flashpoint version 1.00
 Operation Flashpoint: New Scripting Commands
 Operation Flashpoint: Scripting Commands
 Command Group: Uncategorised
 Scripting Commands OFP 1.46
 Scripting Commands OFP 1.96
 Scripting Commands OFP 1.99
 Scripting Commands ArmA
 Command Group: Variables
 Scripting Commands ArmA2
 Scripting Commands Take On Helicopters
 Scripting Commands Arma 3