mob = script.Parent.Parent
hum = script.Parent.Parent:WaitForChild("Humanoid")
torso = script.Parent.Parent:WaitForChild("UpperTorso")
runAnim = hum:WaitForChild("RunAnim")
anim = hum:LoadAnimation(runAnim)
stayOnTarget = nil
maxRange = 50
findRange = 30
function attack(attacker)
repeat
wait()
local attackPos = attacker.HumanoidRootPart.Position
local distance = (attackPos - torso.Position).magnitude
if distance <= maxRange then
hum.WalkToPoint = attackPos
else
stayOnTarget = nil
break
end
until false
end
while wait() do
for index, player in pairs(game.Players:GetPlayers()) do
print(player.Character)
local char = player.Character --goes wrong here
print(player.Character)
local Distance = (torso.Position - char.HumanoidRootPart.Position).magnitude
if Distance <= findRange then
attacker = player.Character
attack(attacker)
end
end
end
I tried player.Character or player.CharacterAdded:wait() but that doesn't change a thing, it only changes the error enough for me to know that I can't get the character? error: attempt to index local 'char' (a nil value)
