for i, wayPoint in pairs(path:GetWaypoints()) do
char.Humanoid:MoveTo(wayPoint.Position)
if wayPoint.Action == Enum.PathWaypointAction.Jump then
char.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
char.Humanoid.MoveToFinished:wait()
--script.Parent.Donelol.Value = true
char = script.Parent
repeat wait() until char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid")
PathfindingService = game:GetService(“PathfindingService”)
local function walkTo(part)
path = PathfindingService:CreatePath()
path:ComputeAsync(char.HumanoidRootPart.Position, part.Position)
for i, wayPoint in pairs(path:GetWaypoints()) do
char.Humanoid:MoveTo(wayPoint.Position)
if wayPoint.Action == Enum.PathWaypointAction.Jump then
char.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
char.Humanoid.MoveToFinished:wait()
end
end
walkTo(workspace.Destination)
It uses a for loop, script won’t continue until first function finishes. So script will wait until character walks to the destination1 and then will start going to the destination2.