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