This script is fully functional, but for whatever reason it doesn't work unless I disable it then enable it. If this matters, it is inside the StarterGui.
Colors={script.b1,script.b2,script.b3,script.b4}
Frame={script.Parent.a1,script.Parent.a2,script.Parent.a3}
Sequence={1,2,3,4,3,2}
Frame[1].BackgroundColor3=Colors[Sequence[1]].Value
Frame[2].BackgroundColor3=Colors[Sequence[1]].Value
Frame[3].BackgroundColor3=Colors[Sequence[1]].Value
wait(.01)
while true do
local w=0.07
Frame[1].BackgroundColor3=Colors[Sequence[5]].Value
Frame[2].BackgroundColor3=Colors[Sequence[2]].Value
wait(w)
Frame[1].BackgroundColor3=Colors[Sequence[6]].Value
Frame[2].BackgroundColor3=Colors[Sequence[3]].Value
wait(w)
Frame[1].BackgroundColor3=Colors[Sequence[1]].Value
Frame[2].BackgroundColor3=Colors[Sequence[4]].Value
wait(w)
Frame[2].BackgroundColor3=Colors[Sequence[5]].Value
Frame[3].BackgroundColor3=Colors[Sequence[2]].Value
wait(w)
Frame[2].BackgroundColor3=Colors[Sequence[6]].Value
Frame[3].BackgroundColor3=Colors[Sequence[3]].Value
wait(w)
Frame[2].BackgroundColor3=Colors[Sequence[1]].Value
Frame[3].BackgroundColor3=Colors[Sequence[4]].Value
wait(w)
Frame[3].BackgroundColor3=Colors[Sequence[5]].Value
Frame[1].BackgroundColor3=Colors[Sequence[2]].Value
wait(w)
Frame[3].BackgroundColor3=Colors[Sequence[6]].Value
Frame[1].BackgroundColor3=Colors[Sequence[3]].Value
wait(w)
Frame[3].BackgroundColor3=Colors[Sequence[1]].Value
Frame[1].BackgroundColor3=Colors[Sequence[4]].Value
wait(w)
end
