I have a script that makes a plant grow, and currently the script makes the bottom part, the primary part, always be touching the floor/baseplate. But that only works when it is already touching the baseplate. Moving the plant up causes it to reposition upwards more than it should. Any help?
function resizeModel(model,a) local base = model.PrimaryPart.Position for _,part in pairs(model:GetDescendants()) do if part:IsA("BasePart") then part.Position = base:Lerp(part.Position,a) part.Size *= a end end end local ss = game.ServerStorage while true do wait(0.01) while script.Parent.PrimaryPart.Size.X < game.ServerStorage:FindFirstChild(script.Parent.Name).PrimaryPart.Size.X * 4 do -- this is running until the model hits approx 10 times its original size wait(.01) resizeModel(script.Parent, 1 + ( game.ServerStorage:FindFirstChild(script.Parent.Name).PrimaryPart.Size.X / 100 )) -- this is actually resizing the model local offset = 1 + game.ServerStorage:FindFirstChild(script.Parent.Name).PrimaryPart.Size.X * .01 script.Parent:PivotTo(CFrame.new(script.Parent.PrimaryPart.Position.X,script.Parent.PrimaryPart.Position.Y * offset, script.Parent.PrimaryPart.Position.Z)) -- this is my base for compensating with the ground script.Parent:PivotTo(script.Parent:GetPivot() * CFrame.Angles(0, math.rad(0), 0)) -- ^ angle of rotation for the plant end end