New: Nitro Boost our Discord server and receive full donation perks here on the website! Join the Scripting Helpers Discord Server to learn more! You can also Support on Patreon as always. Still have questions? Join our Discord server and get real time help.
0  # How do I make a randomiser that activates a script? Guarded_Finnbar 9
11 months ago

I have a script that enables the rain, and I want it to randomly turn on, and off. To do this I need a random number every X minutes, and if it is <10. Then the rain turns on/off..

But I haven't been able to figure the Random Number Generator out, can someone please help me out? 0
Use math.random FullMetalEdward45221 101 — 11mo

0   SerpentineKing 3528  11 months ago

You can use the function math.random(min, max) to generate a number, where min is the minimum number, and max is the maximum number which the function can return any number between (inclusively)

i.e. math.random(1, 3) can return the numbers: 1, 2, or 3

An example of this with your scenario would be:

local min = 5 * 60 -- To determine time of (X = 5) minutes in seconds
local rain = script.Parent:WaitForChild("RainScript")

while true do -- Whatever loop you want to use
wait(min)
local random = math.random(0, 20)
if random < 10 then
if rain.Disabled == true then
rain.Disabled = false
else
rain.Disabled = true
end
end
end 0
pls review how logic operators work. rain.Disabled == true XD kingdom5 5486 — 11mo 0   SHAYNE_IP 5
11 months ago
local number = 0
local raining = false

while true do
wait(300)
number = math.random(1,20)
end

if number >10 then
raining = true
else
raining = false
end


I'm not entirely sure if this is what you wanted but every 5 minutes it will choose a random number between 1 and 20. If the number is less than ten then the raining variable will be false, and if it is greater than ten it will be true. 0
placing the if-then statement outside of the loop will make this only run once, when the script is created on the server SerpentineKing 3528 — 11mo