My SWEP is semi-not working

And here’s the problem: Well I wanted to try to make a SWEP using some skin from fpsbanana. I looked at tutorials n’ stuff and so I tried my hand at lua scripting for a first time. And I have gotten my swep semi working. I hexed it and everything. And the problem is this:

In-game the model is left handed, The Alt ammo bar is infused with the primary ammo bar, It does shoot and reload okay…but their is no sound. How can I make it act like a normal gun that would you see on kermite’s gun packs with all shooting and reloading sounds.

My shared.lua file for this swep:

– Swep Creator - Bullets N Props
// Made By BummieHead
– Have Fun !
– Ver 1.0.0

//General Settings \
SWEP.AdminSpawnable = true // Is the swep spawnable for admin
SWEP.ViewModelFOV = 64 // How much of the weapon do u see ?
SWEP.ViewModel = “models/weapons/v_pist_magnum.mdl” // The viewModel, the model you se when you are holding it-.-
SWEP.WorldModel = “models/weapons/w_pist_magnum.mdl” // The worlmodel, The model yu when it’s down on the ground
SWEP.AutoSwitchTo = false // when someone walks over the swep, chould i automatectly change to your swep ?
SWEP.Slot = 2 // Deside wich slot you want your swep do be in 1 2 3 4 5 6
SWEP.HoldType = “Pistol” // How the swep is hold Pistol smg greanade melee
SWEP.PrintName = “Magnum” // your sweps name
SWEP.Author = “YourName” // Your name
SWEP.Spawnable = true // Can everybody spawn this swep ? - If you want only admin keep this false and adminsapwnable true.
SWEP.AutoSwitchFrom = false // Does the weapon get changed by other sweps if you pick them up ?
SWEP.FiresUnderwater = false // Does your swep fire under water ?
SWEP.Weight = 5 // Chose the weight of the Swep
SWEP.DrawCrosshair = true // Do you want it to have a crosshair ?
SWEP.Category = “Power Weapons” // Make your own catogory for the swep
SWEP.SlotPos = 0 // Deside wich slot you want your swep do be in 1 2 3 4 5 6
SWEP.DrawAmmo = true // Does the ammo show up when you are using it ? True / False
SWEP.ReloadSound = “sound\weapons\magnum\1” // Reload sound, you can use thedefault ones, or you can use your one;Example;“sound/myswepreload.waw”
SWEP.Instructions = “SwepInstructions” // How do pepole use your swep ?
SWEP.Contact = “YourMailAdress” // How Pepole chould contact you if they find bugs, errors, etc
SWEP.Purpose = “WhatsThePurposeOfThisSwep” // What is the purpose with this swep ?
SWEP.base = “weapon_base”
//General settings\

//PrimaryFire Settings\
SWEP.Primary.Sound = “sound\weapons\magnum\magnum-1” // The sound that plays when you shoot :]
SWEP.Primary.Damage = 90 // How much damage the swep is doing
SWEP.Primary.TakeAmmo = 1 // How much ammo does it take for each shot ?
SWEP.Primary.ClipSize = 6 // The clipsize
SWEP.Primary.Ammo = “Pistol” // ammmo type pistol/ smg1
SWEP.Primary.DefaultClip = 36 // How much ammo does the swep come with `?
SWEP.Primary.Spread = 0.1 // Does the bullets spread all over, if you want it fire exactly where you are aiming leave it o.1
SWEP.Primary.NumberofShots = 1 // How many bullets you are firing each shot.
SWEP.Primary.Automatic = false // Is the swep automatic ?
SWEP.Primary.Recoil = 1 // How much we should punch the view
SWEP.Primary.Delay = 0.5 // How long time before you can fire again
SWEP.Primary.Force = 50 // The force of the shot
//PrimaryFire settings\

– Just leave this stuff untouched :slight_smile:

function SWEP:Initialize()
if ( SERVER ) then
self:SetWeaponHoldType( self.HoldType )

function SWEP:PrimaryAttack()
if ( !self:CanPrimaryAttack() ) then return end
local bullet = {}
bullet.Num = self.Primary.NumberofShots
bullet.Src = self.Owner:GetShootPos()
bullet.Dir = self.Owner:GetAimVector()
bullet.Spread = Vector( self.Primary.Spread * 0.1 , self.Primary.Spread * 0.1, 0)
bullet.Tracer = 0
bullet.Force = self.Primary.Force
bullet.Damage = self.Primary.Damage
bullet.AmmoType = self.Primary.Ammo
local rnda = self.Primary.Recoil * -1
local rndb = self.Primary.Recoil * math.random(-1, 1)
self.Owner:FireBullets( bullet )
self.Owner:ViewPunch( Angle( rnda,rndb,rnda ) )
self.Weapon:SetNextPrimaryFire( CurTime() + self.Primary.Delay )
self.Weapon:SetNextSecondaryFire( CurTime() + self.Primary.Delay )

function SWEP:SecondaryAttack()
self:Throw_Attack (self.Secondary.Model, self.Primary.Sound, self.Secondary.AngVelocity)
self.Weapon:SetNextPrimaryFire( CurTime() + self.Secondary.Delay )
self.Weapon:SetNextSecondaryFire( CurTime() + self.Secondary.Delay )

//SWEP:Throw_Attack(Model, Sound, Angle)\
function SWEP:Throw_Attack (Model, Sound, Angle)
local tr = self.Owner:GetEyeTrace()
self.Weapon:EmitSound (Sound)
self.BaseClass.ShootEffects (self)
if (!SERVER) then return end
local ent = ents.Create (“prop_physics”)
ent:SetModel (Model)
ent:SetPos (self.Owner:EyePos() + (self.Owner:GetAimVector() * 16))
ent:SetAngles (self.Owner:EyeAngles())
local phys = ent:GetPhysicsObject()
local shot_length = tr.HitPos:Length()
phys:ApplyForceCenter (self.Owner:GetAimVector():GetNormalized() * math.pow (shot_length, 7))
cleanup.Add (self.Owner, “props”, ent)
undo.Create (“Thrown model”)
undo.AddEntity (ent)
undo.SetPlayer (self.Owner)
//Throw_Attack(Model, Sound, Angle)\

As you can see I did use some tutorial ment for 5 second sweps. Did I hex wrongly? I really need to know this stuff.

Left handed ness: use

SWEP.ViewModelFlip = true

or false, depending on which works.

For your sound: the path to your sound is wrong. You don’t need /sound, but you do need the extension (.wav, .mp3, etc.).

Well that sorta worked. Its right handed but now i cannot see my ammo and there is no sound still. Ill have to take a look at the script again. But until then, any other idea’s anyone?