for i, v in ipairs(path:GetWaypoints()) do
--Distance to goal
local dist = (restockerNPCHum.RootPart.Position - v.Position).Magnitude
dist = dist - restockerNPCSize.Z/2 --Dist minus thickness of character
--Time
local calculatedTime = (dist/restockerNPCHum.WalkSpeed)
local currPos = restockerNPC:GetPivot().Position
local goalPos = v.Position
--Vector Direction looking toward our goal position from current pos (ignoring Y axis)
local lookVector = CFrame.lookAt(currPos, v.Position).LookVector * Vector3.new(1,0,1)
--Position 10 units forward of goal position relative to character lookVector
local lookAt = v.Position + (lookVector * -10)
--Final CFrame to tween to
local calculatedCFrame = CFrame.lookAt(v.Position, lookAt)
local tween = tweenService:Create(restockerNPCHum.RootPart, TweenInfo.new(calculatedTime, Enum.EasingStyle.Linear), {CFrame = calculatedCFrame})
tween:Play()
tween.Completed:Wait()
end