For some reason, my code won’t work with an r6 dummy and I can;'t figure out why…
local NPC = game.Workspace.LocalNPC
local pathfinding_service = game:GetService("PathfindingService")
function getClosestPlayer()
local closest_player, closest_distance = nil, 200
for i, player in pairs(workspace:GetChildren()) do
if player:FindFirstChild("Humanoid") and player ~= NPC then
local distance = (NPC.PrimaryPart.Position - player.PrimaryPart.Position).Magnitude
if distance < closest_distance then
closest_player = player
closest_distance = distance
end
end
end
return closest_player, closest_distance
end
while true do
local path = pathfinding_service:CreatePath()
local player, distance = getClosestPlayer()
if player and distance > 10 then
path:ComputeAsync(NPC.HumanoidRootPart.Position, player.PrimaryPart.Position)
local waypoints = path:GetWaypoints()
for _, waypoint in pairs(waypoints) do
NPC.Humanoid:MoveTo(waypoint.Position)
while true do
local distance = (NPC.PrimaryPart.Position - waypoint.Position).Magnitude
local distance_from_player = (NPC.PrimaryPart.Position - player.PrimaryPart.Position).Magnitude
if distance < 5 then
break
end
if distance_from_player < 10 then
NPC.Humanoid:MoveTo((NPC.HumanoidRootPart.CFrame*CFrame.new(0,0,-3)).p)
break
end
wait()
end
end
end
wait()
end
The script is supposed to make the dummy follow the player but when the dummy is in r6 and the avatar type of the game is r6, the dummy won’t move. Can anyone help?