distrib

Untitled

Sep 25th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. AddCSLuaFile()
  2.  
  3. SWEP.Base = "weapon_scp_base"
  4. SWEP.PrintName = "SCP-035"
  5.  
  6. SWEP.ViewModel = "models/weapons/scp076/v_katana.mdl"
  7. SWEP.WorldModel = "models/weapons/scp076/w_katana.mdl"
  8.  
  9. SWEP.HoldType = "melee"
  10.  
  11. SWEP.NextPrimary = 0
  12. SWEP.NextIdle = 0
  13.  
  14. function SWEP:Initialize()
  15. self:InitializeLanguage( "SCP_076" )
  16.  
  17. self:SetHoldType( self.HoldType )
  18.  
  19. self.NextIdle = CurTime() + self:SequenceDuration( ACT_VM_DRAW)
  20. self:SendWeaponAnim( ACT_VM_DRAW )
  21. self.NextPrimary = CurTime() + 1
  22. self:EmitSound( "weapons/knife/knife_deploy1.wav" )
  23. end
  24.  
  25. function SWEP:Deploy()
  26. end
  27.  
  28. function SWEP:Think()
  29. self:PlayerFreeze()
  30.  
  31. if self.NextIdle > CurTime() then return end
  32. self.NextIdle = CurTime() + self:SequenceDuration( ACT_VM_IDLE )
  33. self:SendWeaponAnim( ACT_VM_IDLE )
  34. end
  35.  
  36. function SWEP:PrimaryAttack()
  37. if postround then return end
  38. if self.NextPrimary > CurTime() then return end
  39. self.NextPrimary = CurTime() + 1
  40. self.NextIdle = CurTime() + self:SequenceDuration( ACT_VM_MISSCENTER )
  41. self:EmitSound( "Weapon_Knife.Slash" )
  42. self.Owner:LagCompensation( true )
  43.  
  44. local pos = self.Owner:GetShootPos()
  45. local aim = self.Owner:GetAimVector()
  46. local dmg = math.random( 25, 35 )
  47. local dist = 75
  48.  
  49. local damage = DamageInfo()
  50. damage:SetDamage( dmg )
  51. damage:SetDamageType( DMG_SLASH )
  52. damage:SetAttacker( self.Owner )
  53. damage:SetInflictor( self )
  54. damage:SetDamageForce( aim * 300 )
  55.  
  56. local tr = util.TraceHull( {
  57. start = pos,
  58. endpos = pos + aim * dist,
  59. filter = self.Owner,
  60. mask = MASK_SHOT_HULL,
  61. mins = Vector( -10, -5, -5 ),
  62. maxs = Vector( 10, 5, 5 )
  63. } )
  64. if tr.Hit then
  65. local ent = tr.Entity
  66. if ent:IsPlayer() then
  67. if ent:GTeam() != TEAM_SPEC and ent:GTeam() != TEAM_SCP then
  68. self:EmitSound( "Weapon_Knife.Hit" )
  69. if SERVER and ent:GTeam() != TEAM_SCP then
  70. ent:TakeDamageInfo( damage )
  71. end
  72. end
  73. elseif !self:SCPDamageEvent( ent, 10 ) then
  74. local look = self.Owner:GetEyeTrace()
  75. self:EmitSound( "weapons/rpg/shotdown.wav" )
  76. util.Decal("ManhackCut", look.HitPos + look.HitNormal, look.HitPos - look.HitNormal )
  77. end
  78. end
  79.  
  80. self.Owner:LagCompensation( false )
  81. self:SendWeaponAnim( ACT_VM_MISSCENTER )
  82. self.Owner:SetAnimation( PLAYER_ATTACK1 )
  83. end
Add Comment
Please, Sign In to add comment