SWEP help

I have a custom crossbar T weapon and I have an issue with it. Whenever players try to buy it from the T shop, it says there is already an item in slot 8, even if there’s not a visible weapon in the slot. Here’s the script: Have any ideas why?
[lua]if SERVER then
AddCSLuaFile( “shared.lua” )
end

SWEP.HoldType = “crossbow”

if CLIENT then
SWEP.PrintName = “Crossbow”

SWEP.Slot               = 7

SWEP.EquipMenuData = {
type = “item_weapon”,
desc = “A quick, silent, and accurate way to kill!”
};

SWEP.ViewModelFOV = 54
SWEP.ViewModelFlip = false

SWEP.Icon = “VGUI/ttt/poison_dart_icon.png”
end

SWEP.Base = “weapon_tttbase”
SWEP.Spawnable = true
SWEP.AdminSpawnable = true

SWEP.Kind = WEAPON_HEAVY
SWEP.WeaponID = AMMO_RIFLE
SWEP.CanBuy = {ROLE_TRAITOR} – only traitors can buy
SWEP.LimitedStock = true – only buyable once
SWEP.WeaponID = AMMO_RIFLE

SWEP.Primary.Delay = 1.5
SWEP.Primary.Recoil = 7
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = “none”
SWEP.Primary.Damage = 50
SWEP.Primary.Cone = 0.005
SWEP.Primary.ClipSize = 10
SWEP.Primary.ClipMax = 5 – keep mirrored to ammo
SWEP.Primary.DefaultClip = 5

SWEP.HeadshotMultiplier = 4

SWEP.AutoSpawnable = false
SWEP.AmmoEnt = “none”
SWEP.ViewModel = “models/weapons/v_crossbow.mdl”
SWEP.WorldModel = “models/weapons/w_crossbow.mdl”

SWEP.Primary.Sound = Sound(“Weapon_Crossbow.Single”)

SWEP.Secondary.Sound = Sound(“Default.Zoom”)

SWEP.IronSightsPos = Vector( 5, -15, -2 )
SWEP.IronSightsAng = Vector( 2.6, 1.37, 3.5 )

function SWEP:SetZoom(state)
if CLIENT then
return
else
if state then
self.Owner:SetFOV(20, 0.3)
else
self.Owner:SetFOV(0, 0.2)
end
end
end

– Add some zoom to ironsights for this gun
function SWEP:SecondaryAttack()
if not self.IronSightsPos then return end
if self.Weapon:GetNextSecondaryFire() > CurTime() then return end

bIronsights = not self:GetIronsights()

self:SetIronsights( bIronsights )

if SERVER then
    self:SetZoom(bIronsights)
 else
    self:EmitSound(self.Secondary.Sound)
end

self.Weapon:SetNextSecondaryFire( CurTime() + 0.3)

end

function SWEP:PreDrop()
self:SetZoom(false)
self:SetIronsights(false)
return self.BaseClass.PreDrop(self)
end

function SWEP:Reload()
self.Weapon:DefaultReload( ACT_VM_RELOAD );
self:SetIronsights( false )
self:SetZoom(false)
end

function SWEP:Holster()
self:SetIronsights(false)
self:SetZoom(false)
return true
end

if CLIENT then
local scope = surface.GetTextureID(“sprites/scope”)
function SWEP:DrawHUD()
if self:GetIronsights() then
surface.SetDrawColor( 0, 0, 0, 255 )

     local x = ScrW() / 2.0
     local y = ScrH() / 2.0
     local scope_size = ScrH()

     -- crosshair
     local gap = 80
     local length = scope_size
     surface.DrawLine( x - length, y, x - gap, y )
     surface.DrawLine( x + length, y, x + gap, y )
     surface.DrawLine( x, y - length, x, y - gap )
     surface.DrawLine( x, y + length, x, y + gap )

     gap = 0
     length = 50
     surface.DrawLine( x - length, y, x - gap, y )
     surface.DrawLine( x + length, y, x + gap, y )
     surface.DrawLine( x, y - length, x, y - gap )
     surface.DrawLine( x, y + length, x, y + gap )


     -- cover edges
     local sh = scope_size / 2
     local w = (x - sh) + 2
     surface.DrawRect(0, 0, w, scope_size)
     surface.DrawRect(x + sh - 2, 0, w, scope_size)

     surface.SetDrawColor(255, 0, 0, 255)
     surface.DrawLine(x, y, x + 1, y + 1)

     -- scope
     surface.SetTexture(scope)
     surface.SetDrawColor(255, 255, 255, 255)

     surface.DrawTexturedRectRotated(x, y, scope_size, scope_size, 0)

  else
     return self.BaseClass.DrawHUD(self)
  end

end

function SWEP:AdjustMouseSensitivity()
return (self:GetIronsights() and 0.2) or nil
end
end
[/lua]

You really shouldn’t leave a WeaponID in a custom swep. It’s only for CSS weapons. I also noticed you defined the kind as Weapon_Heavy. That is only for your primary guns like Ak47s,Shotguns,etc which is why they cannot buy it since they are already holding one. Change that to WEAPON_EQUIP1 and you will fine.

Ok, thank you