This script changes the color of a particle emitter, but its only changing when I get to the 7th color?
Edit: I tried changing what colors it switches to and found that when I add one color it makes the other colors not work and vise virsa??? How do I fix this??
wait(1) local colorone = Color3.new(255,255,255) local colortwo = Color3.new(255,255,255) function onClick() script.Parent.Sound:Play() wait(.1) -- Sound if colorone == Color3.new(255,255,255) and colortwo == Color3.new(255,255,255) then colorone = Color3.new(170,0,0) colortwo = Color3.new(170,0,0) game.Workspace.MapContents.Gate.Brick1.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) game.Workspace.MapContents.Gate.Brick2.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) else if colorone == Color3.new(85,255,255) and colortwo == Color3.new(85,255,255) then colorone = Color3.new(255,170,255) colortwo = Color3.new(255,170,255) game.Workspace.MapContents.Gate.Brick1.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) game.Workspace.MapContents.Gate.Brick2.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) else if colorone == Color3.new(255,170,255) and colortwo == Color3.new(255,170,255) then colorone = Color3.new(85,170,255) colortwo = Color3.new(85,170,255) game.Workspace.MapContents.Gate.Brick1.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) game.Workspace.MapContents.Gate.Brick2.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) else if colorone == Color3.new(85,170,255) and colortwo == Color3.new(85,170,255) then colorone = Color3.new(255,85,255) colortwo = Color3.new(255,85,255) game.Workspace.MapContents.Gate.Brick1.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) game.Workspace.MapContents.Gate.Brick2.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) else if colorone == Color3.new(255,85,255) and colortwo == Color3.new(255,85,255) then colorone = Color3.new(85,85,255) colortwo = Color3.new(85,85,255) game.Workspace.MapContents.Gate.Brick1.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) game.Workspace.MapContents.Gate.Brick2.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) else if colorone == Color3.new(85,85,255) and colortwo == Color3.new(85,85,255) then colorone = Color3.new(255,0,255) colortwo = Color3.new(255,0,255) game.Workspace.MapContents.Gate.Brick1.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) game.Workspace.MapContents.Gate.Brick2.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) else if colorone == Color3.new(255,0,255) and colortwo == Color3.new(255,0,255) then colorone = Color3.new(255,255,255) colortwo = Color3.new(255,255,255) game.Workspace.MapContents.Gate.Brick1.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) game.Workspace.MapContents.Gate.Brick2.ParticleEmitter.Color = ColorSequence.new(colorone, colortwo) end end end end end end end end script.Parent.ClickDetector.MouseClick:connect(onClick)
Color3.new
and Color3.new
takes arguments of three numbers between 0 and 1. Anything over that will give you a white or black colour. You need to divide each number by 255 to get your desired colour, or use Color3.fromRGB
. Color3.fromRGB
takes arguments between 0 and 255, which will get your colour without the need to divide.Color3.new(85/255, 85/255, 1) -- 255/255 == 1 lol Color3.fromRGB(85, 85, 255) -- No division hassle
:Connect()
as :connect()
is deprecated and should not be used in new work (line 76).