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

TweenScript Does Not Function AS iNTENEDED?

wait(1)
while script.Parent.Position == (UDim2.new(0.25, 0,0.05, 0))
do script.Parent:TweenPosition(UDim2.new(0.25, 0,0.06, 0))
end
--Now For Up--
wait(2)
while script.Parent:TweenPosition(UDim2.new(0.25, 0,0.06, 0))
do script.Parent:TweenPosition(UDim2.new(0.25, 0,0.05, 0))
end

It crashes my studio too lmao

1 answer

✓ Accepted answer

Let's go through the list of problems.

  • Number One,

You're not waiting in the loop. Please look at the current tip of the day once and a while.

  • Number Two,

You have two while loops and code can't run at the same place at the same time unless you use special functions.

  • Number Three,

You're not telling your tween how long you want it to last, so it happens instantly.

Fix,

After fixing all these problems we get a script that loops somewhat like this,

while wait() do
	if script.Parent.Position == (UDim2.new(0.25, 0,0.05, 0)) then
		script.Parent:TweenPosition(UDim2.new(0.25, 0,0.06, 0),"Out", "Quad", 0.02)
	elseif script.Parent.Position == (UDim2.new(0.25, 0,0.06, 0)) then
		script.Parent:TweenPosition(UDim2.new(0.25, 0,0.05, 0),"Out", "Quad", 0.02)
	end
end

However you made it move so slightly that you'll probably never notice it. So I made it move faster and further. We also really don't need conditional statement, we can just wait for the tween to stop. Example,

while wait(0.5) do
	script.Parent:TweenPosition(UDim2.new(0.25, 0,0.7, 0),"Out", "Quad", 0.5)
	wait(0.5)
	script.Parent:TweenPosition(UDim2.new(0.25, 0,0.4, 0),"Out", "Quad", 0.5)
end

Here's a link for more about tweening.

Good Luck!

If I helped, please don't forget to accept my answer.

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