Can't stop bullet from firing

From wiki:
Function Callback - function to be called when each bullet hits (called once per bullet, so a bullet with num 5 will get 5 callbacks.) Gets passed 3 arguments: Entity Attacker, TraceRes(TraceRes) BulletPath, CTakeDamageInfo DamageInfo. It can return a structure with the members Boolean damage and Boolean effects. Setting either to false will stop the engine doing that action.

I tried to return false, false or {false,false} in callback, but bullet still shooting and i got bullet holes on the wall.

Here is my code:

			bullet.Callback = function(attacker, tr, dmginfo)
				local far = dmginfo:GetDamagePosition():Distance(attacker:GetPos())
				if far > 60 then
					return {false,false}
					return {true, false}

This is all for knife, i don’t want to draw that bullet holes and don’t want to shot bullets far…

Did you try return {damage=false,effects=false}?
Though if I remember correctly, this never really worked for me.