OK so I have this script and everything looks like it would work, but its doing nothing, there are no errors in the output or anything. the problem is in the findNearestTarget() function, it wont update tar(A Vector3Value). please help!?!?!
local player = script.Parent
local followingPath = false
torso = script.Parent.Torso
range = 500
target = nil
function findNearestTarget()
for _,plr in pairs(game.Players:GetPlayers()) do
if plr.Character ~= nil then
tor = plr.Character.Torso
if target ~= nil then
if(torso.Position-tor.Position).magnitude < (torso.Position-target.Torso.Position).magnitude or (torso.Position-tor.Position).magnitude <= range then
target = plr.Character
break
end
end
end
end
end
while true do
wait(.1)
findNearestTarget()
if target~=nil then
script.Parent.tar.Value = Vector3.new(target.Torso.Position)
end
end
while true do
if not followingPath then
followingPath = true
path = game:GetService("PathfindingService"):ComputeRawPathAsync(player.Torso.Position, script.Parent.tar.Value, 500)
points = path:GetPointCoordinates()
game.Workspace.Points:ClearAllChildren()
for p = 1, #points do
local part = Instance.new("Part")
part.Size = Vector3.new(1, 1, 1)
part.Position = points[p]
part.Anchored = true
part.CanCollide = false
part.Parent = game.Workspace.Points
end
for _, point in pairs(points) do
script.Parent.Zombie:MoveTo(point)
repeat
distance = (point - player.Torso.Position).magnitude
wait()
until distance < 3
end
followingPath = false
end
wait(0.1)
end
