This script sometimes works, but sometimes doesn't. It says that there are error in Line 22.
PlayerName = script.Parent.Parent.Parent.Name Tool = script.Parent Damage = script.Parent.Settings.FakeDamage local ButtonPressed = false Tool.Equipped:connect(function(Mouse) Mouse.Button1Down:connect(function() ---------------------------------------------------------------------- script.Parent.DamagePart.Touched:connect(function(hit) if not ButtonPressed then --is it not pressed? ButtonPressed = true print("Here") ----------------------- if hit.Parent then local human = hit.Parent hum = human:FindFirstChild("Settings") if hum then hum.HP.Value = hum.HP.Value - script.Parent.Settings.FakeDamage.Value x = hit.Parent:FindFirstChild("Fighters") y = x:FindFirstChild(PlayerName) if not y then z = Instance.new("IntValue") z.Parent = x z.Name = PlayerName end else print("Settings Not Found") end wait(1) end ------------------------ ButtonPressed = false end end) --------------------------------------------------------------------- end) end)
hit.Parent does not have a child with this name
"Fighters"
that is why you are getting a nil value
I would recommend making sure that you are getting the child "Fighters" from the right parent
Try a minor change to line 18: if hum and hit.Parent:FindFirstChild("Fighters") then