The title says it all but I have a pathfinding npc killer who moves to your position if you are in their line of sight, but if you get out of their line of sight and they start to pathfind, the npc moves backwards as if there is a waypoint behind them. This makes it easy to distance yourself from the npc. Any help would be appreciated!
A common technique is to just skip the first 1 or 2 waypoints
How would I make the script skip a waypoint?
post your code chars chars chars
Moving to waypoints
for _, waypoint in ipairs(waypoints) do
humanoidRootPart:SetNetworkOwner(game.Players:GetPlayerFromCharacter(target.Parent))
if waypoints[4] then
humanoid:MoveTo(waypoints[4].Position)
distance = (humanoidRootPart.Position - waypoints[4].Position).Magnitude
if checkSight(target) then
repeat
wait()
humanoid:MoveTo(target.Position)
if target == nil or target.Parent == nil or target.Parent.Humanoid == nil or target.Parent.Humanoid.Health < 1 or humanoid.Health < 1 then
break
end
until not checkSight(target)
end
if distance <= 0.5 then
pathfind(target)
end
end
Try
for i, waypoint in ipairs(waypoints) do
if i <= 2 then continue end --change 2 to however many waypoints you want to skip
humanoidRootPart:SetNetworkOwner(game.Players:GetPlayerFromCharacter(target.Parent))
if waypoints[4] then
humanoid:MoveTo(waypoints[4].Position)
distance = (humanoidRootPart.Position - waypoints[4].Position).Magnitude
if checkSight(target) then
repeat
wait()
humanoid:MoveTo(target.Position)
if target == nil or target.Parent == nil or target.Parent.Humanoid == nil or target.Parent.Humanoid.Health < 1 or humanoid.Health < 1 then
break
end
until not checkSight(target)
end
if distance <= 0.5 then
pathfind(target)
end
end
You should always skip the first waypoint. Even if the humanoid reached the goal and you compute again, 2 waypoints will always be generated.
Thanks! 2 waypoints didn’t work so I increased it until it did, and skipping 4 waypoints fixed the problem.
Edit: It doesn’t work anymore for some reason and just causes bugs.
Skipping 4 waypoints is a lot and this may cause the humanoid to get stuck if its in a tight place like a maze. Skip only the first waypoint.
From Roblox’s pathfinding tutorial:
“Initially move to second waypoint (first waypoint is path start; skip it)”
Ok, I’ll test with a bit of robloxs code as the bot pauses for a second when skipping 4 points, something I didn’t notice earlier
So now my bot is very stupid and will stop moving when pathfinding