My code is very simple, it finds nodes, walks to them, then detects for a player. Why isn't this working as well as it should and why is my soldier not moving right before it can detect a node? Here is the script to help you:
local work = game.Workspace
local soldier = script.Parent
local difficulty = work.DifficultyLevel.Value
local Humanoid = soldier.Humanoid
local Torso = soldier.Torso
local NodeIsReady = true
local Viewpoint = 100
local Node1 = work.Node1
local Node2 = work.Node2
print("load")
function findNearestNode()
for i,v in pairs(Node1:GetChildren()) do
if (v.Position - Torso.Position).magnitude<Viewpoint then
Humanoid:MoveTo(v.Position)
end
end
end
print("Function1 redy")
function findNearestTorso(position)
NodeIsReady = false
local torso = nil
local dist = Viewpoint
local temp = nil
local human = nil
local temp2 = nil
local workstuff = work:children()
for x = 1, #workstuff do
local persons = workstuff[x]
if(persons.className=="Model") and(persons~= soldier) then
local temp = persons:FindFirstChild("Left Arm")
local human = persons:FindFirstChild("Humanoid")
if(temp~=nil) and(human~=nil) and(human.Health>0) then
if(temp.Position - position).Magnitude<dist then
torso = temp
end
end
end
end return torso
end
print("function2 ready")
while wait(2) do
print("WAHT DA HERR????")
if script.Parent:FindFirstChild("Torso")~= nil then
local target1 = script.Parent:FindFirstChild("Torso")
print("OH GOD NOT THIS...")
print("yaaaaassss")
local target = findNearestTorso(target1.Position)
if NodeIsReady == true then
print("function 3 ARE YOU READY!!!!")
findNearestNode()
print("I SEE THE LIGHT")
if target ~= nil then
script.Parent.Humanoid:MoveTo(target.Position, target)
end
end
end
end
