I have a script that makes a non humanoid npc "walk" towards a vector3 value:
function goto(goal) repeat wait() script.Parent.Parent.Parent.Center.Anchored = false local mover = script.Parent.Parent.Parent.Center.BodyVelocity script.Parent.Parent.Parent:SetPrimaryPartCFrame(CFrame.new(script.Parent.Parent.Parent.Center.Position,script.Parent.Value)) mover.Velocity = script.Parent.Parent.Parent.Center.CFrame.LookVector * 10 until script.Parent.Parent.Parent.Center.Position == script.Parent.Value end script.Parent.Changed:Connect(function(newval) if newval ~= Vector3.new(0,0,0) then goto(newval) end end)
the script works fine however, the exact position is slightly too low for the npc to reach which makes the script keep trying to repeat. is there a way I can have the npc go to its vector3 value, but not have the y axis matter? I still want x and z to be exact.