Entity cause damage

I am trying to make it so when my entity touches someone it takes a certain amount of health away.

I am using Ent:PhysicsCollide to make it bounce and when i try to use Ent:Touch or Ent:StartTouch it makes my Swep error saying i am using a Null entity here is the code i used

[lua]function ENT:StartTouch(targ)
if (targ:IsValid() and targ:IsPlayer() or targ:IsNPC) then
targ:AddDamage(10)
end
end[/lua]

Any help please

What is the exact error?

Also, AddDamage is a method for CTakeDamageInfo’s, you need to use **[Entity.TakeDamage

http://wiki.garrysmod.com/favicon.ico](http://wiki.garrysmod.com/?title=Entity.TakeDamage)**.

okay, it says tryin to use NULL Entity or something like that from my SWEP file

[editline]11:37PM[/editline]

Attempted to create unknown entity type air_ball!
weapons\weapon_whiteball\shared.lua:28: Tried to use a NULL entity!

[editline]11:38PM[/editline]

Line 28:

ent:SetPos (self.Owner:EyePos() + (self.Owner:GetAimVector() * 16))

[lua]ent:SetPos(self.Owner:GetEyeTrace().HitPos)
[/lua]

That has nothing to do with this at all,

WhiTAkeR, your entity is not being created because there is an error. Look for another error in your console about the entity.

New problem

[lua]function ENT:Touch(targ)
if targ:GetOwner() then return end

if (targ:IsValid() and targ:IsPlayer() or targ:IsNPC()) then  
	targ:TakeDamage(10,self.Entity:GetOwner())
	print("working")
    end

end[/lua]

Atm the ball wont do any damage to anything, if i swap then the ball kills everything including the owner.

Im probably doin silly mistake but its late and im tired ^^



function ENT:Touch( what )
  if what ~= self:GetOwner( ) then
    what:TakeDamage( 10, self:GetOwner( ) )
  end
end


Something like that, I’d imagine.

That didn’t work it damaged both me and the npc :S

jus tried

[lua]function ENT:Touch(targ)

if !targ:GetOwner() then 
	if (targ:IsValid() and targ:IsPlayer() or targ:IsNPC()) then  
		targ:TakeDamage(10,self.Entity:GetOwner())
		print("working")
	end
end

end[/lua]

That didnt work either

noone ? :frowning:

[lua]function ENT:StartTouch(e)
if ValidEntity(e) and e:IsPlayer() or e:IsNPC() then
e:TakeDamage(self.Damage, self.Owner) – You need to set self.Owner to the player that fires the pellet yourself
end
end[/lua]