Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Why does this pathfinding function make the NPC stop working? [SOLVED]

local function FollowPath(masterpath, coord)
	for i, v in pairs(coord) do
		Droid.Humanoid:MoveTo(v)
		local distance
		repeat wait()
			distance = (v - Droid.Head.Position).magnitude
			print(distance)
		until distance < 2
	end
end

This works as expected, with the droid repeatedly moving to each of the coordinates and moving back to it if it's moved off course. However, if it's not near the path for ~8 seconds, it just stops moving and will only start following the path again if I manually push it back to where it was before.

Is there a way to prevent this, or at least have a function that tells it to move back to the path again if it stops moving?

EDIT: The whole script by request of europe EDIT2: Solved by KoreanBBQ

Droid = script.Parent.Parent
PFS = game:GetService('PathfindingService')
    PFS.EmptyCutoff = 0
Debris = game:GetService('Debris')

local function FollowPath(masterpath, coord)
	for i, v in pairs(coord) do
		Droid.Humanoid:MoveTo(v)
		local distance
		repeat wait()
			distance = (v - Droid.Head.Position).magnitude
			print(distance)
		until distance < 2
	end
end

masterpath = PFS:ComputeSmoothPathAsync(Droid.Head.Position, Droid.Head.PathTarget.Position, 512)
coord = masterpath:GetPointCoordinates()
for i, v in pairs(coord) do
	local Part = Instance.new('Part', Droid.Head)
	Part.CFrame=CFrame.new(v)
	Part.Transparency = 0
	Part.Color = Color3.new(0.2, 0, 1)
	Part.Size = Vector3.new(1, 1, 1)
	Part.Anchored = true
	Part.CanCollide = false
	Part.Locked = true
	Part.Name = 'Path'
	Part.Material = Enum.Material.Neon
end

spawn(function() FollowPath(masterpath, coord) end)

1 answer

✓ Accepted answer

Already answered, but put Droid.Humanoid:MoveTo(v) in the repeat loop so it regives order to move

This discussion is preserved as it was. New answers, comments, and votes are closed.