Roblox Для поиска пути назад и вперед при достижении пункта назначения требуется прыгать

#roblox

Вопрос:

По какой-то причине, когда цель назначения находится где-то там, где требуется прыгать, чтобы добраться до моего NPC, он движется к ней, продолжая переключаться между перемещениями вперед и назад.

Код:

 local path = PathfindingService:CreatePath()

local waypoints
local currentWaypointIndex

local function followPath(destinationObject)
    
    path:ComputeAsync(enemyNPC.HumanoidRootPart.Position, destinationObject.Position)

    waypoints = {}

    if path.Status == Enum.PathStatus.Success then
        waypoints = path:GetWaypoints()
        currentWaypointIndex = 1
        humanoid:MoveTo(waypoints[currentWaypointIndex].Position)
    else
        error("Path not really working")
    end
end

local function onWaypointReached(reached)
    if reached and currentWaypointIndex < #waypoints then
        currentWaypointIndex  = 1

        if waypoints[currentWaypointIndex].Action == Enum.PathWaypointAction.Jump then
            humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
        end

        humanoid:MoveTo(waypoints[currentWaypointIndex].Position)
    end

    if reached and currentWaypointIndex >= #waypoints then
        print("Target reached!")
        animationTrack:Stop()
    end
end

local function onPathBlocked(blockWaypointIndex)
    if blockWaypointIndex > currentWaypointIndex then
        followPath(destination)
    end
end

path.Blocked:Connect(onPathBlocked)

humanoid.MoveToFinished:Connect(onWaypointReached)
followPath(destination)
 

(Я удалил верхнюю часть кода с некоторыми локальными переменными, потому что это не позволило мне опубликовать все это, не сказав, что мой пост в основном состоит из кода)

Кто — нибудь знает, что я делаю не так?

Ответ №1: