Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local NPC = workspace.Dummy
- 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 player, distance = getClosestPlayer()
- if player and distance > 10 then
- NPC.Humanoid:MoveTo(player.PrimaryPart.Position)
- local stopped
- NPC.Humanoid.MoveToFinished:Connect(function()
- stopped = true
- end)
- repeat
- local distance = (NPC.PrimaryPart.Position-player.PrimaryPart.Position).Magnitude
- if distance < 10 then
- NPC.Humanoid:MoveTo((NPC.HumanoidRootPart.CFrame*CFrame.new(0,0,-3)).p)
- break
- end
- wait()
- until stopped == true
- else
- wait(1)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement