Can someone tell me what's wrong with my script?

So my code changes the color and point light color going from right side to left side as can be seen in the gyazo. But even though I use a math.random for the colors, it only changes between 2 colors over and over? Any idea what’s wrong here?
https://gyazo.com/022fb7c46dc1cc21505d64a1a79ceb68

local p = script.Parent
local myTable = {
	p["Light1"],
	p["Light2"],
	p["Light3"],
	p["Light4"],
	p["Light5"], 
	p["Light6"], 
	p["Light7"], 
	p["Light8"], 
	p["Light9"], 
}

while true do
	local myColor = Color3.new(math.random(0,255), math.random(0,255), math.random(0,255))
	local myColorOG = myTable[1]["Light"].PointLight.Color
	--wait(2)
	for i = 1,9 do
		print("looping1 "..i)
		myTable[i]["Light"].PointLight.Color = Color3.new(myColor)
		myTable[i]["Light"].BrickColor = BrickColor.new(myColor)
		wait(.2)
	end
	--wait(2)
	for i = 9,1,-1 do
		print("looping2 "..i)
		myTable[i]["Light"].PointLight.Color = Color3.new(myColorOG)
		myTable[i]["Light"].BrickColor = BrickColor.new(myColorOG)
		wait(.2)
	end
	print("test?")
	
end

Color3.new goes from 0 to 1. You can use Color3.fromRGB, but in this case it is better to just drop the arguments from math.random.
Color3.new(math.random(), math.random() …

When did they change that? I don’t recall that being the case.

local myColor = Color3.new(math.random(), math.random(), math.random())
PointLight.Color = Color3.new(myColor) 

– this doesn’t seem to work?

Why are you using Color3.new() twice?

oh mistake oh mistake oh mistake

LightShow.rbxm (4.0 KB)
Not sure if it’s all handled now, but here’s another example piece that could help. :slight_smile: