Need some help with entities!


AddCSLuaFile( "cl_init.lua" )
AddCSLuaFile( "shared.lua" )
include ("shared.lua")

function ENT:Initialize()
	self:SetModel( "models/Items/item_item_crate.mdl" )
	self:PhysicsInit( SOLID_VPHYSICS )
	self:SetMoveType( MOVETYPE_VPHYSICS )
	self:SetSolid( SOLID_VPHYSICS )
	self:SetUseType ( SIMPLE_USE )
	self:DrawShadow( false )
end
 
 	 cratebarx = -100
	 cratebarh = -350

function ENT:Use( a, c ) 
	local t = 2
	num = math.random (1,6) 
			if num == 1 then 
		timer.Simple( t, function ()
		a:Give ("weapon_357")
		self:Remove() end)
		
			elseif num == 2 then
		timer.Simple( t, function ()	a:Give ("weapon_ar2")
		self:Remove() end )
		
			elseif num == 3 then
		timer.Simple( t, function()	a:Give ("weapon_slam")
		self:Remove()end	)
	
			elseif num == 4 then
			timer.Simple( t, function () a:Give ("weapon_rpg")
		self:Remove()
		 end )
			elseif num == 5 then
			timer.Simple (t, function () a:Give ("wepaon_smg1")
		self:Remove() end)

		
			elseif num == 6 then
			timer.Simple( t, function() a:Give ("weapon_pistol")
		self:Remove() end )
		
		
	end
end


When using the entity I want it to disappear after 2 seconds, but after the player uses the entity, in between the two seconds of removing the player is capable of pressing use again.
When they attempt to use the entity a second time it reports them using a null entity, for 1st timer initiated causes the entity to be removed before it can complete the second timer initiated by the second use. I want to limit them to one use and one use only and still include the timer.