So yeah i was following path finding tutorials and messing around and well my npc decided to fly / triple jump did i write my code wrong or is it just roblox glitching / i placed walls wrong. GIF There are 2 invis walls on each side no others Code:
local PathfindingService = game:GetService("PathfindingService") local plr = script.Parent local humanoid = plr.Humanoid local destination = game.Workspace.End local path = PathfindingService:CreatePath() local waypoints local currentWaypointIndex = 0 local function showwaypoints() local max = #waypoints for i, v in ipairs(waypoints) do print(i) print(v) local part = Instance.new("Part") part.Shape = "Ball" part.Material = "Neon" part.Name = tostring(i) part.Size = Vector3.new(0.6, 0.6, 0.6) part.Parent = game.Workspace.WayPoints part.Position = v.Position + Vector3.new(0, 3.5, 0) part.Anchored = true part.CanCollide = false if i == 1 then part.BrickColor = BrickColor.new("Lime green") elseif i == max then part.BrickColor = BrickColor.new("Really red") end end end local function followPath(destinationObject) print("follow") path:ComputeAsync(plr.HumanoidRootPart.Position, destinationObject.Position) waypoints = {} if path.Status == Enum.PathStatus.Success then waypoints = path:GetWaypoints() showwaypoints() currentWaypointIndex = 1 humanoid:MoveTo(waypoints[currentWaypointIndex].Position) if waypoints[currentWaypointIndex].Action == Enum.PathWaypointAction.Jump then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end else humanoid:MoveTo(plr.HumanoidRootPart.Position) end end local function onWaypointReached(reached) print("reached") if reached and currentWaypointIndex < #waypoints then currentWaypointIndex = currentWaypointIndex + 1 humanoid:MoveTo(waypoints[currentWaypointIndex].Position) if waypoints[currentWaypointIndex].Action == Enum.PathWaypointAction.Jump then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end end local function onPathBlocked(blockedWaypointIndex) if blockedWaypointIndex > currentWaypointIndex then print("blocked") followPath(destination) end end path.Blocked:Connect(onPathBlocked) humanoid.MoveToFinished:Connect(onWaypointReached) followPath(destination)
also if you've got any script improvements / anyways to fix it please comment / reply!