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

Bullet hit returns nil even though it touches another person?

Asked by 5 years ago
function Shoot()

if Ammo > 0 then

local ray = Ray.new(script.Parent.Handle.CFrame.Position, (Mouse.Hit.Position - script.Parent.Handle.CFrame.Position))

local Hit,position = workspace:FindPartOnRayWithIgnoreList(ray,{script.Parent.Handle})

local magnitude = (script.Parent.Handle.Position - Mouse.Hit.Position).Magnitude

if Hit ~= nil then

print(Hit.Parent.Name)

if Hit.Parent:FindFirstChild("Humanoid") then

Hit.Parent.Humanoid:TakeDamage(5)

elseif Hit.Parent.Parent:FindFirstChild("Humanoid") then

Hit.Parent.Parent.Humanoid:TakeDamage(5)

end

end

end

end

From time to time, it does not do any damage. Yes, the script has a button1down function that fires the function. But why does it not do damage each time?

Answer this question