if SERVER then AddCSLuaFile( "shared.lua" ) resource.AddFile( "models/weapons/v_snip_hex.dx80.vtx" ) resource.AddFile( "models/weapons/v_snip_hex.dx90.vtx" ) resource.AddFile( "models/weapons/v_snip_hex.mdl" ) resource.AddFile( "models/weapons/v_snip_hex.sw.vtx" ) resource.AddFile( "models/weapons/v_snip_hex.vvd" ) resource.AddFile( "models/weapons/v_snip_hex.xbox.vtx" ) resource.AddFile( "models/weapons/w_snip_hex.dx80.vtx" ) resource.AddFile( "models/weapons/w_snip_hex.dx90.vtx" ) resource.AddFile( "models/weapons/w_snip_hex.mdl" ) resource.AddFile( "models/weapons/w_snip_hex.phy" ) resource.AddFile( "models/weapons/w_snip_hex.sw.vtx" ) resource.AddFile( "models/weapons/w_snip_hex.vvd" ) resource.AddFile( "materials/models/weapons/v_models/M82/M82 norm.vtf" ) resource.AddFile( "materials/models/weapons/v_models/M82/M82.vmt" ) resource.AddFile( "materials/models/weapons/v_models/M82/M82.vtf" ) resource.AddFile( "materials/models/weapons/W_models/M82/M82.vtm" ) resource.AddFile( "sound/weapons/barret/awp.wav" ) end SWEP.HoldType = "ar2" if CLIENT then SWEP.PrintName = "Barret 50.cal" SWEP.Slot = 2 SWEP.Icon = "VGUI/ttt/icon_scout" end SWEP.Base = "weapon_tttbase" SWEP.Spawnable = true SWEP.AdminSpawnable = true SWEP.Kind = WEAPON_HEAVY SWEP.Primary.Delay = 2.00 SWEP.Primary.Recoil = 30 SWEP.Primary.Automatic = false SWEP.Primary.Ammo = "AlyxGun" SWEP.Primary.Damage = 88 SWEP.Primary.Cone = 0.005 SWEP.Primary.ClipSize = 6 SWEP.Primary.ClipMax = 36 SWEP.Primary.DefaultClip = 6 SWEP.HeadshotMultiplier = 8.1 SWEP.AutoSpawnable = true SWEP.AmmoEnt = "item_ammo_revolver_ttt" SWEP.UseHands = true SWEP.ViewModelFlip = true SWEP.ViewModelFOV = 54 SWEP.ViewModel = Model("models/weapons/v_snip_hex.mdl") SWEP.WorldModel = Model("models/weapons/W_snip_hex.mdl") SWEP.Primary.Sound = Sound(")weapons/barret/awp.wav") SWEP.Secondary.Sound = Sound("Default.Zoom") SWEP.IronSightsPos = Vector(5.2, -5.8, 2) SWEP.IronSightsAng = Vector(2.8, 0, 0) 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 -- 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