1

# How to fix math.random not randomizing part's BrickColor?

R0jym 14
16 days ago
Edited 16 days ago

Hello there, I made a script in which the part named "painter" randomizes the color of another part named "Cover" with the math.random script, however upon trying it the Cover only appears as color Gold with the Paper aswell colored as Gold even though my script clearly says that the Paper should be white, how do I fix this?

NOTE: There is a script inside the "Cover" part which is just cloning it along with it's children

local RandomColorGenerator = math.random(1, 5)
local Cover = game.Workspace:WaitForChild("Cover")
local Paper = Cover.Paper
local painter = script.Parent

painter.Touched:Connect(function(Cover)
if RandomColorGenerator == 1 then
Cover.BrickColor = BrickColor.new("Navy blue")
Paper.BrickColor = BrickColor.new("White")
end
if RandomColorGenerator == 2 then
Cover.BrickColor = BrickColor.new("Maroon")
Paper.BrickColor = BrickColor.new("White")
end
if RandomColorGenerator == 3 then
Cover.BrickColor = BrickColor.new("Gold")
Paper.BrickColor = BrickColor.new("White")
end
if RandomColorGenerator == 4 then
Cover.BrickColor = BrickColor.new("Magenta")
Paper.BrickColor = BrickColor.new("White")
end
if RandomColorGenerator == 5 then
Cover.BrickColor = BrickColor.new("Sea green")
Paper.BrickColor = BrickColor.new("White")
end
end)


0
Not sure what the issue is here to be honest. However, you could try moving the RandomColorGeneration variable into the start of the function rather than outside of it. KingDomas 148 — 16d
0
I just started learning LUA in a couple of days maybe try FindFirstChild event instead of WaitForChild? JerkDerekThe14alt 11 — 16d

0
rabbi99 692
16 days ago

You wanna get a random number every time you touch it, so you use the math.random function every time you touch it:

local Cover = game.Workspace:WaitForChild("Cover")
local Paper = Cover.Paper
local painter = script.Parent

painter.Touched:Connect(function(Cover)
local RandomColorGenerator = math.random(1, 5)
if RandomColorGenerator == 1 then
Cover.BrickColor = BrickColor.new("Navy blue")
Paper.BrickColor = BrickColor.new("White")
end
if RandomColorGenerator == 2 then
Cover.BrickColor = BrickColor.new("Maroon")
Paper.BrickColor = BrickColor.new("White")
end
if RandomColorGenerator == 3 then
Cover.BrickColor = BrickColor.new("Gold")
Paper.BrickColor = BrickColor.new("White")
end
if RandomColorGenerator == 4 then
Cover.BrickColor = BrickColor.new("Magenta")
Paper.BrickColor = BrickColor.new("White")
end
if RandomColorGenerator == 5 then
Cover.BrickColor = BrickColor.new("Sea green")
Paper.BrickColor = BrickColor.new("White")
end
end)