Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Why wont this particle emitter changes colors correctly?

Asked by 5 years ago
Edited 5 years ago

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)


1 answer

Log in to vote
1
Answered by 5 years ago
Edited 5 years ago

The problem is you're using 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 

On a side note, switch to :Connect() as :connect() is deprecated and should not be used in new work (line 76).

1
thank you i love you User#23462 0 — 5y
Ad

Answer this question