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

Need help with a werid problem on a zombie ai script?

Asked by 5 years ago

so basicly heres the justs of it.. the zombie starts out with a big sphere outside of it. you touch it and the zombie comes after you. and then you can either kill it or run away from it and then it will stoping chasing you. but the error happens when it starts chasing you and then it stops chasing you it brings up a error and i have been stuck on it for about 2 hours now and i still cant figure it out. here is the main script and the module script..

local zombie = script.Parent
local humanoid = zombie.Humanoid
local hrp = zombie.HumanoidRootPart
local za = require(script.ZombieMovement) -- this is the small zombie API i made 


function start()
    local s = za.makesphere(hrp.Position) 
    s.Touched:Connect(function(hit)
        if hit.Name == "UpperTorso" then
            s:Destroy()
            print("go")
            print(hit.Parent)
            za.trackplayer(hit.Parent)
        end
    end)

end


start()






and the mod script

local m = {}
 function movethezombie(player) --moves the zombie to the players position
    local pfs = game:GetService("PathfindingService"):ComputeRawPathAsync(script.Parent.Parent.HumanoidRootPart.Position,player.HumanoidRootPart.Position,500)
    local path = pfs:GetPointCoordinates()
    script.Parent.Parent.Humanoid.WalkToPoint = path[2]
    end
function m.trackplayer(player) -- trakcs on to the player 
    local zh = script.Parent.Parent.Humanoid
    local hrp = script.Parent.Parent.HumanoidRootPart
    print("Started")

    while((player.HumanoidRootPart.Position - hrp.Position).magnitude < 45) do -- this little part right here basicly (in theory) will make the zombie stop 
    end -- tracking you if you are at a certain range from it 
    return
end

function m.makesphere(pos) -- this sphere will spawn around the zombie and will start chasing you if you touch it
    local a = Instance.new("Part",workspace)
    a.Size = Vector3.new(25,25,25)
    a.CanCollide = false 
    a.Position = pos 
    a.Shape = Enum.PartType.Ball
    a.Anchored = true

    return a
end

return m

Answer this question