Pointshop Weapons wont spawn

Hello again you awesome people out there!
I am having a new issue with Gmod pointshop.
The weapons I have installed do not spawn when they are purchase nor can I just give them to a player with the commands.
I installed 2 other weapons already and they work perfectly fine but now the waht I installed them before doesn’t work!
I downloaded the add on via steam workshop.
Extracted with gmad
Copied all folders in to my server files.
Please another copy of the weapon files in the addons folder
And finally coded them in to the point shop.
Like I said this work before and Im not sure if I even have to put them in the add ons folder but I thought it couldn’t hurt.
Anyways here is the code for the pointshop.


ITEM.Name = 'AK-47'
ITEM.Price = 50
ITEM.Model = 'models/weapons/v_cloutak1.mdl'
ITEM.WeaponClass = 'weapon_ak47'
ITEM.SingleUse = true
ITEM.Except = true


function ITEM:OnBuy(ply)
	ply:Give(self.WeaponClass)
	ply:SelectWeapon(self.WeaponClass)
end

function ITEM:OnSell(ply)
	ply:StripWeapon(self.WeaponClass)
end


ITEM.Name = 'Великий Автомат Калашникова'
ITEM.Price = 50
ITEM.Model = 'models/weapons/v_cloutak1.mdl'
ITEM.WeaponClass = 'weapon_ak47'
ITEM.SingleUse = false

function ITEM:OnBuy(ply)
	ply:Give(self.WeaponClass)
	ply:SelectWeapon(self.WeaponClass)
end

function ITEM:OnEquip(ply)
	ply:Give(self.WeaponClass)
end

function ITEM:OnHolster(ply)
	ply:StripWeapon(self.WeaponClass)
end

function ITEM:OnSell(ply)
	ply:StripWeapon(self.WeaponClass)
end

I thank you for the suggestion but I want the weapon to be single use. Also I tried out using your code and its still not working.
Every Time it is attempted to be spawned I get this error in the console


Attempted to create unknown entity type weapon_ak47!
NULL Ent in GiveNamedItem!

You have no weapon with id - weapon_ak47

[editline]21st March 2015[/editline]

Disposable weapon


ITEM.Name = 'Великий Автомат Калашникова'
ITEM.Price = 50
ITEM.Model = 'models/weapons/v_cloutak1.mdl'
ITEM.WeaponClass = 'weapon_ak47'
ITEM.SingleUse = false

function ITEM:OnBuy(ply)
	ply:Give(self.WeaponClass)
	ply:SelectWeapon(self.WeaponClass)
        ITEM:OnSell
end

function ITEM:OnEquip(ply)
	ply:Give(self.WeaponClass)
end

function ITEM:OnHolster(ply)
	ply:StripWeapon(self.WeaponClass)
end

function ITEM:OnSell(ply)
	
end


ITEM.Name = 'Kalashnikov [AK47]'
ITEM.Price = 150
ITEM.Model = 'models/weapons/w_rif_ak47.mdl'
ITEM.WeaponClass = 'weapon_ttt_ak47'
ITEM.SingleUse = true
--// If you want it can only buy the VIP group or Superadmin put this under --> ITEM.AllowedUserGroups = { "superadmin", "VIP" }

function ITEM:OnBuy(ply)
ply:Give(self.WeaponClass)
ply:SelectWeapon(self.WeaponClass)
end

function ITEM:OnSell(ply)
ply:StripWeapon(self.WeaponClass)
end

Only changes the place of the Model for you to have your. Add this code in a .lua in the “weapons” folder PointShop.