trying to add custom weapon to pointshop but not working

i need help im trying to add my “custom” sniper to the pointshop master and i’m doing like tutorials are saying but it doesn’t show up in the weapons shop and i can’t figure out what is the problem

ITEM.Name = ‘vice’s sniper’
ITEM.Price = 100000
ITEM.Model = ‘models/weapons/w_snip_scout.mdl’
ITEM.WeaponClass = ‘weapon_zm_vice’s_sniper’
ITEM.SingleUse = true

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

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

this is the weapons file if needed and the file name is weapon_zm_vice’s_sniper.lua

AddCSLuaFile()

SWEP.HoldType = “ar2”

if CLIENT then
SWEP.PrintName = “vice’s sniper”
SWEP.Slot = 8

SWEP.ViewModelFlip = false
SWEP.ViewModelFOV = 54

SWEP.Icon = “vgui/ttt/icon_scout”
SWEP.IconLetter = “n”
end

SWEP.Base = “weapon_tttbase”

SWEP.Kind = WEAPON_HEAVY
SWEP.WeaponID = AMMO_RIFLE

SWEP.AllowDelete = false
SWEP.AllowDrop = false

function SWEP:OnDrop()
self:Remove()
end

SWEP.Primary.Delay = 0.20
SWEP.Primary.Recoil = 0.1
SWEP.Primary.Automatic = true
SWEP.Primary.Ammo = “357”
SWEP.Primary.Damage = 1337
SWEP.Primary.Cone = 0.005
SWEP.Primary.ClipSize = 30
SWEP.Primary.ClipMax = 100 – keep mirrored to ammo
SWEP.Primary.DefaultClip = 100
SWEP.Primary.Sound = Sound(“Weapon_Scout.Single”)

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

SWEP.HeadshotMultiplier = 4

SWEP.AutoSpawnable = false
SWEP.Spawnable = true
SWEP.AmmoEnt = “item_ammo_357_ttt”

SWEP.UseHands = true
SWEP.ViewModel = Model(“models/weapons/cstrike/c_snip_scout.mdl”)
SWEP.WorldModel = Model(“models/weapons/w_snip_scout.mdl”)

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

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

function SWEP:PrimaryAttack( worldsnd )
self.BaseClass.PrimaryAttack( self.Weapon, worldsnd )
self:SetNextSecondaryFire( CurTime() + 0.1 )
end

function SWEP:ShouldDropOnDie()
return false
end

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

local bIronsights = not self:GetIronsights()

self:SetIronsights( bIronsights )

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

self:SetNextSecondaryFire( CurTime() + 0.3)
end

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

function SWEP:Reload()
if ( self:Clip1() == self.Primary.ClipSize or self.Owner:GetAmmoCount( self.Primary.Ammo ) <= 0 ) then return end
self: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 scrW = ScrW()
     local scrH = ScrH()

     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)
     
     -- cover gaps on top and bottom of screen
     surface.DrawLine( 0, 0, scrW, 0 )
     surface.DrawLine( 0, scrH - 1, scrW, scrH - 1 )

     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

function SWEP:GetClass()
return “weapon_zm_vice’s_sniper”
end

Please put your in
[ QUOTE]
[/QUOTE]

or
[ CODE]




And contact the script owner

First error:


ITEM.Name = 'vice's sniper'
-- you are closing the string before it ends, try this:
ITEM.Name = "vice's sniper"
-- or this
ITEM.Name = 'vice\'s sniper'
-- change ITEM.WeaponClass too


ah i see thank you what a rookie mistake of me :confused: