I was making an enemy, and all was going well until I found this bug. I don't know how exactly it works, but when I move a certain way for some reason it throws off the script and the enemy begins to move straight the direction about 90 degrees from the way I'm facing. I've been looking at it for quite a bit and I cant find what's going wrong. Thx in advance for any help.
local startingPos = script.Parent.HumanoidRootPart.Position
function findNearestTorso(pos)
local list = game.Workspace:children()
local torso = nil
local dist = 75
local temp = nil
local human = nil
local temp2 = nil
for x = 1, #list do
temp2 = list[x]
if (temp2.className == "Model") then
temp = temp2:findFirstChild("HumanoidRootPart")
human = temp2:findFirstChild("Humanoid")
if (temp ~= nil) and (human ~= nil) and (human.Parent.HealthPoints.Value > 0) then
if (((temp.Position - pos) + (pos - startingPos))).magnitude < dist then
dist = (((temp.Position - pos) + (pos - startingPos))).magnitude
torso = temp
end
end
end
end
return torso
end
while true do
wait()
local target = findNearestTorso(script.Parent.HumanoidRootPart.Position)
if target ~= nil then
script.Parent.Humanoid:MoveTo(target.Position, target)
else
script.Parent.Humanoid:MoveTo(startingPos)
end
end
