Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

How do I make a randomiser that activates a script?

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?

Thanks in advance.

1 comment

0

Use math.random

2 answers

✓ Accepted answer

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

1 comment

0

pls review how logic operators work. rain.Disabled == true XD

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.

1 comment

0

placing the if-then statement outside of the loop will make this only run once, when the script is created on the server

This discussion is preserved as it was. New answers, comments, and votes are closed.