Cheesecaked

AK47

Sep 24th, 2022
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.23 KB | None | 0 0
  1. @name AK47
  2. @persist [Clip ShootTime Reload ReloadTime AmmoInsta] [Bullet]:entity [Ak47]:gtable
  3.  
  4. if(first()){
  5. runOnTick(1)
  6. runOnLast(1)
  7.  
  8. #entity():propNotSolid(1)
  9. #entity():setAlpha(0)
  10.  
  11. #print(owner():attachments())
  12.  
  13. Ak47 = gTable("Ak47" + owner():name(),1)
  14.  
  15. if(Ak47["spawned",number]){
  16. print("Ak47 is already spawned!")
  17. selfDestruct()
  18. }
  19.  
  20. Ak47["spawned",number] = 1
  21.  
  22. if(Ak47["Ammo",number] <= 90){
  23. Ak47["Ammo",number] = 90
  24. }
  25.  
  26. AmmoInsta = Ak47["Ammo",number]
  27.  
  28. Clip = 30
  29. hint("Ammo : " + Ak47["Ammo",number]:toString(),2)
  30.  
  31. if(holoModelAny() == 1){
  32. holoCreate(1,owner():attachmentPos("anim_attachment_RH") - vec(0,0,5) + owner():eye() * 9,vec(1),owner():attachmentAng("anim_attachment_RH"),vec(255),"models/weapons/w_rif_ak47.mdl")
  33. holoAlpha(1,0)
  34. holoParentAttachment(1,owner(),"anim_attachment_RH")
  35. }
  36. }
  37.  
  38.  
  39. findIncludePlayerProps(owner())
  40. findByModel("models/bull/gates/capacitor_mini.mdl")
  41. BulletC = findToArray()
  42. if(BulletC:count() > 5){
  43. BulletC[1,entity]:propDelete()
  44. }
  45.  
  46. if(owner():weapon():type() == "weapon_ar2"){
  47. A1 = owner():keyAttack1()
  48. A2 = owner():keyAttack2()
  49. R = owner():keyReload()
  50.  
  51. if(holoModelAny() == 1){
  52. holoAlpha(1,255)
  53. #holoPos(1,owner():attachmentPos("anim_attachment_RH") - vec(0,0,5) + owner():eye() * 9)
  54. #holoAng(1,owner():attachmentAng("anim_attachment_RH"))
  55. owner():weapon():setAlpha(0)
  56. }
  57.  
  58. if(changed(A1) & A1 & Reload == 0){
  59. if(Clip > 0){
  60. Bullet = propSpawn("models/bull/gates/capacitor_mini.mdl",owner():shootPos() + owner():eye() * 70,0)
  61. Bullet:setTrails(5,1,1,"trails/laser",vec(255,255,0),200)
  62. Bullet:setMass(5000)
  63. Bullet:propGravity(0)
  64. Bullet:applyForce(owner():eye() * 200000000)
  65. owner():soundPlay(1,1,"Weapon_AK47.Single")
  66. Clip = Clip - 1
  67. }
  68. }
  69.  
  70. if(A1 & Reload == 0){
  71. ShootTime = ShootTime + 1
  72.  
  73. if(ShootTime == 7){
  74. ShootTime = 0
  75.  
  76. if(Clip > 0){
  77. Bullet = propSpawn("models/bull/gates/capacitor_mini.mdl",owner():shootPos() + owner():eye() * 70,0)
  78. Bullet:setTrails(10,5,1,"trails/laser",vec(255,255,0),200)
  79. Bullet:setMass(5000)
  80. Bullet:propGravity(0)
  81. Bullet:applyForce(owner():eye() * 200000000)
  82. owner():soundPlay(1,0.5,"Weapon_AK47.Single")
  83. Clip = Clip - 1
  84. }
  85. }
  86. }
  87.  
  88. if(changed(R) & R & Reload == 0 & Clip != 30 & Ak47["Ammo",number] > 0){
  89. Reload = 1
  90. Ak47["Ammo",number] = Ak47["Ammo",number] + Clip
  91. Clip = 0
  92. owner():soundPlay(2,1,"Weapon_AK47.Clipout")
  93. }
  94. if(Reload == 1){
  95. ReloadTime = ReloadTime + 1
  96. if(ReloadTime == 50){
  97. owner():soundPlay(2,1,"Weapon_AK47.Clipin")
  98. }
  99. if(ReloadTime == 70){
  100. Reload = 0
  101. ReloadTime = 0
  102. owner():soundPlay(3,1,"Weapon_AK47.BoltPull")
  103. if(Ak47["Ammo",number] < 30){
  104. Clip = Ak47["Ammo",number]
  105. Ak47["Ammo",number] = 0
  106. hint("Ammo out. Clip : " + Clip:toString(),2)
  107. }
  108. else{
  109. Clip = 30
  110. Ak47["Ammo",number] = Ak47["Ammo",number] - 30
  111. hint("Ammo : " + Ak47["Ammo",number]:toString(),2)
  112. }
  113. }
  114. }
  115. }
  116. else{
  117. Reload = 0
  118. ReloadTime = 0
  119.  
  120. for(B = 1,BulletC:count()){
  121. BulletC[1,entity]:propDelete()
  122. }
  123.  
  124. if(holoModelAny() == 1){
  125. holoAlpha(1,0)
  126. }
  127. }
  128.  
  129. if(changed(Ak47["Ammo",number]) & !first() & Reload == 0){
  130. if(Ak47["Ammo",number] > AmmoInsta){
  131. hint("Ammo get( " + (Ak47["Ammo",number] - AmmoInsta) + " ). Remaining : " + Ak47["Ammo",number],2)
  132. }
  133. AmmoInsta = Ak47["Ammo",number]
  134. }
  135.  
  136. if(changed(owner():isAlive()) & owner():isAlive() & !first()){
  137. hint("You are dead! Ammo reset to 90.",5)
  138. Ak47["Ammo",number] = 90
  139. Clip = 30
  140. }
  141.  
  142. if(last()){
  143. Ak47["spawned",number] = 0
  144. }
  145.  
  146.  
Advertisement
Add Comment
Please, Sign In to add comment