Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Why is the node pathfinding not working???[SOLVED BY SELF]

Asked by 9 years ago

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

Answer this question