Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

GUI Script with no errors, uses ImageColor3 to change color of a picture. Why does it not work?

I wrote a script for my GUI. It says it has no errors, but it does not work... Why?


local waitvalue = 0.065
local textlabel = script.Parent.TextLabel_Roundify_2px.ImageColor3

while true do
	textlabel = Color3.new(1,0,0)
	wait(waitvalue)
	textlabel = Color3.new(1,0.1,0)
	wait(waitvalue)
	textlabel = Color3.new(1,0.2,0)
	wait(waitvalue)
	textlabel = Color3.new(1,0.3,0)
	wait(waitvalue)
        textlabel = Color3.new(1,0.4,0)
	wait(waitvalue)
	textlabel = Color3.new(1,0.5,0)
	wait(waitvalue)
	textlabel = Color3.new(1,0.6,0)
	wait(waitvalue)
	textlabel = Color3.new(1,0.7,0)
	wait(waitvalue)
	textlabel = Color3.new(1,0.8,0)
	wait(waitvalue)
	textlabel = Color3.new(1,0.9,0)
	wait(waitvalue)
	textlabel = Color3.new(1,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0.9,1,0)
        wait(waitvalue)
	textlabel = Color3.new(0.8,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0.7,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0.6,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0.5,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0.4,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0.3,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0.2,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0.1,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0.1)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0.2)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0.3)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0.4)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0.5)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0.6)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0.7)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0.8)
	wait(waitvalue)
	textlabel = Color3.new(0,1,0.9)
	wait(waitvalue)
	textlabel = Color3.new(0,1,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0.9,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0.8,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0.7,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0.6,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0.5,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0.4,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0.3,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0.2,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0.1,1)
	wait(waitvalue)
	textlabel = Color3.new(0,0,1)
	wait(waitvalue)
	textlabel = Color3.new(0.1,0,1)
	wait(waitvalue)
	textlabel = Color3.new(0.2,0,1)
	wait(waitvalue)
	textlabel = Color3.new(0.3,0,1)
	wait(waitvalue)
	textlabel = Color3.new(0.4,0,1)
	wait(waitvalue)
	textlabel = Color3.new(0.5,0,1)
	wait(waitvalue)
	textlabel = Color3.new(0.6,0,1)
	wait(waitvalue)
	textlabel = Color3.new(0.7,0,1)
	wait(waitvalue)
	textlabel = Color3.new(0.8,0,1)
	wait(waitvalue)
	textlabel = Color3.new(0.9,0,1)
	wait(waitvalue)
	textlabel = Color3.new(1,0,1)
	wait(waitvalue)
	textlabel = Color3.new(1,0,0.9)
	wait(waitvalue)
	textlabel = Color3.new(1,0,0.8)
	wait(waitvalue)
	textlabel = Color3.new(1,0,0.7)
	wait(waitvalue)
	textlabel = Color3.new(1,0,0.6)
	wait(waitvalue)
	textlabel = Color3.new(1,0,0.5)
	wait(waitvalue)
	textlabel = Color3.new(1,0,0.4)
	wait(waitvalue)
	textlabel = Color3.new(1,0,0.3)
	wait(waitvalue)
	textlabel = Color3.new(1,0,0.2)
	wait(waitvalue)
	textlabel = Color3.new(1,0,0.1)
	wait(waitvalue)
end

Thanks in advance!

1 comment

0

try to test this script for different gui

1 answer

The reason why your Image label inst changing colour is because your trying to change the static value that outside your while true do loop.

A better way is to change your script to the following:

local waitvalue = 0.065
local textlabel = script.Parent.TextLabel_Roundify_2px

while true do
	textlabel.ImageColor3 = Color3.new(1,0,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0.1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0.2,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0.3,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0.4,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0.5,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0.6,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0.7,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0.8,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0.9,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.9,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.8,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.7,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.6,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.5,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.4,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.3,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.2,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.1,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0.1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0.2)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0.3)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0.4)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0.5)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0.6)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0.7)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0.8)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,0.9)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,1,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0.9,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0.8,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0.7,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0.6,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0.5,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0.4,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0.3,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0.2,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0.1,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.1,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.2,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.3,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.4,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.5,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.6,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.7,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.8,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(0.9,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,1)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,0.9)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,0.8)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,0.7)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,0.6)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,0.5)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,0.4)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,0.3)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,0.2)
	wait(waitvalue)
	textlabel.ImageColor3 = Color3.new(1,0,0.1)
	wait(waitvalue)
end

This should work.

Just wondering do you know about the internal Color3.fromHSV() function ?, it does almost exactly what you're trying to do here. just need a little setup.

Code:

local waitvalue = 0.065
local textlabel = script.Parent.TextLabel_Roundify_2px
local Hue = 0
local Hue_Step = 0.1
while true do
	textlabel.ImageColor3 = Color3.fromHSV(Hue,1,1)
	wait(waitvalue)
	Hue = Hue + Hue_Step  <= 1 and Hue+Hue_Step or 0 -- this is an inline if statment it simply checks to see if hue goes above 1 and if so it resets it back to 0 otherwise it just adds the Hue_Step to the hue see above
end

Hope this helps! :)

This discussion is preserved as it was. New answers, comments, and votes are closed.