So I have a NPC that uses PathfindingService, and is meant to follow the nearest player. But when I run from the NPC, no matter what, EVEN if it's WalkSpeed is bigger than mine, it always seems like there's a wall behind me that always blocks it. Script:
local h = script.Parent.Humanoid
local hPart = script.Parent.HumanoidRootPart
local PathfindingService = game:GetService("PathfindingService")
local path = PathfindingService:CreatePath()
local walkAnimation = script.Walk
local walk = h:LoadAnimation(walkAnimation)
local HumanoidRan
HumanoidRan = h.Running:Connect(function(speed)
if speed > 0 then
walk:Play()
else
walk:Stop()
end
end)
local torso = script.Parent.HumanoidRootPart
local spawnCF = torso.CFrame
function FindPlayer()
for _, v in next, game.Players:GetPlayers() do
if v.Character then
local char = v.Character
if char:FindFirstChild("Humanoid") and char:FindFirstChild("HumanoidRootPart") then
local ptorso = char.HumanoidRootPart
if (ptorso.Position - torso.Position).magnitude <= 110 then
return v
end
end
end
end
return nil
end
while wait() do
local player = FindPlayer()
if player ~= nil then
path:ComputeAsync(hPart.Position, player.Character.HumanoidRootPart.Position)
local waypoints = path:GetWaypoints()
for _, waypoint in pairs(waypoints) do
h:MoveTo(waypoint.Position)
end
if player.Character.Humanoid.Health <= 0 then
player.Character.HumanoidRootPart:Destroy()
end
end
end

1 comment
Can you show an example?