Loops don't always work, for smoother movement, I would recommend the TweenService. While it seems complicated at first it's not too bad once you get a hold of it.
Also if this is a Script you can't use Players.LocalPlayer, if it is a Local Script you should change it to a Script object.
In your case, the script would look like this:
local TweenService = game:GetService("TweenService")
local tweenInfo = TweenInfo.new(10)
local part = script.Parent
local goalSize = Vector3.new(1,1,1)
local tween = TweenService:Create(part,tweenInfo,{Size = goalSize})
script.Parent.Touched:Connect(function(hit)
if hit:FindFirstAncestorWhichIsA("Model") then
tween:Play()
end
end)