1. function SWEP:SecondaryAttack()
  2.  
  3. local Zoomed = self.Weapon:GetNetworkedBool( "Ironsights" )
  4.  
  5. if (!Zoomed) then
  6. self:SetIronsights( true )
  7. self.Owner:SetFOV( 20, 0.1 )
  8. hook.Add( "HUDPaint", "HUDCrosshair", HUDCrosshair )
  9. if CLIENT then
  10. self:EmitSound(Sound("weapons/sniper/sniper_zoomin.wav"))
  11.  
  12. local function HUDCrosshair()
  13.  
  14. client = client or LocalPlayer();
  15. if( !client:Alive() ) then return nil; end
  16.  
  17. local crosshair_x = ScrW() / 2;
  18. local crosshair_y = ScrH() / 2;
  19. local crosshair_size = 50;
  20. local crosshair_width = 1;
  21.  
  22. surface.SetDrawColor( 0, 255, 0, 255 )
  23.  
  24. surface.DrawRect( crosshair_x - ( crosshair_size / 2 ), crosshair_y - ( crosshair_width / 2 ), crosshair_size, crosshair_width );
  25. surface.DrawRect( crosshair_x - ( crosshair_width / 2 ), crosshair_y - ( crosshair_size / 2 ), crosshair_width, crosshair_size );
  26.  
  27. surface.DrawRect( crosshair_x - ( crosshair_size / 8 ), crosshair_y - ( crosshair_size / 3 ), crosshair_size / 4, crosshair_width );
  28. surface.DrawRect( crosshair_x - ( crosshair_size / 8 ), crosshair_y + ( crosshair_size / 3 ) - crosshair_width, crosshair_size / 4, crosshair_width );
  29.  
  30. surface.DrawRect( crosshair_x - ( crosshair_size / 3 ), crosshair_y - ( crosshair_size / 8 ), crosshair_width, crosshair_size / 4 );
  31. surface.DrawRect( crosshair_x + ( crosshair_size / 3 ) - crosshair_width, crosshair_y - ( crosshair_size / 8 ), crosshair_width, crosshair_size / 4 );
  32. end
  33. end
  34. if SERVER then
  35. self.Owner:DrawViewModel(false)
  36. end
  37. else
  38. self:SetIronsights( false )
  39. self.Owner:SetFOV( 0, 0.1 )
  40. hook.Remove( "HUDPaint", "HUDCrosshair" )
  41. if CLIENT then
  42. self:EmitSound(Sound("weapons/sniper/sniper_zoomin.wav"))
  43. end
  44. if SERVER then
  45. self.Owner:DrawViewModel(true)
  46. end
  47. end
  48. end
  49.