Advertisement
Guest User

Gun

a guest
Jan 17th, 2019
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.07 KB | None | 0 0
  1. Gun
  2.  
  3. = script.Parent;
  4.  
  5. barrel
  6.  
  7. = script.Parent:FindFirstChild("Barrel");
  8.  
  9. player
  10.  
  11. = game.Players.LocalPlayer;--Dostep do gracza
  12.  
  13. accuracy
  14.  
  15. = script.Parent:FindFirstChild("Accuracy");
  16.  
  17. power
  18.  
  19. = script.Parent:FindFirstChild("Power");
  20.  
  21. ammo
  22.  
  23. = script.Parent:FindFirstChild("Ammo");
  24.  
  25. stock
  26.  
  27. = script.Parent:FindFirstChild("StockAmmo");
  28.  
  29. reloading
  30.  
  31. = false--czy bron jest w tym momencie przeladowywana
  32.  
  33. function reload()
  34.  
  35. reloading
  36.  
  37. if stock.Value >= 7 - ammo.Value then--jezeli w pociskow zapasie jest wiecej lub tyle samo ile brakuje do pelnego magazynka
  38.  
  39. stock.Value
  40.  
  41. = stock.Value - (7 - ammo.Value);--od zapasow odejmowana jest liczba potrzebnych do zapelnienia magazynku pociskow
  42.  
  43. ammo.Value
  44.  
  45. = 7;--magazynek jest uzupelniany do pelna
  46.  
  47. else--jezeli liczba pociskow w zapasie nie wystarcza do calkowitego zapelnienia
  48.  
  49. ammo.Value
  50.  
  51. = stock.Value + ammo.Value;--dodana do magazynku zostaje reszta pociskow w zapasie
  52.  
  53. stock.Value
  54.  
  55. = 0;--oproznienie zapasow
  56.  
  57. reloading
  58.  
  59. = false;
  60.  
  61. end
  62.  
  63. = true;
  64.  
  65. wait(2.5);
  66.  
  67. end
  68.  
  69. function shoot(cfhit)
  70.  
  71. if not reloading and ammo.Value > 0 then--jezeli magazynek nie jest pusty, a bron nie jest przeladowywana,
  72.  
  73. ammo.Value
  74.  
  75. = ammo.Value - 1;
  76.  
  77. local bullet
  78.  
  79. = Instance.new("Part", game.Workspace);--tworzymy pocisk
  80.  
  81. local bulletShape
  82.  
  83. = Instance.new("SpecialMesh", bullet);--i ksztalt pocisku
  84.  
  85. bullet.BrickColor
  86.  
  87. = BrickColor.new("Really black");--nadajemy mu kolor
  88.  
  89. bullet.FormFactor
  90.  
  91. = Enum.FormFactor.Custom;--i zmienamy budowe tak, bo mozna go bylo maksymalnie zmniejszyc
  92.  
  93. bullet.Size
  94.  
  95. = Vector3.new(0.2, 0.2, 0.2);--i zmniejszamy go
  96.  
  97. bullet.Material
  98.  
  99. = Enum.Material.Metal;--nadajemy mu metalowy material
  100.  
  101. bulletShape.MeshType
  102.  
  103. = Enum.MeshType.Sphere;--ksztalt kuli
  104.  
  105. bulletShape.Scale
  106.  
  107. = Vector3.new(0.7, 0.7, 0.7);--i jeszcze raz go zmniejszamy
  108.  
  109. bullet.Position
  110.  
  111. = barrel.Position;
  112.  
  113. bullet.CFrame
  114.  
  115. = CFrame.new(bullet.CFrame.p, cfhit.p);
  116.  
  117. local dispX
  118.  
  119. = math.random(-accuracy.Value, accuracy.Value);
  120.  
  121. local dispY
  122.  
  123. = math.random(-accuracy.Value, accuracy.Value);
  124.  
  125. local dispZ
  126.  
  127. = math.random(-accuracy.Value, accuracy.Value);
  128.  
  129. local force
  130.  
  131. = Instance.new("BodyForce", bullet);
  132.  
  133. force.force
  134.  
  135. = bullet.CFrame.lookVector
  136.  
  137. * 20
  138.  
  139. * power.Value;
  140.  
  141. force.force
  142.  
  143. = Vector3.new(force.force.x + dispX, force.force.y + dispY, force.force.z + dispZ);
  144.  
  145. bullet.Touched:connect(function(brick)
  146.  
  147. end)
  148.  
  149. if brick.Name
  150.  
  151. == "Torso" then
  152.  
  153. human.Health
  154.  
  155. = human.Health - 35
  156.  
  157. * power.Value;
  158.  
  159. elseif brick.Name
  160.  
  161. == "Head" then
  162.  
  163. human.Health
  164.  
  165. = human.Health - 60
  166.  
  167. * power.Value;
  168.  
  169. elseif brick.Name
  170.  
  171. == "Left Arm" or brick.Name
  172.  
  173. == "Right Arm" then
  174.  
  175. human.Health
  176.  
  177. = human.Health - 20
  178.  
  179. * power.Value;
  180.  
  181. elseif brick.Name
  182.  
  183. == "Left Leg" or brick.Name
  184.  
  185. == "Right Leg" then
  186.  
  187. human.Health
  188.  
  189. = human.Health - 10
  190.  
  191. * power.Value;
  192.  
  193. end
  194.  
  195. gun.Equipped:connect(function(mouse)
  196.  
  197. end)
  198.  
  199. mouse.KeyDown:connect(function(key)
  200.  
  201. if key
  202.  
  203. == "r" then
  204.  
  205. reload();
  206.  
  207. end
  208.  
  209. end)
  210.  
  211. mouse.Button1Down:connect(function()
  212.  
  213. shoot(mouse.Hit);
  214.  
  215. end)
  216.  
  217. end
  218.  
  219. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement