while wait() do for i = 1,10,1 do wait(.5) script.Parent.Size = Vector3.new(script.Parent.Size.X,i,script.Parent.Size.Z) script.Parent.CFrame = CFrame.new(Vector3.new(script.Parent.Position.X,script.Parent.Position.Y+.5,script.Parent.Position.Z)) end for i = 10,1,-1 do wait(.5) script.Parent.Size = Vector3.new(script.Parent.Size.X,i,script.Parent.Size.Z) script.Parent.CFrame = CFrame.new(Vector3.new(script.Parent.Position.X,script.Parent.Position.Y-.5,script.Parent.Position.Z)) end end
Even though with CFrame, parts can go through parts, for some reason this isn't working properly.
Here is how I generally use CFrame and it works for me every time:
script.Parent.CFrame = script.Parent.CFrame (+ or -) Vector3.new(x,y,z)
So I reccomend you try something like this:
for i = 10,1,-1 do wait(.5) script.Parent.Size = Vector3.new(script.Parent.Size.X,i,script.Parent.Size.Z) script.Parent.CFrame = script.Parent.CFrame-Vector3.new(0,0.5,0) end