Set network variable is not being called

The hook below is printing “FAM” into console, but V9 Count is not being set to zero and I still dissolve after I die and respawn. If you don’t really get what I’m saying, please just read the code. Thanks in advance!



--[[
	Made by Metamorphics
	( STEAM_0:1:52851671 is the one and only author)
]]--

AddCSLuaFile()

ENT.Type        = "anim"
ENT.Base        = "base_gmodentity"
ENT.PrintName   = "Velocity 9"
ENT.Category 		= "The Flash SWEP Redux"
ENT.Author      = "Metamorphics"
ENT.Spawnable   = true
ENT.AdminOnly   = false
ENT.Information	= "Nasty way to get faster."

function ENT:Initialize()
	if SERVER then
		self:SetModel( "models/props_lab/crematorcase.mdl" )
		self:PhysicsInit( SOLID_VPHYSICS )      -- Make us work with physics,
		self:SetMoveType( MOVETYPE_VPHYSICS )   -- after all, gmod is a physics
  	local phys = self:GetPhysicsObject()
		if (phys:IsValid()) then
			phys:Wake()
		end
	end
end

function ENT:Draw()
    self:DrawModel()
end

function ENT:DissolveIt( ent )
	if SERVER then
		timer.Simple(5,function()
			if ent:IsValid() then
				if ent:IsValid() then
					if ent:Alive() then
						local d = DamageInfo()
						d:SetDamage(100)
						d:SetDamageType(DMG_DISSOLVE)
						d:SetAttacker(ent)

						ent:TakeDamageInfo(d)
					end
				end
			end
		end)
	end
end

function ENT:Use( activator, caller )
	v9ply = activator

    if(!v9ply:IsPlayer()) then
		return
	else
		v9ply:SetNWInt("V9 Count",v9ply:GetNWInt("V9 Count",0)+1)
		if v9ply:GetNWInt("V9 Count",0) > 2 then
			self:DissolveIt(v9ply)
			v9ply:SetNWInt("V9 Count",0)
		end
		v9ply:Give("weapon_tfr_speedster_v9")
		v9ply:SelectWeapon("weapon_tfr_speedster_v9")
		self:Remove()
	end
end

hook.Add("PlayerSilentDeath","V9 Silent Reset", function(v,i,a)

	v:SetNWInt( "V9 Count", 0 )

end)

hook.Add("PlayerDeath","V9 Reset", function(v,i,a)

	v:SetNWInt( "V9 Count", 0 )

end)

function ENT:Think()
end