Advertisement
PuffyDylan

Shotty

Jun 20th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 206.16 KB | None | 0 0
  1. --Made by 1ndrew
  2. function sandbox(var,func)
  3. local env = getfenv(func)
  4. local newenv = setmetatable({},{
  5. __index = function(self,k)
  6. if k=="script" then
  7. return var
  8. else
  9. return env[k]
  10. end
  11. end,
  12. })
  13. setfenv(func,newenv)
  14. return func
  15. end
  16. cors = {}
  17. mas = Instance.new("Model",game:GetService("Lighting"))
  18. Tool0 = Instance.new("Tool")
  19. Part1 = Instance.new("Part")
  20. BlockMesh2 = Instance.new("BlockMesh")
  21. Part3 = Instance.new("Part")
  22. BlockMesh4 = Instance.new("BlockMesh")
  23. Part5 = Instance.new("Part")
  24. CylinderMesh6 = Instance.new("CylinderMesh")
  25. Part7 = Instance.new("Part")
  26. PointLight8 = Instance.new("PointLight")
  27. BillboardGui9 = Instance.new("BillboardGui")
  28. ImageLabel10 = Instance.new("ImageLabel")
  29. CylinderMesh11 = Instance.new("CylinderMesh")
  30. Part12 = Instance.new("Part")
  31. Sound13 = Instance.new("Sound")
  32. Part14 = Instance.new("Part")
  33. Part15 = Instance.new("Part")
  34. CylinderMesh16 = Instance.new("CylinderMesh")
  35. LocalScript17 = Instance.new("LocalScript")
  36. IntValue18 = Instance.new("IntValue")
  37. ScreenGui19 = Instance.new("ScreenGui")
  38. ImageLabel20 = Instance.new("ImageLabel")
  39. Frame21 = Instance.new("Frame")
  40. ImageLabel22 = Instance.new("ImageLabel")
  41. Frame23 = Instance.new("Frame")
  42. TextLabel24 = Instance.new("TextLabel")
  43. TextLabel25 = Instance.new("TextLabel")
  44. TextLabel26 = Instance.new("TextLabel")
  45. TextLabel27 = Instance.new("TextLabel")
  46. TextLabel28 = Instance.new("TextLabel")
  47. Frame29 = Instance.new("Frame")
  48. Frame30 = Instance.new("Frame")
  49. TextLabel31 = Instance.new("TextLabel")
  50. TextLabel32 = Instance.new("TextLabel")
  51. TextLabel33 = Instance.new("TextLabel")
  52. TextLabel34 = Instance.new("TextLabel")
  53. TextLabel35 = Instance.new("TextLabel")
  54. Frame36 = Instance.new("Frame")
  55. TextLabel37 = Instance.new("TextLabel")
  56. TextLabel38 = Instance.new("TextLabel")
  57. TextLabel39 = Instance.new("TextLabel")
  58. Frame40 = Instance.new("Frame")
  59. TextLabel41 = Instance.new("TextLabel")
  60. Frame42 = Instance.new("Frame")
  61. Frame43 = Instance.new("Frame")
  62. Frame44 = Instance.new("Frame")
  63. Frame45 = Instance.new("Frame")
  64. Frame46 = Instance.new("Frame")
  65. Frame47 = Instance.new("Frame")
  66. Frame48 = Instance.new("Frame")
  67. Frame49 = Instance.new("Frame")
  68. Frame50 = Instance.new("Frame")
  69. Frame51 = Instance.new("Frame")
  70. Frame52 = Instance.new("Frame")
  71. Frame53 = Instance.new("Frame")
  72. Frame54 = Instance.new("Frame")
  73. Frame55 = Instance.new("Frame")
  74. Frame56 = Instance.new("Frame")
  75. Frame57 = Instance.new("Frame")
  76. Frame58 = Instance.new("Frame")
  77. Frame59 = Instance.new("Frame")
  78. Frame60 = Instance.new("Frame")
  79. Frame61 = Instance.new("Frame")
  80. Frame62 = Instance.new("Frame")
  81. Frame63 = Instance.new("Frame")
  82. Frame64 = Instance.new("Frame")
  83. Frame65 = Instance.new("Frame")
  84. Frame66 = Instance.new("Frame")
  85. Frame67 = Instance.new("Frame")
  86. TextLabel68 = Instance.new("TextLabel")
  87. TextLabel69 = Instance.new("TextLabel")
  88. TextLabel70 = Instance.new("TextLabel")
  89. TextLabel71 = Instance.new("TextLabel")
  90. Frame72 = Instance.new("Frame")
  91. Frame73 = Instance.new("Frame")
  92. Frame74 = Instance.new("Frame")
  93. TextLabel75 = Instance.new("TextLabel")
  94. TextLabel76 = Instance.new("TextLabel")
  95. TextLabel77 = Instance.new("TextLabel")
  96. TextLabel78 = Instance.new("TextLabel")
  97. ImageLabel79 = Instance.new("ImageLabel")
  98. TextLabel80 = Instance.new("TextLabel")
  99. TextLabel81 = Instance.new("TextLabel")
  100. Frame82 = Instance.new("Frame")
  101. Frame83 = Instance.new("Frame")
  102. TextLabel84 = Instance.new("TextLabel")
  103. TextLabel85 = Instance.new("TextLabel")
  104. TextLabel86 = Instance.new("TextLabel")
  105. TextLabel87 = Instance.new("TextLabel")
  106. ImageLabel88 = Instance.new("ImageLabel")
  107. TextLabel89 = Instance.new("TextLabel")
  108. TextLabel90 = Instance.new("TextLabel")
  109. Frame91 = Instance.new("Frame")
  110. ImageLabel92 = Instance.new("ImageLabel")
  111. TextLabel93 = Instance.new("TextLabel")
  112. Script94 = Instance.new("Script")
  113. IntValue95 = Instance.new("IntValue")
  114. IntValue96 = Instance.new("IntValue")
  115. IntValue97 = Instance.new("IntValue")
  116. IntValue98 = Instance.new("IntValue")
  117. IntValue99 = Instance.new("IntValue")
  118. Part100 = Instance.new("Part")
  119. SpecialMesh101 = Instance.new("SpecialMesh")
  120. ManualWeld102 = Instance.new("ManualWeld")
  121. Part103 = Instance.new("Part")
  122. BlockMesh104 = Instance.new("BlockMesh")
  123. Part105 = Instance.new("Part")
  124. SpecialMesh106 = Instance.new("SpecialMesh")
  125. Part107 = Instance.new("Part")
  126. BlockMesh108 = Instance.new("BlockMesh")
  127. Part109 = Instance.new("Part")
  128. BlockMesh110 = Instance.new("BlockMesh")
  129. Part111 = Instance.new("Part")
  130. SpecialMesh112 = Instance.new("SpecialMesh")
  131. ManualWeld113 = Instance.new("ManualWeld")
  132. Part114 = Instance.new("Part")
  133. SpecialMesh115 = Instance.new("SpecialMesh")
  134. ManualWeld116 = Instance.new("ManualWeld")
  135. Part117 = Instance.new("Part")
  136. SpecialMesh118 = Instance.new("SpecialMesh")
  137. ManualWeld119 = Instance.new("ManualWeld")
  138. Part120 = Instance.new("Part")
  139. SpecialMesh121 = Instance.new("SpecialMesh")
  140. Part122 = Instance.new("Part")
  141. SpecialMesh123 = Instance.new("SpecialMesh")
  142. Part124 = Instance.new("Part")
  143. BlockMesh125 = Instance.new("BlockMesh")
  144. Part126 = Instance.new("Part")
  145. BlockMesh127 = Instance.new("BlockMesh")
  146. Part128 = Instance.new("Part")
  147. SpecialMesh129 = Instance.new("SpecialMesh")
  148. Part130 = Instance.new("Part")
  149. SpecialMesh131 = Instance.new("SpecialMesh")
  150. ManualWeld132 = Instance.new("ManualWeld")
  151. Part133 = Instance.new("Part")
  152. SpecialMesh134 = Instance.new("SpecialMesh")
  153. Part135 = Instance.new("Part")
  154. SpecialMesh136 = Instance.new("SpecialMesh")
  155. Part137 = Instance.new("Part")
  156. BlockMesh138 = Instance.new("BlockMesh")
  157. Part139 = Instance.new("Part")
  158. BlockMesh140 = Instance.new("BlockMesh")
  159. Part141 = Instance.new("Part")
  160. BlockMesh142 = Instance.new("BlockMesh")
  161. Part143 = Instance.new("Part")
  162. SpecialMesh144 = Instance.new("SpecialMesh")
  163. Part145 = Instance.new("Part")
  164. BlockMesh146 = Instance.new("BlockMesh")
  165. Part147 = Instance.new("Part")
  166. BlockMesh148 = Instance.new("BlockMesh")
  167. Part149 = Instance.new("Part")
  168. SpecialMesh150 = Instance.new("SpecialMesh")
  169. Part151 = Instance.new("Part")
  170. CylinderMesh152 = Instance.new("CylinderMesh")
  171. Part153 = Instance.new("Part")
  172. BlockMesh154 = Instance.new("BlockMesh")
  173. ManualWeld155 = Instance.new("ManualWeld")
  174. Part156 = Instance.new("Part")
  175. BlockMesh157 = Instance.new("BlockMesh")
  176. Part158 = Instance.new("Part")
  177. SpecialMesh159 = Instance.new("SpecialMesh")
  178. Part160 = Instance.new("Part")
  179. CylinderMesh161 = Instance.new("CylinderMesh")
  180. Part162 = Instance.new("Part")
  181. SpecialMesh163 = Instance.new("SpecialMesh")
  182. Part164 = Instance.new("Part")
  183. SpecialMesh165 = Instance.new("SpecialMesh")
  184. Part166 = Instance.new("Part")
  185. SpecialMesh167 = Instance.new("SpecialMesh")
  186. Part168 = Instance.new("Part")
  187. CylinderMesh169 = Instance.new("CylinderMesh")
  188. Part170 = Instance.new("Part")
  189. BlockMesh171 = Instance.new("BlockMesh")
  190. Part172 = Instance.new("Part")
  191. BlockMesh173 = Instance.new("BlockMesh")
  192. Part174 = Instance.new("Part")
  193. BlockMesh175 = Instance.new("BlockMesh")
  194. Part176 = Instance.new("Part")
  195. CylinderMesh177 = Instance.new("CylinderMesh")
  196. ManualWeld178 = Instance.new("ManualWeld")
  197. Tool0.Name = "UNSC Shotgun"
  198. Tool0.Parent = mas
  199. Part1.Parent = Tool0
  200. Part1.Material = Enum.Material.Metal
  201. Part1.BrickColor = BrickColor.new("Dark stone grey")
  202. Part1.Anchored = true
  203. Part1.FormFactor = Enum.FormFactor.Plate
  204. Part1.Size = Vector3.new(1, 0.400000006, 1)
  205. Part1.CFrame = CFrame.new(2.5, 1.15334594, 46.5766602, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  206. Part1.BottomSurface = Enum.SurfaceType.Smooth
  207. Part1.TopSurface = Enum.SurfaceType.Smooth
  208. Part1.Color = Color3.new(0.388235, 0.372549, 0.384314)
  209. Part1.Position = Vector3.new(2.5, 1.15334594, 46.5766602)
  210. Part1.Color = Color3.new(0.388235, 0.372549, 0.384314)
  211. BlockMesh2.Parent = Part1
  212. BlockMesh2.Scale = Vector3.new(0.0666666701, 0.166666672, 0.0666666701)
  213. BlockMesh2.Scale = Vector3.new(0.0666666701, 0.166666672, 0.0666666701)
  214. Part3.Parent = Tool0
  215. Part3.Material = Enum.Material.Metal
  216. Part3.Rotation = Vector3.new(-180, 0, -180)
  217. Part3.Anchored = true
  218. Part3.FormFactor = Enum.FormFactor.Plate
  219. Part3.Size = Vector3.new(1, 0.400000006, 1)
  220. Part3.CFrame = CFrame.new(2.5, 1.10002196, 48.5, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  221. Part3.BottomSurface = Enum.SurfaceType.Smooth
  222. Part3.TopSurface = Enum.SurfaceType.Smooth
  223. Part3.Position = Vector3.new(2.5, 1.10002196, 48.5)
  224. Part3.Orientation = Vector3.new(0, 180, 0)
  225. BlockMesh4.Parent = Part3
  226. BlockMesh4.Scale = Vector3.new(0.100000001, 0.0666666701, 0.300000012)
  227. BlockMesh4.Scale = Vector3.new(0.100000001, 0.0666666701, 0.300000012)
  228. Part5.Name = "Mag"
  229. Part5.Parent = Tool0
  230. Part5.Material = Enum.Material.Metal
  231. Part5.BrickColor = BrickColor.new("Bright yellow")
  232. Part5.Reflectance = 0.10000000149012
  233. Part5.Rotation = Vector3.new(90, -90, 0)
  234. Part5.CanCollide = false
  235. Part5.FormFactor = Enum.FormFactor.Symmetric
  236. Part5.Size = Vector3.new(1, 1, 1)
  237. Part5.CFrame = CFrame.new(2.5, 0.70668, 47.7999878, -4.37113883e-08, 0, -1, -1, -4.37113883e-08, 4.37113883e-08, -4.37113883e-08, 1, 1.91068547e-15)
  238. Part5.BottomSurface = Enum.SurfaceType.Smooth
  239. Part5.TopSurface = Enum.SurfaceType.Smooth
  240. Part5.Color = Color3.new(0.960784, 0.803922, 0.188235)
  241. Part5.Position = Vector3.new(2.5, 0.70668, 47.7999878)
  242. Part5.Orientation = Vector3.new(0, -90, -90)
  243. Part5.Color = Color3.new(0.960784, 0.803922, 0.188235)
  244. CylinderMesh6.Parent = Part5
  245. CylinderMesh6.Scale = Vector3.new(0.100000001, 0.13333334, 0.100000001)
  246. CylinderMesh6.Scale = Vector3.new(0.100000001, 0.13333334, 0.100000001)
  247. Part7.Name = "Main"
  248. Part7.Parent = Tool0
  249. Part7.Material = Enum.Material.Metal
  250. Part7.BrickColor = BrickColor.new("Really black")
  251. Part7.Transparency = 1
  252. Part7.Rotation = Vector3.new(90, 90, 0)
  253. Part7.Anchored = true
  254. Part7.FormFactor = Enum.FormFactor.Custom
  255. Part7.Size = Vector3.new(0.25, 0.25, 0.25)
  256. Part7.CFrame = CFrame.new(2.4749999, 0.99000001, 46.0999985, -2.61729589e-08, 5.96046519e-08, 1, 1, 3.1868769e-08, 2.61729589e-08, -3.1868769e-08, 1, -5.96046519e-08)
  257. Part7.BottomSurface = Enum.SurfaceType.Smooth
  258. Part7.TopSurface = Enum.SurfaceType.Smooth
  259. Part7.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  260. Part7.Position = Vector3.new(2.4749999, 0.99000001, 46.0999985)
  261. Part7.Orientation = Vector3.new(0, 90, 90)
  262. Part7.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  263. PointLight8.Name = "FlashFX"
  264. PointLight8.Parent = Part7
  265. PointLight8.Color = Color3.new(1, 1, 0)
  266. PointLight8.Enabled = false
  267. PointLight8.Brightness = 10
  268. PointLight8.Range = 6
  269. PointLight8.Shadows = true
  270. PointLight8.Color = Color3.new(1, 1, 0)
  271. BillboardGui9.Name = "FlashGui"
  272. BillboardGui9.Parent = Part7
  273. BillboardGui9.Size = UDim2.new(1.10000002, 0, 1.10000002, 0)
  274. BillboardGui9.Enabled = false
  275. ImageLabel10.Name = "Label"
  276. ImageLabel10.Parent = BillboardGui9
  277. ImageLabel10.Transparency = 1
  278. ImageLabel10.Size = UDim2.new(1, 0, 1, 0)
  279. ImageLabel10.BackgroundTransparency = 1
  280. ImageLabel10.Image = "http://www.roblox.com/asset/?id=117472237"
  281. CylinderMesh11.Parent = Part7
  282. CylinderMesh11.Offset = Vector3.new(0, -0.248999998, 0)
  283. CylinderMesh11.Scale = Vector3.new(0.600000024, 1, 0.600000024)
  284. CylinderMesh11.Scale = Vector3.new(0.600000024, 1, 0.600000024)
  285. Part12.Name = "Handle"
  286. Part12.Parent = Tool0
  287. Part12.Material = Enum.Material.Metal
  288. Part12.Transparency = 1
  289. Part12.Anchored = true
  290. Part12.CanCollide = false
  291. Part12.FormFactor = Enum.FormFactor.Custom
  292. Part12.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  293. Part12.CFrame = CFrame.new(2.5, 0.660000026, 49.1769981, 1, -4.10676591e-07, 2.92998536e-13, 4.10676591e-07, 1, -7.13453232e-07, 0, 7.13453232e-07, 1)
  294. Part12.BottomSurface = Enum.SurfaceType.Smooth
  295. Part12.TopSurface = Enum.SurfaceType.Smooth
  296. Part12.Position = Vector3.new(2.5, 0.660000026, 49.1769981)
  297. Sound13.Name = "FireSound"
  298. Sound13.Parent = Part12
  299. Sound13.SoundId = "http://roblox.com/asset/?id=330706798"
  300. Sound13.Volume = 1
  301. Part14.Name = "AimPart"
  302. Part14.Parent = Tool0
  303. Part14.Material = Enum.Material.Metal
  304. Part14.Transparency = 1
  305. Part14.Anchored = true
  306. Part14.CanCollide = false
  307. Part14.FormFactor = Enum.FormFactor.Custom
  308. Part14.Size = Vector3.new(0.299999952, 0.200000003, 0.200000003)
  309. Part14.CFrame = CFrame.new(2.5, 1.20099795, 48.3769989, 1, -1.98412908e-09, -5.96046519e-08, 1.98413042e-09, 1, 2.09293631e-08, 5.96046519e-08, -2.09293631e-08, 1)
  310. Part14.BottomSurface = Enum.SurfaceType.Smooth
  311. Part14.TopSurface = Enum.SurfaceType.Smooth
  312. Part14.Position = Vector3.new(2.5, 1.20099795, 48.3769989)
  313. Part15.Name = "Mag"
  314. Part15.Parent = Tool0
  315. Part15.Material = Enum.Material.Metal
  316. Part15.BrickColor = BrickColor.new("Bright red")
  317. Part15.Reflectance = 0.10000000149012
  318. Part15.Rotation = Vector3.new(90, -90, 0)
  319. Part15.CanCollide = false
  320. Part15.FormFactor = Enum.FormFactor.Symmetric
  321. Part15.Size = Vector3.new(1, 1, 1)
  322. Part15.CFrame = CFrame.new(2.5, 0.70668, 48, -4.37113883e-08, 0, -1, -1, -4.37113883e-08, 4.37113883e-08, -4.37113883e-08, 1, 1.91068547e-15)
  323. Part15.BottomSurface = Enum.SurfaceType.Smooth
  324. Part15.TopSurface = Enum.SurfaceType.Smooth
  325. Part15.Color = Color3.new(0.768628, 0.156863, 0.109804)
  326. Part15.Position = Vector3.new(2.5, 0.70668, 48)
  327. Part15.Orientation = Vector3.new(0, -90, -90)
  328. Part15.Color = Color3.new(0.768628, 0.156863, 0.109804)
  329. CylinderMesh16.Parent = Part15
  330. CylinderMesh16.Scale = Vector3.new(0.100000001, 0.266666681, 0.100000001)
  331. CylinderMesh16.Scale = Vector3.new(0.100000001, 0.266666681, 0.100000001)
  332. LocalScript17.Name = "Gun_Main"
  333. LocalScript17.Parent = Tool0
  334. table.insert(cors,sandbox(LocalScript17,function()
  335.  
  336. repeat wait() until game.Players.LocalPlayer.Character
  337. repeat wait() until game.Players.LocalPlayer.Character:IsDescendantOf(game.Workspace)
  338. wait(1 / 20)
  339.  
  340. --------------------------------------------------------------------------------------
  341. --------------------[ IGNORE MODEL ]--------------------------------------------------
  342. --------------------------------------------------------------------------------------
  343.  
  344. local Ignore_Code = script:WaitForChild("Ignore_Code")
  345.  
  346. repeat wait() until Ignore_Code.Value ~= 0
  347.  
  348. local Ignore_Model = game.Workspace:WaitForChild("Ignore_Model_"..Ignore_Code.Value)
  349.  
  350. --------------------------------------------------------------------------------------
  351. --------------------[ CONSTANTS ]-----------------------------------------------------
  352. --------------------------------------------------------------------------------------
  353.  
  354. local Gun = script.Parent
  355. local Handle = Gun:WaitForChild("Handle")
  356. local AimPart = Gun:WaitForChild("AimPart")
  357. local Main = Gun:WaitForChild("Main")
  358.  
  359. local Ammo = Gun:WaitForChild("Ammo")
  360. local ClipSize = Gun:WaitForChild("ClipSize")
  361. local StoredAmmo = Gun:WaitForChild("StoredAmmo")
  362.  
  363. local LethalGrenades = Gun:WaitForChild("LethalGrenades")
  364. local TacticalGrenades = Gun:WaitForChild("TacticalGrenades")
  365.  
  366. local S = { --These are the settings, change them however you like
  367.  
  368.  
  369. GunName = "Unsc Shotgun"; --This is the name that will be displayed on the Tool
  370. Description = "From halo lol"; --This will be the text that is displayed above the tool when the mouse is hovering over it
  371.  
  372.  
  373. GunType = { --[[These are the 5 gun types you can have. Set whichever ones you want to true. (NOTE: Semi and Auto can't both be
  374. true, and Burst and Auto can't both be true)]]
  375. Semi = false; --Set this true if you want the gun to be semi-automatic. (Pistols, Snipers, etc)
  376. Auto = false; --Set this true if you want the gun to be fully automatic. (Assault Rifles, Submachine guns, machine guns, etc)
  377. Burst = false; --Set this true if you want the gun to be burst fire. (Battle rifles, assault rifles, etc)
  378. Shot = true; --Set this true if you want the gun to be a shotgun. (NOTE: Shot and auto can both be true)
  379. Explosive = false; --Set this true if you want the projectiles to be explosive. (Rocket launchers, grenade launchers, etc)
  380. };
  381.  
  382.  
  383. BurstAmount = 3; --This is how many bullets will be fired in one burst (if Burst is true)
  384. BurstTime = 0.2; --This is how long it takes for a burst to complete
  385. BurstWait = 0.1; --This is how much time you have to wait before you can fire another burst
  386.  
  387.  
  388. ShotAmount = 5; --This is how many bullets will be fired in one shot (if Shot is true)
  389.  
  390.  
  391. ExplosionRadius = 20; --This is the radius of the explosion when the bullet hits a target. (If Explosive is true)
  392. ExplosionPressure = 5e5; --This is the pressure of the explosion when the bullet hits the target
  393. ExplosionType = Enum.ExplosionType.NoCraters; --This is the type of explosion
  394. --[[
  395. (0 or "NoCraters" or Enum.ExplosionType.NoCraters) means that the explosion will not damage terrain
  396. (1 or "Craters" or Enum.ExplosionType.Craters) means that the explosion will leave craters in terrain
  397. (2 or "CratersAndDebris" or Enum.ExplosionType.CratersAndDebris) means that the explosion will leave craters and debris in terrain
  398. --]]
  399. ExplosionSound = "rbxassetid://138499093"; --This is what the sound of the explosion will be
  400. ExplosionSoundPitch = 1; --This is what the pitch of the explosion sound will be
  401. ExplosionSoundVolume = 1; --This is what the volume of the explosion sound will be
  402. RayCastExplosions = false; --[[This is whether or not explosions will have raycasting. If this is true, humanoids behind walls
  403. won't be damaged. If this is false, any humanoid within the radius will be damaged. (NOTE: RangeBasedDamage has to be true in
  404. order for explosions to have raycasting)]]
  405. RangeBasedDamage = true; --[[This is whether or not will depend on how far the object is from the center of the explosion. If this
  406. is true, the farther a humanoid is from the blast center, the less damage it'll take. If this is false, any object within
  407. the explosion's radius will have its joints broken]]
  408.  
  409.  
  410. PlayerArms = true; --This is whether or not the fake arms will look like the Player's arms
  411. FakeArmTransparency = 0; --This is the transparency of the fake arms
  412. FakeArmRealBodyColor = true; --This is whether or not the color of the fake arm will be the color of the player's real arms
  413. FakeArmColor = BrickColor.new("Pastel brown"); --This is what the color of the fake arms will be if FakeArmRealBodyColor is false
  414.  
  415.  
  416. ArmC1_UnAimed = { --This table contains the CFrames of the arms when the gun is not aimed
  417. Left = CFrame.new(0.1, 1.5, -0.3) * CFrame.Angles(0, 0, math.rad(-50)); --This is the cframe of the left arm
  418. Right = CFrame.new(0.4, 0.25, -0.3) * CFrame.Angles(0, 0, math.rad(25)); --This is the cframe of the right arm
  419. };
  420. ArmC1_Aimed = { --This table contains the CFrames of the arms when the gun is aimed
  421. Left = CFrame.new(-0.1, 1.2, 0.1) * CFrame.Angles(0, 0, math.rad(-35)); --This is the cframe of the left arm
  422. Right = CFrame.new(0.3, 0.707, -0.01) * CFrame.Angles(0, 0, math.rad(50)); --This is the cframe of the right arm
  423. };
  424.  
  425.  
  426. PlayerAnimations = true; --This is whether or not the player will have custom animations
  427. AimAnimation = true; --This is whether or not there is an animation for aiming down the sights
  428. SelectFireAnimation = true; --This is whether or not there is an animation for changing the fire mode
  429. ReloadAnimation = true; --This is whether or not there is an animation for reloading
  430. StanceAnimation = true; --This is whether or not there is an animation for changing stance
  431.  
  432.  
  433. AimSpeed = 0.15; --This is how long the gun will take to fully aim down the sights
  434. MaxZoom = 40; --This is the FOV that the Camera will have when the gun is fully aimed down
  435. HoldMouseOrKeyToADS = true; --This is whether or not you have to hold the right mouse or the ADS key to ADS
  436.  
  437.  
  438. GuiScope = false; --This is whether or not your Scope will be a gui instead of a normal sight
  439. GuiId = "http://www.roblox.com/asset/?id=160682367"; --This is the ImageId of the GuiScope
  440. ScopeSway = 2; --This is the sway, in radians, of the camera
  441.  
  442.  
  443. ScopeSteadyTime = 8; --This is how long you can hold your breath to steady the scope
  444. SteadyCooldownTime = 4; --This is how long it takes to fully retake your breath
  445. UnSteadyOnFire = true; --This is whether or not the camera will become unsteady when you fire the gun
  446.  
  447.  
  448. FireRate = 600; --This is how many bullets per minute the gun will fire
  449. BulletRange = 1000; --This is how far the bullet will travel before it is no longer effective
  450.  
  451.  
  452. InstantHit = false; --[[This is whether or not the bullet will hit a target instantly. If it is false, the bullet will travel at a
  453. specific speed till it hits a target]]
  454. BulletVelocity = 2400; --This is how fast the bullet will travel in studs per second
  455.  
  456.  
  457. Damage = 25; --This is the base damage. That means that this is the least amount of damage that will be inflicted
  458. Multipliers = { --[[These are the damage multipliers. There's a spread of +0.1. That means that if the multiplier is 1, the actual
  459. multiplier will range from 1 - 1.1]]
  460. Chest = 1; --This is what the damage will be multiplied by if the bullet hits the chest
  461. Head = 1.5; --This is what the damage will be multiplied by if the bullet hits the head or a hat
  462. Limbs = 1; --This is what the damage will be multiplied by if the bullet hits a limb (Arms or legs)
  463. };
  464.  
  465.  
  466. AllowFriendlyFire = false; --This is whether or not you can damage teammates
  467. CanDamageNPCs = true; --This is whether or not you can damage NPC's (Zombies, fake players, anything with a humanoid)
  468.  
  469.  
  470. RotateWhileSitting = false; --This is whether or not your player will rotate when you are sitting down
  471.  
  472.  
  473. SelectiveFire = true; --This is whether or not you can switch fire modes
  474. FireModes = { --This is the table of all the possible fire modes you can switch between
  475. Safety = true; --This mode prevents firing
  476. Auto = true; --This mode is full auto firing
  477. Burst = true; --This mode is burst fire. The settings for burst apply to this mode
  478. Semi = true; --This mode is semi auto fire
  479. };
  480.  
  481.  
  482. CanKnife = true; --This is whether or not you can knife
  483. KnifeMeshId = "http://www.roblox.com/asset/?id=121944778"; --This is the Mesh of the knife
  484. KnifeTextureId = "http://www.roblox.com/asset/?id=121944805"; --This is the Texture of the knife
  485. KnifeCooldown = 0.5; --This is how long you have to wait before you can knife again
  486.  
  487.  
  488. Throwables = true; --This is whether or not you have grenades
  489. TrajectoryAssist = true; --This is whether or not the script will show you the flight path of the grenade before you throw it
  490. DetonationTime = 0.5; --[[This is how long the grenade will wait to detonate (If DetonateOnHit is false, this is how long the
  491. grenade will wait after it's thrown. If DetonateOnHit is true, this is how long the grenade will wait after it hits something]]
  492. TimerStartOnHit = true; --This is whether or not the timer will start when the grenade hits something
  493. GrenadeColor = BrickColor.new("Black"); --This is the color of the grenade
  494. GrenadeSize = Vector3.new(0.8, 0.8, 0.8); --This is the size of the grenade (Doesn't apply to throwing knives)
  495.  
  496.  
  497. GrenadeBlastRadius = 12; --This is the blast radius of the explosion (Doesn't apply to non-explosive grenades)
  498. GrenadeBlastPressure = 5e5; --This is what the blast pressure of the explosion (Doesn't apply to non-explosive grenades)
  499. GrenadeExplosionType = Enum.ExplosionType.NoCraters; --This is the type of explosion (Doesn't apply to non-explosive grenades)
  500. --[[
  501. (0 or "NoCraters" or Enum.ExplosionType.NoCraters) means that the explosion will not damage terrain
  502. (1 or "Craters" or Enum.ExplosionType.Craters) means that the explosion will leave craters in terrain
  503. (2 or "CratersAndDebris" or Enum.ExplosionType.CratersAndDebris) means that the explosion will leave craters and debris in terrain
  504. --]]
  505. LethalGrenadeDamage = 150; --This is max damage that the grenade will do
  506. LethalGrenadeThrowVelocity = 170; --This is the speed at which the lethal grenade is thrown
  507. GrenadeRayCastExplosions = true; --[[This is whether or not grenade explosions will have raycasting. If this is true, humanoids
  508. behind walls won't be damaged. If this is false, any humanoid within the radius will be damaged. (NOTE: GrenadeRangeBasedDamage
  509. has to be true in order for explosions to have raycasting)]]
  510. GrenadeRangeBasedDamage = true; --[[This is whether or not will depend on how far the object is from the center of the explosion.
  511. If this is true, the farther a humanoid is from the blast center, the less damage it'll take. If this is false, any object
  512. within the explosion's radius will have its joints broken]]
  513. LethalGrenadeType = 1; --This is the lethal grenade type
  514. --[[
  515. Type 1: Frag grenade [An explosive grenade]
  516. Type 2: Sticky [An explosive grenade that sticks to a surface]
  517. Type 3: Throwing Knife [A throwable knife]
  518. --]]
  519.  
  520. TacticalGrenadeThrowVelocity = 200; --This is the speed at which the tactical grenade is thrown
  521. GrenadeEffectRadius = 70; --[[This is the radius of the effect of the grenade. If the Grenade is a smoke, this is the radius of
  522. the smoke]]
  523. GrenadeEffectTime = 10; --[[This is the how long the grenade effect will last. If the grenade is a smoke, this is how long the
  524. smoke will linger]]
  525. TacticalGrenadeType = 1; --This is the tactical grenade type
  526. --[[
  527. Type 1: Smoke grenade [A grenade that creates a cloud of smoke]
  528. --]]
  529.  
  530.  
  531. GrenadeTrail = true; --This is whether or not the grenade will have a trail
  532. GrenadeTrailColor = BrickColor.new("Black"); --This is the color of the grenade trail
  533. GrenadeTrailTransparency = 0.6; --This is the transparency of the trail
  534. GrenadeTrailThickness = 0.3; --This is the thickness of the trail
  535. GrenadeTrailVisibleTime = 0.1; --This is how long the trail will be visible for
  536. GrenadeTrailDisappearTime = 0.2; --This is how long it will take for the trail to disappear
  537.  
  538.  
  539. BulletColor = BrickColor.new("Bright yellow"); --This is the color of the bullet
  540. BulletTransparency = 0; --This is the transparency of the bullet
  541. BulletSize = Vector3.new(0.2, 0.2, 4); --This is the actual size of the bullet
  542. BulletMeshSize = Vector3.new(0.5, 0.5, 1); --This is the mesh size of the bullet.
  543. --BulletSize * BulletMeshSize = How big the bullet looks
  544.  
  545.  
  546. BulletTrail = true; --This is whether or not there will be a trail behind the bullet
  547. TrailColor = BrickColor.new("Black"); --This is the color of the bullet trail
  548. TrailTransparency = 0.6; --This is the transparency of the trail
  549. TrailThickness = 0.2; --This is the thickness of the trail
  550. TrailVisibleTime = 0.5; --This is how long the trail will be visible for
  551. TrailDisappearTime = 0.5; --This is how long it will take for the trail to disappear
  552.  
  553.  
  554. BulletHoles = true; --This is whether or not bullet holes will appear where you shot
  555. BulletHoleTexture = "http://www.roblox.com/asset/?id=64291961"; --This is the texture of the bullet hole
  556. BulletHoleSize = 0.5; --This is how big the bullet hole will be in studs
  557. BulletHoleVisibleTime = 3; --This is how long the bullet hole will be visible for
  558. BulletHoleDisappearTime = 1; --This is how long it will take for the bullet hole to disappear
  559.  
  560.  
  561. Shockwaves = true; --This is whether or not a shockwave will appear where you shot. (A sphere that appears when the bullet hits)
  562. ShockwaveRadius = 0.3; --This is the radius of the shockwave. (If the gun type is explosion, this radius will be the blast radius)
  563. ShockwaveColor = BrickColor.new("Light stone grey"); --This is the color of the shockwave
  564. ShockwaveDuration = 0.2; --This is how long the shockwave will take to disappear
  565.  
  566.  
  567. Penetration = 2; --[[This is how many studs a bullet can penetrate into a wall. So if penetration is 2 and the wall is 3 studs
  568. thick, the bullet won't come out the other side]]
  569.  
  570.  
  571. BulletDropPerSecond = 0; --This is the bullet's acceleration downward per second (196.2 is normal roblox gravity)
  572.  
  573.  
  574. Recoil = {
  575. Aimed = 0.5; --This is the recoil the gun will have when the gun is aimed down
  576. Hipfire = 1.5; --This is the recoil the gun will have when the gun is fired from the hip
  577. };
  578. Spread = { --[[This spread values are how many degrees offset / 20 the bullets from the center the bullets will travel. So a spread
  579. of 20 would mean that the bullet's max spread in any direction is 1 degree from the center]]
  580. Aimed = 0; --This is the spread when the gun is aimed down. it isn't affected by the multiplier.
  581. Hipfire = 20; --This is the base spread when the gun is fired from the hip
  582. Max = 40; --This is the highest the spread can be when fired
  583. Multiplier = 1.1; --This is how much the spread will be multiplied by when fired. It only affects the Hipfire spread
  584. Walking = 30; --This is the spread while walking. It isn't affected by the multiplier
  585. };
  586.  
  587.  
  588. ReloadTime = 1.2; --This is how long it takes to reload the gun
  589. AutoReload = true; --This is whether or not the gun will reload automatically when the ammo reaches 0
  590.  
  591.  
  592. SprintTime = 7; --This is the maximum time you can sprint
  593. StaminaCoolTime = 4; --This is how long it takes for your stamina to fully recharge
  594.  
  595.  
  596. DolphinDive = true; --This is whether or not you can dolphin dive (Run and crouch at the same time to dive)
  597. DiveRechargeTime = 1; --This is how long you have to wait till you can dive or run again after you've dived
  598.  
  599.  
  600. CanChangeStance = true; --This is whether or not you can change stance. That means whether or not you can crouch or go prone
  601. StanceChangeSpeed = 0.25; --This is how quickly you change stance
  602. StandOnDeselect = true; --This is whether or not you stand up when you deselect the tool
  603.  
  604.  
  605. BaseWalkSpeed = 16; --This is the base walkspeed
  606. SprintSpeed = 30; --This is the walkspeed when you're sprinting
  607. AimedWalkSpeed = 10; --[[This is the base walkspeed when the gun is aimed down. If you crouch or go prone, the speed will change
  608. based on the AimedWalkSpeed to BaseWalkSpeed ratio]]
  609. CrouchWalkSpeed = 7; --This is the walkspeed when you're crouched
  610. ProneWalkSpeed = 4; --This is the walkspeed when you're prone
  611.  
  612.  
  613. --NOTE: For extra keys, go here: http://wiki.roblox.com/index.php?title=Taking_keyboard_input
  614. LowerStanceKey = "c"; --This is the key you press to lower your stance (Stand > Crouch > Prone)
  615. RaiseStanceKey = "x"; --This is the key you press to raise your stance (Prone > Crouch > Stand)
  616. SwitchFireKey = "v"; --This is the key you press to switch fire modes
  617. ReloadKey = "r"; --This is the key you press to reload
  618. SprintKey = string.char(48); --This is the key you press to sprint
  619. KnifeKey = "f"; --This is the key you press to knife
  620. LethalGrenadeKey = "g"; --This is the key you press to throw the lethal grenade
  621. TacticalGrenadeKey = "t"; --This is the key you press to throw the tactical grenade
  622. ADSKey = "q"; --This is the key you press to ADS. If you want ADS to just be right mouse, then make this key ""
  623. ScopeSteadyKey = string.char(48); --This is the key you press to steady the scope
  624.  
  625.  
  626. }
  627.  
  628. local Player = game.Players.LocalPlayer
  629. local Character = Player.Character
  630. local Humanoid = Character:WaitForChild("Humanoid")
  631. local Torso = Character:WaitForChild("Torso")
  632. local Head = Character:WaitForChild("Head")
  633. local HRP = Character:WaitForChild("HumanoidRootPart")
  634.  
  635. local Neck = Torso:WaitForChild("Neck")
  636.  
  637. local LArm = Character:WaitForChild("Left Arm")
  638. local RArm = Character:WaitForChild("Right Arm")
  639. local LLeg = Character:WaitForChild("Left Leg")
  640. local RLeg = Character:WaitForChild("Right Leg")
  641.  
  642. local M2 = Player:GetMouse()
  643. local Main_Gui = script:WaitForChild("Main_Gui")
  644.  
  645. local RS = game:GetService("RunService").RenderStepped
  646.  
  647. local Camera = game.Workspace.CurrentCamera
  648.  
  649. local ABS, HUGE, FLOOR, CEIL = math.abs, math.huge, math.floor, math.ceil
  650. local RAD, SIN, ATAN, COS = math.rad, math.sin, math.atan2, math.cos
  651. local VEC3 = Vector3.new
  652. local CF, CFANG = CFrame.new, CFrame.Angles
  653. local INSERT = table.insert
  654.  
  655. local MaxStamina = S.SprintTime * 60
  656. local MaxSteadyTime = S.ScopeSteadyTime * 60
  657.  
  658. local LethalIcons = {
  659. "http://www.roblox.com/asset/?id=194849880";
  660. "http://www.roblox.com/asset/?id=195727791";
  661. "http://www.roblox.com/asset/?id=195728137";
  662. }
  663.  
  664. local TacticalIcons = {
  665. "http://www.roblox.com/asset/?id=195728473";
  666. "http://www.roblox.com/asset/?id=195728693";
  667. }
  668.  
  669. local Ignore = {
  670. Character;
  671. Ignore_Model;
  672. }
  673.  
  674. local StanceOffset = {
  675. VEC3(0, 0, 0);
  676. VEC3(0, -1, 0);
  677. VEC3(0, -3, 0);
  678. }
  679.  
  680. local Shoulders = {
  681. Right = Torso:WaitForChild("Right Shoulder");
  682. Left = Torso:WaitForChild("Left Shoulder")
  683. }
  684.  
  685. local ArmC0 = {
  686. CF(-1.5, 0, 0) * CFANG(RAD(90), 0, 0);
  687. CF(1.5, 0, 0) * CFANG(RAD(90), 0, 0);
  688. }
  689.  
  690. local Sine = function(X)
  691. return SIN(RAD(X))
  692. end
  693.  
  694. local Linear = function(X)
  695. return (X / 90)
  696. end
  697.  
  698. --------------------------------------------------------------------------------------
  699. --------------------[ VARIABLES ]-----------------------------------------------------
  700. --------------------------------------------------------------------------------------
  701.  
  702. local Selected = false
  703.  
  704. local Idleing = false
  705. local Walking = false
  706. local Running = false
  707.  
  708. local Aimed = false
  709. local Aiming = false
  710.  
  711. local Reloading = false
  712. local BreakReload = false
  713.  
  714. local Knifing = false
  715. local ThrowingGrenade = false
  716.  
  717. local MB1_Down = false
  718.  
  719. local CanFire = true
  720.  
  721. local KnifeReady = true
  722.  
  723. local CanRun = true
  724. local RunTween = false
  725. local Run_Key_Pressed = false
  726. local ChargingStamina = false
  727.  
  728. local AimingIn = false
  729. local AimingOut = false
  730.  
  731. local Stamina = S.SprintTime * 60
  732. local CurrentSteadyTime = S.ScopeSteadyTime * 60
  733.  
  734. local CameraSteady = false
  735. local TakingBreath = false
  736.  
  737. local Grip = nil
  738. local Aimed_GripCF = nil
  739.  
  740. local Gui_Clone = nil
  741.  
  742. local CurrentSpread = S.Spread.Hipfire
  743. local CurrentRecoil = S.Recoil.Hipfire
  744.  
  745. local AmmoInClip = 0
  746.  
  747. local Stance = 0
  748. local StanceSway = 1
  749. local CameraSway = 1
  750.  
  751. local HeadRot = 0
  752. local ArmTilt = 0
  753.  
  754. local LastBeat = 0
  755.  
  756. local Parts = {}
  757.  
  758. local Connections = {}
  759.  
  760. local PrevNeckCF = {
  761. C0 = nil;
  762. C1 = nil;
  763. }
  764.  
  765. local Keys = {}
  766.  
  767. --------------------------------------------------------------------------------------
  768. --------------------[ PRE-LOADING ]---------------------------------------------------
  769. --------------------------------------------------------------------------------------
  770.  
  771. local ContentProvider = game:GetService("ContentProvider")
  772. ContentProvider:Preload(S.ExplosionSound)
  773. ContentProvider:Preload(S.KnifeMeshId)
  774. ContentProvider:Preload(S.KnifeTextureId)
  775. ContentProvider:Preload(S.BulletHoleTexture)
  776.  
  777. --------------------------------------------------------------------------------------
  778. --------------------[ ANIMATIONS ]----------------------------------------------------
  779. --------------------------------------------------------------------------------------
  780.  
  781. local AnimAng = {0, 0, 0, 0, 0}
  782.  
  783. local AnimCF = function(State, Ang)
  784. if State ~= "Running" then
  785. if (not Aimed) then
  786. if State == "Idleing" then
  787. return CF(
  788. RAD(SIN(Ang)) / 2 * StanceSway,
  789. 1 + RAD(SIN(Ang * 5 / 2)) / 2 * StanceSway, 0
  790. )
  791. elseif State == "Walking" then
  792. return CF(
  793. RAD(SIN(Ang)) * 2 * StanceSway,
  794. 1 + RAD(ABS(SIN(Ang))) * 2 * StanceSway, 0
  795. ) * CFANG(0, RAD(SIN(Ang)) / 3, 0)
  796. end
  797. elseif Aimed then
  798. if State == "Idleing" then
  799. return CF(
  800. RAD(SIN(Ang)) / 4 * StanceSway,
  801. 1 + RAD(SIN(Ang * 5 / 2)) / 4 * StanceSway, 0
  802. )
  803. elseif State == "Walking" then
  804. return CF(
  805. RAD(SIN(Ang)) / 3 * StanceSway,
  806. 1 + RAD(ABS(SIN(Ang))) / 3 * StanceSway, 0
  807. )
  808. end
  809. end
  810. elseif State == "Running" then
  811. return CF(
  812. SIN(Ang) / 6 * StanceSway,
  813. 0.9 + ABS(SIN(Ang)) / 5 * StanceSway, 0
  814. ) * CFANG(0, -RAD(SIN(Ang)) * 7, 0)
  815. end
  816. end
  817.  
  818. function Animate()
  819. local IsIdleing = false
  820. local IsWalking = false
  821. local IsRunning = false
  822. spawn(function()
  823. while Selected do
  824. IsIdleing = Idleing and (not Walking) and (not Reloading) and (not Knifing) and (not ThrowingGrenade) and Selected
  825. IsWalking = (not Idleing) and Walking and (not Running) and (not Reloading) and (not Knifing) and (not ThrowingGrenade) and Selected
  826. IsRunning = (not Idleing) and Walking and Running and (not Aiming) and (not Knifing) and (not ThrowingGrenade) and Selected
  827. RS:wait()
  828. end
  829. IsIdleing = false
  830. IsWalking = false
  831. IsRunning = false
  832. end)
  833. spawn(function()
  834. if S.PlayerAnimations then
  835. TweenJoint(LWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, 0.15)
  836. TweenJoint(RWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, 0.15)
  837. local PreviousArmTilt = ArmTilt
  838. while Selected do
  839. repeat RS:wait() until (ArmTilt ~= PreviousArmTilt) or (not Selected)
  840. if (not IsRunning) and (not Aimed) and (not Reloading) and (not Knifing) and (not ThrowingGrenade) and Selected then
  841. PreviousArmTilt = ArmTilt
  842. TweenJoint(LWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, 0.15)
  843. TweenJoint(RWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, 0.15)
  844. end
  845. RS:wait()
  846. end
  847. end
  848. end)
  849. spawn(function()
  850. while Selected do
  851. if IsIdleing then
  852. if (not Aimed) and (not Aiming) then
  853. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  854. UDim2.new(0, 70, 0, 70),
  855. UDim2.new(0, -35, 0, -35),
  856. Enum.EasingDirection.Out,
  857. Enum.EasingStyle.Linear,
  858. S.PlayerAnimations and 0.15 or 0,
  859. true
  860. )
  861. if S.PlayerAnimations then
  862. TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Sine, 0.15)
  863. TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Sine, 0.15)
  864. TweenJoint(AnimWeld, AnimCF("Idleing", AnimAng[1]), CF(), Sine, 0.15)
  865. TweenJoint(Grip, Grip.C0, CFANG(0, RAD(20), 0), Sine, 0.15)
  866. else
  867. if (not LWeld:FindFirstChild("TweenCode"))
  868. and (not RWeld:FindFirstChild("TweenCode"))
  869. and (not ABWeld:FindFirstChild("TweenCode"))
  870. and (not AnimWeld:FindFirstChild("TweenCode")) then
  871. LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_UnAimed.Left
  872. RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_UnAimed.Right
  873. AnimWeld.C0 = CF(0, 1, 0)
  874. Grip.C1 = CFANG(0, RAD(20), 0)
  875. end
  876. end
  877. elseif Aimed and (not Aiming) then
  878. if S.PlayerAnimations then
  879. TweenJoint(LWeld, ArmC0[1], S.ArmC1_Aimed.Left, Sine, 0.15)
  880. TweenJoint(RWeld, ArmC0[2], S.ArmC1_Aimed.Right, Sine, 0.15)
  881. TweenJoint(AnimWeld, AnimCF("Idleing", AnimAng[2]), CF(), Sine, 0.15)
  882. else
  883. if (not LWeld:FindFirstChild("TweenCode"))
  884. and (not RWeld:FindFirstChild("TweenCode"))
  885. and (not ABWeld:FindFirstChild("TweenCode"))
  886. and (not AnimWeld:FindFirstChild("TweenCode")) then
  887. LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_Aimed.Left
  888. RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_Aimed.Right
  889. AnimWeld.C0 = CF(0, 1, 0)
  890. Grip.C1 = Aimed_GripCF
  891. end
  892. end
  893. end
  894. if S.PlayerAnimations then
  895. wait(0.15)
  896. RunTween = false
  897. while IsIdleing do
  898. if (not LWeld:FindFirstChild("TweenCode"))
  899. and (not RWeld:FindFirstChild("TweenCode"))
  900. and (not ABWeld:FindFirstChild("TweenCode"))
  901. and (not AnimWeld:FindFirstChild("TweenCode")) then
  902. if (not Aimed) and (not Aiming) then
  903. AnimWeld.C0 = AnimCF("Idleing", AnimAng[1])
  904. AnimAng[1] = AnimAng[1] + 0.03 * StanceSway
  905. elseif Aimed and (not Aiming) then
  906. AnimWeld.C0 = AnimCF("Idleing", AnimAng[2])
  907. AnimAng[2] = AnimAng[2] + 0.015 * StanceSway
  908. end
  909. end
  910. RS:wait()
  911. end
  912. AnimAng[1], AnimAng[2] = 0, 0
  913. end
  914. end
  915. if IsWalking then
  916. if (not Aimed) and (not Aiming) then
  917. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  918. UDim2.new(0, 150, 0, 150),
  919. UDim2.new(0, -75, 0, -75),
  920. Enum.EasingDirection.Out,
  921. Enum.EasingStyle.Linear,
  922. S.PlayerAnimations and 0.15 or 0,
  923. true
  924. )
  925. if S.PlayerAnimations then
  926. TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Sine, 0.15)
  927. TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Sine, 0.15)
  928. TweenJoint(AnimWeld, AnimCF("Walking", AnimAng[3]), CF(), Sine, 0.15)
  929. TweenJoint(Grip, Grip.C0, CFANG(0, RAD(20), 0), Sine, 0.15)
  930. else
  931. if (not LWeld:FindFirstChild("TweenCode"))
  932. and (not RWeld:FindFirstChild("TweenCode"))
  933. and (not ABWeld:FindFirstChild("TweenCode"))
  934. and (not AnimWeld:FindFirstChild("TweenCode")) then
  935. LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_UnAimed.Left
  936. RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_UnAimed.Right
  937. AnimWeld.C0 = CF(0, 1, 0)
  938. Grip.C1 = CFANG(0, RAD(20), 0)
  939. end
  940. end
  941. elseif Aimed and (not Aiming) then
  942. if S.PlayerAnimations then
  943. TweenJoint(LWeld, ArmC0[1], S.ArmC1_Aimed.Left, Sine, 0.15)
  944. TweenJoint(RWeld, ArmC0[2], S.ArmC1_Aimed.Right, Sine, 0.15)
  945. TweenJoint(AnimWeld, AnimCF("Walking", AnimAng[4]), CF(), Sine, 0.15)
  946. else
  947. if (not LWeld:FindFirstChild("TweenCode"))
  948. and (not RWeld:FindFirstChild("TweenCode"))
  949. and (not ABWeld:FindFirstChild("TweenCode"))
  950. and (not AnimWeld:FindFirstChild("TweenCode")) then
  951. LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_Aimed.Left
  952. RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_Aimed.Right
  953. AnimWeld.C0 = CF(0, 1, 0)
  954. Grip.C1 = Aimed_GripCF
  955. end
  956. end
  957. end
  958. if S.PlayerAnimations then
  959. wait(0.15)
  960. RunTween = false
  961. while IsWalking do
  962. if (not LWeld:FindFirstChild("TweenCode"))
  963. and (not RWeld:FindFirstChild("TweenCode"))
  964. and (not ABWeld:FindFirstChild("TweenCode"))
  965. and (not AnimWeld:FindFirstChild("TweenCode"))then
  966. if (not Aimed) and (not Aiming) then
  967. AnimWeld.C0 = AnimCF("Walking", AnimAng[3])
  968. AnimAng[3] = AnimAng[3] + 0.15 * StanceSway
  969. elseif Aimed and (not Aiming) then
  970. AnimWeld.C0 = AnimCF("Walking", AnimAng[4])
  971. AnimAng[4] = AnimAng[4] + 0.1 * StanceSway
  972. end
  973. end
  974. RS:wait()
  975. end
  976. AnimAng[3], AnimAng[4] = 0, 0
  977. end
  978. end
  979. if IsRunning then
  980. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  981. UDim2.new(0, 200, 0, 200),
  982. UDim2.new(0, -100, 0, -100),
  983. Enum.EasingDirection.Out,
  984. Enum.EasingStyle.Linear,
  985. S.PlayerAnimations and 0.15 or 0,
  986. true
  987. )
  988. local LArmCF = CF(0, 0.7 - (SIN(AnimAng[5]) + 1)/15, 0)
  989. local LArmAng = CFANG(RAD(ABS(COS(AnimAng[5]))) * 10 + RAD(35), RAD(-30), RAD((SIN(AnimAng[5]) + 1) * 15 - 40))
  990. local RArmCF = CF(0, (SIN(AnimAng[5]) + 1)/2, 0)
  991. local RArmAng = CFANG(RAD(ABS(COS(AnimAng[5]))) * 10 + RAD(20), 0, RAD(50 + (SIN(AnimAng[5]) + 1) * 5))
  992. if S.PlayerAnimations then
  993. TweenJoint(LWeld, ArmC0[1], LArmCF * LArmAng, Sine, 0.15)
  994. TweenJoint(RWeld, ArmC0[2], RArmCF * RArmAng, Sine, 0.15)
  995. TweenJoint(AnimWeld, AnimCF("Running", AnimAng[5]), CF(), Sine, 0.15)
  996. TweenJoint(Grip, Grip.C0, CFANG(0, RAD(-5), 0), Sine, 0.15)
  997. else
  998. LWeld.C0, LWeld.C1 = ArmC0[1], LArmCF * LArmAng
  999. RWeld.C0, RWeld.C1 = ArmC0[2], RArmCF * RArmAng
  1000. AnimWeld.C0 = CF(0, 0.9, 0)
  1001. Grip.C1 = CFANG(0, RAD(-5), 0)
  1002. end
  1003. if S.PlayerAnimations then
  1004. RunTween = true
  1005. wait(0.15)
  1006. while IsRunning do
  1007. if (not Aiming) then
  1008. AnimWeld.C0 = AnimCF("Running", AnimAng[5])
  1009. AnimAng[5] = AnimAng[5] + 0.18
  1010. end
  1011. RS:wait()
  1012. end
  1013. AnimAng[5] = 0
  1014. end
  1015. end
  1016. RS:wait()
  1017. end
  1018. end)
  1019. end
  1020.  
  1021. --------------------------------------------------------------------------------------
  1022. --------------------[ GUN SETUP ]-----------------------------------------------------
  1023. --------------------------------------------------------------------------------------
  1024.  
  1025. Gun.Name = S.GunName
  1026. Gun.ToolTip = S.Description
  1027.  
  1028. --------------------------------------------------------------------------------------
  1029. --------------------[ PRE-CONNECTIONS ]-----------------------------------------------
  1030. --------------------------------------------------------------------------------------
  1031.  
  1032. RS:connect(function()
  1033. local Forward = (Keys["w"] or Keys[string.char(17)])
  1034. local Backward = (Keys["s"] or Keys[string.char(18)])
  1035. local Right = (Keys["d"] or Keys[string.char(19)])
  1036. local Left = (Keys["a"] or Keys[string.char(20)])
  1037.  
  1038. if (Forward or Backward or Right or Left) then
  1039. Walking, Idleing = true, false
  1040. elseif (not (Forward and Backward and Right and Left)) then
  1041. Walking, Idleing = false, true
  1042. end
  1043. end)
  1044.  
  1045. M2.KeyDown:connect(function(Key) Keys[Key] = true end)
  1046. M2.KeyUp:connect(function(Key) Keys[Key] = false end)
  1047.  
  1048. --------------------------------------------------------------------------------------
  1049. --------------------[ WELDING ]-------------------------------------------------------
  1050. --------------------------------------------------------------------------------------
  1051.  
  1052. spawn(function()
  1053. for _, v in pairs(Gun:GetChildren()) do
  1054. if v:IsA("BasePart") and v ~= Handle then
  1055. if v:FindFirstChild("MainWeld") then v.MainWeld:Destroy() end
  1056. if (not v:FindFirstChild("WeldCF")) then
  1057. local WeldCF = Instance.new("CFrameValue")
  1058. WeldCF.Name = "WeldCF"
  1059. WeldCF.Value = Handle.CFrame:toObjectSpace(v.CFrame)
  1060. WeldCF.Parent = v
  1061. end
  1062. INSERT(Parts, {Obj = v, Weld = nil})
  1063. v.Anchored = false
  1064. end
  1065. end
  1066. Handle.Anchored = false
  1067. end)
  1068.  
  1069. --------------------------------------------------------------------------------------
  1070. --------------------[ MAIN PROGRAM ]--------------------------------------------------
  1071. --------------------------------------------------------------------------------------
  1072.  
  1073. --------------------[ ARM CREATION FUNCTION ]-----------------------------------------
  1074.  
  1075. function CreateArms()
  1076. local Arms = {}
  1077. for i = 0, 1 do
  1078. local ArmModel = Instance.new("Model")
  1079. ArmModel.Name = "ArmModel"
  1080.  
  1081. local Arm = Instance.new("Part")
  1082. Arm.BrickColor = (S.FakeArmRealBodyColor and (i == 0 and LArm.BrickColor or RArm.BrickColor) or S.FakeArmColor)
  1083. Arm.Transparency = S.FakeArmTransparency
  1084. Arm.Name = "Arm"
  1085. Arm.CanCollide = false
  1086. Arm.Size = VEC3(1, 2, 1)
  1087. Arm.Parent = ArmModel
  1088. local ArmMesh = Instance.new("SpecialMesh")
  1089. ArmMesh.MeshId = "rbxasset://fonts//rightarm.mesh"
  1090. ArmMesh.MeshType = Enum.MeshType.FileMesh
  1091. ArmMesh.Scale = VEC3(0.65, 1, 0.65)
  1092. ArmMesh.Parent = Arm
  1093.  
  1094. local Sleeve1 = Instance.new("Part")
  1095. Sleeve1.BrickColor = BrickColor.new("Sand green")
  1096. Sleeve1.Name = "Sleeve1"
  1097. Sleeve1.CanCollide = false
  1098. Sleeve1.Size = VEC3(1, 2, 1)
  1099. Sleeve1.Parent = ArmModel
  1100. local Sleeve1Mesh = Instance.new("BlockMesh")
  1101. Sleeve1Mesh.Offset = VEC3(0, 0.66, 0)
  1102. Sleeve1Mesh.Scale = VEC3(0.656, 0.35, 0.656)
  1103. Sleeve1Mesh.Parent = Sleeve1
  1104. local Sleeve1Weld = Instance.new("Weld")
  1105. Sleeve1Weld.Part0 = Arm
  1106. Sleeve1Weld.Part1 = Sleeve1
  1107. Sleeve1Weld.Parent = Arm
  1108.  
  1109. local Sleeve2 = Instance.new("Part")
  1110. Sleeve2.BrickColor = BrickColor.new("Sand green")
  1111. Sleeve2.Name = "Sleeve2"
  1112. Sleeve2.CanCollide = false
  1113. Sleeve2.Size = VEC3(1, 2, 1)
  1114. Sleeve2.Parent = ArmModel
  1115. local Sleeve2Mesh = Instance.new("BlockMesh")
  1116. Sleeve2Mesh.Offset = VEC3(0, 0.46, 0)
  1117. Sleeve2Mesh.Scale = VEC3(0.75, 0.1, 0.75)
  1118. Sleeve2Mesh.Parent = Sleeve2
  1119. local Sleeve2Weld = Instance.new("Weld")
  1120. Sleeve2Weld.Part0 = Arm
  1121. Sleeve2Weld.Part1 = Sleeve2
  1122. Sleeve2Weld.Parent = Arm
  1123.  
  1124. local Glove1 = Instance.new("Part")
  1125. Glove1.BrickColor = BrickColor.new("Black")
  1126. Glove1.Name = "Glove1"
  1127. Glove1.CanCollide = false
  1128. Glove1.Size = VEC3(1, 2, 1)
  1129. Glove1.Parent = ArmModel
  1130. local Glove1Mesh = Instance.new("BlockMesh")
  1131. Glove1Mesh.Offset = VEC3(0, -0.4, 0)
  1132. Glove1Mesh.Scale = VEC3(0.657, 0.205, 0.657)
  1133. Glove1Mesh.Parent = Glove1
  1134. local Glove1Weld = Instance.new("Weld")
  1135. Glove1Weld.Part0 = Arm
  1136. Glove1Weld.Part1 = Glove1
  1137. Glove1Weld.Parent = Arm
  1138.  
  1139. local Glove2 = Instance.new("Part")
  1140. Glove2.BrickColor = BrickColor.new("Black")
  1141. Glove2.Name = "Glove2"
  1142. Glove2.CanCollide = false
  1143. Glove2.Size = VEC3(1, 2, 1)
  1144. Glove2.Parent = ArmModel
  1145. local Glove2Mesh = Instance.new("BlockMesh")
  1146. Glove2Mesh.Offset = VEC3(0, -0.335, 0)
  1147. Glove2Mesh.Scale = VEC3(0.69, 0.105, 0.69)
  1148. Glove2Mesh.Parent = Glove2
  1149. local Glove2Weld = Instance.new("Weld")
  1150. Glove2Weld.Part0 = Arm
  1151. Glove2Weld.Part1 = Glove2
  1152. Glove2Weld.Parent = Arm
  1153.  
  1154. local Glove3 = Instance.new("Part")
  1155. Glove3.BrickColor = BrickColor.new("Black")
  1156. Glove3.Name = "Glove3"
  1157. Glove3.CanCollide = false
  1158. Glove3.Size = VEC3(1, 2, 1)
  1159. Glove3.Parent = ArmModel
  1160. local Glove3Mesh = Instance.new("BlockMesh")
  1161. Glove3Mesh.Offset = VEC3(0.2 * ((i * 2) - 1), -0.8, 0)
  1162. Glove3Mesh.Scale = VEC3(0.257, 0.205, 0.657)
  1163. Glove3Mesh.Parent = Glove3
  1164. local Glove3Weld = Instance.new("Weld")
  1165. Glove3Weld.Part0 = Arm
  1166. Glove3Weld.Part1 = Glove3
  1167. Glove3Weld.Parent = Arm
  1168.  
  1169. table.insert(Arms, {Model = ArmModel, ArmPart = Arm})
  1170. end
  1171. return Arms
  1172. end
  1173.  
  1174. --------------------[ MATH FUNCTIONS ]------------------------------------------------
  1175.  
  1176. function NumLerp(A, B, Alpha)
  1177. return (A + ((B - A) * Alpha))
  1178. end
  1179.  
  1180. function RAND(Min, Max, Accuracy)
  1181. local Inverse = 1 / (Accuracy or 1)
  1182. return (math.random(Min * Inverse, Max * Inverse) / Inverse)
  1183. end
  1184.  
  1185. --------------------[ TWEEN FUNCTIONS ]-----------------------------------------------
  1186.  
  1187. function TweenJoint(Joint, NewC0, NewC1, Alpha, Duration)
  1188. coroutine.resume(coroutine.create(function()
  1189. local TweenIndicator = nil --At the current moment, this is how the script determines whether the function is already tweening a joint
  1190. local NewCode = math.random(-1e9, 1e9) --This creates a random code between -1000000000 and 1000000000
  1191. if (not Joint:FindFirstChild("TweenCode")) then --If the joint isn't being tweened, then
  1192. TweenIndicator = Instance.new("IntValue")
  1193. TweenIndicator.Name = "TweenCode"
  1194. TweenIndicator.Value = NewCode
  1195. TweenIndicator.Parent = Joint
  1196. else
  1197. TweenIndicator = Joint.TweenCode
  1198. TweenIndicator.Value = NewCode --If the joint is already being tweened, this will change the code, and the tween loop will stop
  1199. end
  1200. local MatrixCFrame = function(CFPos, CFTop, CFBack)
  1201. local CFRight = CFTop:Cross(CFBack)
  1202. return CF(
  1203. CFPos.x, CFPos.y, CFPos.z,
  1204. CFRight.x, CFTop.x, CFBack.x,
  1205. CFRight.y, CFTop.y, CFBack.y,
  1206. CFRight.z, CFTop.z, CFBack.z
  1207. )
  1208. end
  1209. local LerpCF = function(StartCF, EndCF, Alpha)
  1210. local StartTop = (StartCF * CFANG(RAD(90), 0, 0)).lookVector
  1211. local StartBack = -StartCF.lookVector
  1212. local EndTop = (EndCF * CFANG(RAD(90), 0, 0)).lookVector
  1213. local EndBack = -EndCF.lookVector
  1214. local StartPos = StartCF.p
  1215. local EndPos = EndCF.p
  1216. local NewCF = MatrixCFrame(
  1217. StartPos:lerp(EndPos, Alpha),
  1218. StartTop:lerp(EndTop, Alpha),
  1219. StartBack:lerp(EndBack, Alpha)
  1220. )
  1221. return NewCF
  1222. end
  1223. local StartC0 = Joint.C0
  1224. local StartC1 = Joint.C1
  1225. local X = 0
  1226. while true do
  1227. local NewX = X + math.min(1.5 / math.max(Duration, 0), 90)
  1228. X = (NewX > 90 and 90 or NewX)
  1229. if TweenIndicator.Value ~= NewCode then break end --This makes sure that another tween wasn't called on the same joint
  1230. if (not Selected) then break end --This stops the tween if the tool is deselected
  1231. if NewC0 then Joint.C0 = LerpCF(StartC0, NewC0, Alpha(X)) end
  1232. if NewC1 then Joint.C1 = LerpCF(StartC1, NewC1, Alpha(X)) end
  1233. if X == 90 then break end
  1234. RS:wait() --This makes the for loop step every 1/60th of a second
  1235. end
  1236. if TweenIndicator.Value == NewCode then --If this tween functions was the last one called on a joint then it will remove the code
  1237. TweenIndicator:Destroy()
  1238. end
  1239. end))
  1240. end
  1241.  
  1242. function RotCamera(RotX, RotY, SmoothRot, Duration)
  1243. spawn(function()
  1244. if SmoothRot then
  1245. local TweenIndicator = nil
  1246. local NewCode = math.random(-1e9, 1e9)
  1247. if (not Camera:FindFirstChild("TweenCode")) then
  1248. TweenIndicator = Instance.new("IntValue")
  1249. TweenIndicator.Name = "TweenCode"
  1250. TweenIndicator.Value = NewCode
  1251. TweenIndicator.Parent = Camera
  1252. else
  1253. TweenIndicator = Camera.TweenCode
  1254. TweenIndicator.Value = NewCode
  1255. end
  1256.  
  1257. local Step = math.min(1.5 / math.max(Duration, 0), 90)
  1258. local X = 0
  1259. while true do
  1260. local NewX = X + Step
  1261. X = (NewX > 90 and 90 or NewX)
  1262. if TweenIndicator.Value ~= NewCode then break end
  1263. if (not Selected) then break end
  1264.  
  1265. local CamRot = Camera.CoordinateFrame - Camera.CoordinateFrame.p
  1266. local CamDist = (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude
  1267. local NewCamCF = CF(Camera.Focus.p) * CamRot * CFANG(RotX / (90 / Step), RotY / (90 / Step), 0)
  1268. Camera.CoordinateFrame = CF(NewCamCF.p, NewCamCF.p + NewCamCF.lookVector) * CF(0, 0, CamDist)
  1269.  
  1270. if X == 90 then break end
  1271. RS:wait()
  1272. end
  1273.  
  1274. if TweenIndicator.Value == NewCode then
  1275. TweenIndicator:Destroy()
  1276. end
  1277. else
  1278. local CamRot = Camera.CoordinateFrame - Camera.CoordinateFrame.p
  1279. local CamDist = (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude
  1280. local NewCamCF = CF(Camera.Focus.p) * CamRot * CFANG(RotX, RotY, 0)
  1281. Camera.CoordinateFrame = CF(NewCamCF.p, NewCamCF.p + NewCamCF.lookVector) * CF(0, 0, CamDist)
  1282. end
  1283. end)
  1284. end
  1285.  
  1286. --------------------[ GUI SETUP FUNCTION ]--------------------------------------------
  1287.  
  1288. function ConvertKey(Key)
  1289. if Key == string.char(8) then
  1290. return "BKSPCE"
  1291. elseif Key == string.char(9) then
  1292. return "TAB"
  1293. elseif Key == string.char(13) then
  1294. return "ENTER"
  1295. elseif Key == string.char(17) then
  1296. return "UP"
  1297. elseif Key == string.char(18) then
  1298. return "DOWN"
  1299. elseif Key == string.char(19) then
  1300. return "RIGHT"
  1301. elseif Key == string.char(20) then
  1302. return "LEFT"
  1303. elseif Key == string.char(22) then
  1304. return "HOME"
  1305. elseif Key == string.char(23) then
  1306. return "END"
  1307. elseif Key == string.char(27) then
  1308. return "F2"
  1309. elseif Key == string.char(29) then
  1310. return "F4"
  1311. elseif Key == string.char(30) then
  1312. return "F5"
  1313. elseif Key == string.char(32) or Key == " " then
  1314. return "F7"
  1315. elseif Key == string.char(33) or Key == "!" then
  1316. return "F8"
  1317. elseif Key == string.char(34) or Key == '"' then
  1318. return "F9"
  1319. elseif Key == string.char(35) or Key == "#" then
  1320. return "F10"
  1321. elseif Key == string.char(37) or Key == "%" then
  1322. return "F12"
  1323. elseif Key == string.char(47) or Key == "/" then
  1324. return "R-SHIFT"
  1325. elseif Key == string.char(48) or Key == "0" then
  1326. return "L-SHIFT"
  1327. elseif Key == string.char(49) or Key == "1" then
  1328. return "R-CTRL"
  1329. elseif Key == string.char(50) or Key == "2" then
  1330. return "L-CTRL"
  1331. elseif Key == string.char(51) or Key == "3" then
  1332. return "R-ALT"
  1333. elseif Key == string.char(52) or Key == "4" then
  1334. return "L-ALT"
  1335. else
  1336. return string.upper(Key)
  1337. end
  1338. end
  1339.  
  1340. function CreateControlFrame(Key, Desc, Num)
  1341. local Controls = Gui_Clone:WaitForChild("HUD"):WaitForChild("Controls")
  1342.  
  1343. local C = Instance.new("Frame")
  1344. C.BackgroundTransparency = ((Num % 2) == 1 and 0.7 or 1)
  1345. C.BorderSizePixel = 0
  1346. C.Name = "C"..Num
  1347. C.Position = UDim2.new(0, 0, 0, Num * 20)
  1348. C.Size = UDim2.new(1, 0, 0, 20)
  1349.  
  1350. local K = Instance.new("TextLabel")
  1351. K.BackgroundTransparency = 1
  1352. K.Name = "Key"
  1353. K.Size = UDim2.new(0, 45, 1, 0)
  1354. K.Font = Enum.Font.ArialBold
  1355. K.FontSize = Enum.FontSize.Size14
  1356. K.Text = Key
  1357. K.TextColor3 = Color3.new(1, 1, 1)
  1358. K.TextScaled = (string.len(Key) > 5)
  1359. K.TextWrapped = (string.len(Key) > 5)
  1360. K.Parent = C
  1361.  
  1362. local D = Instance.new("TextLabel")
  1363. D.BackgroundTransparency = 1
  1364. D.Name = "Desc"
  1365. D.Position = UDim2.new(0, 50, 0, 0)
  1366. D.Size = UDim2.new(1, -50, 1, 0)
  1367. D.Font = Enum.Font.ArialBold
  1368. D.FontSize = Enum.FontSize.Size14
  1369. D.Text = "- "..Desc
  1370. D.TextColor3 = Color3.new(1, 1, 1)
  1371. D.TextXAlignment = Enum.TextXAlignment.Left
  1372. D.Parent = C
  1373.  
  1374. C.Parent = Controls
  1375. end
  1376.  
  1377. function SetUpGui()
  1378. local HUD = Gui_Clone:WaitForChild("HUD")
  1379. local Scope = Gui_Clone:WaitForChild("Scope")
  1380. local Grenades = HUD:WaitForChild("Grenades")
  1381. local Controls = HUD:WaitForChild("Controls")
  1382. local CurrentNum = 1
  1383.  
  1384. if S.CanChangeStance then
  1385. local Dive = (S.DolphinDive and " / Dive" or "")
  1386. CreateControlFrame(ConvertKey(S.LowerStanceKey), "Lower Stance"..Dive, CurrentNum)
  1387. CurrentNum = CurrentNum + 1
  1388.  
  1389. CreateControlFrame(ConvertKey(S.RaiseStanceKey), "Raise Stance", CurrentNum)
  1390. CurrentNum = CurrentNum + 1
  1391. end
  1392.  
  1393. CreateControlFrame(ConvertKey(S.ReloadKey), "Reload", CurrentNum)
  1394. CurrentNum = CurrentNum + 1
  1395.  
  1396. if S.CanKnife then
  1397. CreateControlFrame(ConvertKey(S.KnifeKey), "Knife", CurrentNum)
  1398. CurrentNum = CurrentNum + 1
  1399. end
  1400.  
  1401. if S.Throwables then
  1402. CreateControlFrame(ConvertKey(S.LethalGrenadeKey), "Throw Lethal", CurrentNum)
  1403. CurrentNum = CurrentNum + 1
  1404.  
  1405. CreateControlFrame(ConvertKey(S.TacticalGrenadeKey), "Throw Tactical", CurrentNum)
  1406. CurrentNum = CurrentNum + 1
  1407. else
  1408. Grenades.Visible = false
  1409. HUD.Position = UDim2.new(1, -200, 1, -100)
  1410. HUD.Size = UDim2.new(0, 175, 0, 50)
  1411. end
  1412.  
  1413. CreateControlFrame(ConvertKey(S.SprintKey), "Sprint", CurrentNum)
  1414. CurrentNum = CurrentNum + 1
  1415.  
  1416. if S.ADSKey ~= "" then
  1417. local Hold = (S.HoldMouseOrKeyToADS and "HOLD " or "")
  1418. CreateControlFrame(Hold..ConvertKey(S.ADSKey).." OR R-MOUSE", "Aim Down Sights", CurrentNum)
  1419. CurrentNum = CurrentNum + 1
  1420. end
  1421.  
  1422. Controls.Size = UDim2.new(1, 0, 0, CurrentNum * 20)
  1423. Controls.Position = UDim2.new(0, 0, 0, -(CurrentNum * 20) - 80)
  1424.  
  1425. if S.GuiScope then
  1426. Scope:WaitForChild("Img").Image = S.GuiId
  1427. Scope:WaitForChild("Steady").Text = "Hold "..ConvertKey(S.ScopeSteadyKey).." to Steady"
  1428. end
  1429.  
  1430. if HUD:FindFirstChild("Co") then
  1431. HUD.Co:Destroy()
  1432. end
  1433. local Co = Instance.new("TextLabel")
  1434. Co.BackgroundTransparency = 1
  1435. Co.Name = "Co"
  1436. Co.Position = UDim2.new(0, 0, 1, 5)
  1437. Co.Size = UDim2.new(1, 0, 0, 20)
  1438. Co.Font = Enum.Font.ArialBold
  1439. Co.FontSize = Enum.FontSize.Size14
  1440. Co.Text = ("noisuFobruT yb detpircs tiK nuG"):reverse()
  1441. Co.TextColor3 = Color3.new(1, 1, 0)
  1442. Co.TextStrokeTransparency = 0
  1443. Co.TextXAlignment = Enum.TextXAlignment.Right
  1444. Co.Parent = HUD
  1445.  
  1446. HUD:WaitForChild("Grenades"):WaitForChild("Lethals"):WaitForChild("Icon").Image = LethalIcons[S.LethalGrenadeType]
  1447. HUD:WaitForChild("Grenades"):WaitForChild("Tacticals"):WaitForChild("Icon").Image = TacticalIcons[S.TacticalGrenadeType]
  1448. end
  1449.  
  1450. --------------------[ FIRING FUNCTIONS ]----------------------------------------------
  1451.  
  1452. function Fire_Gun()
  1453. local FireSound = Handle:FindFirstChild("FireSound")
  1454. local FlashGui = Main:FindFirstChild("FlashGui")
  1455. local FlashFX = Main:FindFirstChild("FlashFX")
  1456.  
  1457. if FireSound then FireSound:Play() end
  1458.  
  1459. local MockSpread = (
  1460. ((not Aimed) and CurrentSpread <= S.Spread.Max and Idleing)
  1461. and CurrentSpread * S.Spread.Multiplier or CurrentSpread
  1462. )
  1463. CurrentSpread = (MockSpread >= S.Spread.Max and S.Spread.Max or MockSpread)
  1464.  
  1465. ----------------------------------------------------------------------------------
  1466. for _ = 1, (S.GunType.Shot and S.ShotAmount or 1) do
  1467. local BSpread = CFANG(
  1468. RAD(RAND(-CurrentSpread, CurrentSpread) / 20),
  1469. RAD(RAND(-CurrentSpread, CurrentSpread) / 20),
  1470. RAD(RAND(-CurrentSpread, CurrentSpread) / 20)
  1471. )
  1472. local OriginCF = (Aimed and (S.GuiScope and Head.CFrame or Handle.CFrame) or Head.CFrame)
  1473. local OriginPos = Main.CFrame.p
  1474. local Direction = (CF(OriginCF.p, OriginCF.p + OriginCF.lookVector) * BSpread).lookVector
  1475.  
  1476. if S.InstantHit then
  1477. local HitObj, HitPos = AdvRayCast(Main.CFrame.p, Direction, S.BulletRange)
  1478. local HitHumanoid = nil
  1479. if HitObj then
  1480. if S.GunType.Explosive then
  1481. if S.ExplosionSound ~= "" then
  1482. local SoundPart = Instance.new("Part")
  1483. SoundPart.Transparency = 1
  1484. SoundPart.Anchored = true
  1485. SoundPart.CanCollide = false
  1486. SoundPart.CFrame = CFrame.new(HitPos)
  1487. SoundPart.Parent = game.Workspace
  1488.  
  1489. local Sound = Instance.new("Sound")
  1490. Sound.Pitch = S.ExplosionSoundPitch
  1491. Sound.SoundId = S.ExplosionSound
  1492. Sound.Volume = S.ExplosionSoundVolume
  1493. Sound.Parent = SoundPart
  1494. Sound:Play()
  1495.  
  1496. delay(1 / 20, function()
  1497. SoundPart:Destroy()
  1498. end)
  1499. end
  1500. CreateBulletHole(HitPos, HitObj)
  1501. CreateShockwave(HitPos, S.ExplosionRadius)
  1502. local E = Instance.new("Explosion")
  1503. E.BlastPressure = S.ExplosionPressure
  1504. E.BlastRadius = S.ExplosionRadius
  1505. E.DestroyJointRadiusPercent = (S.RangeBasedDamage and 0 or 1)
  1506. E.ExplosionType = S.ExplosionType
  1507. E.Position = HitPos
  1508. E.Hit:connect(function(HObj, HDist)
  1509. if HObj.Name == "Torso" and (not HObj:IsDescendantOf(Character)) then
  1510. if S.RangeBasedDamage then
  1511. local Dir = (HObj.Position - HitPos).unit
  1512. local H, P = AdvRayCast(HitPos - Dir, Dir, 999)
  1513. local RayHitHuman = H:IsDescendantOf(HObj.Parent)
  1514. if (S.RayCastExplosions and RayHitHuman) or (not S.RayCastExplosions) then
  1515. local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
  1516. if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
  1517. local DistFactor = HDist / S.ExplosionRadius
  1518. local DistInvert = math.max(1 - DistFactor,0)
  1519. local NewDamage = DistInvert * S.Damage
  1520.  
  1521. local CreatorTag = Instance.new("ObjectValue")
  1522. CreatorTag.Value = Player
  1523. CreatorTag.Name = "creator"
  1524. CreatorTag.Parent = HitHumanoid
  1525. HitHumanoid:TakeDamage(NewDamage)
  1526. MarkHit()
  1527. end
  1528. end
  1529. else
  1530. local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
  1531. if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
  1532. local CreatorTag = Instance.new("ObjectValue")
  1533. CreatorTag.Value = Player
  1534. CreatorTag.Name = "creator"
  1535. CreatorTag.Parent = HitHumanoid
  1536. MarkHit()
  1537. end
  1538. end
  1539. end
  1540. end)
  1541. E.Parent = game.Workspace
  1542. else
  1543. HitHumanoid = Damage(HitObj, HitPos)
  1544. end
  1545. end
  1546. local FinalHitPos = HitPos
  1547. if S.Penetration > 0 and (not S.GunType.Explosive) then
  1548. FinalHitPos = PenetrateWall(HitPos, Direction, HitHumanoid, OriginPos)
  1549. end
  1550. if S.BulletTrail and S.TrailTransparency ~= 1 then
  1551. local Trail = Instance.new("Part")
  1552. Trail.BrickColor = S.TrailColor
  1553. Trail.Transparency = S.TrailTransparency
  1554. Trail.Anchored = true
  1555. Trail.CanCollide = false
  1556. Trail.Size = VEC3(1, 1, 1)
  1557. local Mesh = Instance.new("BlockMesh")
  1558. Mesh.Offset = VEC3(0, 0, -(FinalHitPos - OriginPos).magnitude / 2)
  1559. Mesh.Scale = VEC3(S.TrailThickness, S.TrailThickness, (FinalHitPos - OriginPos).magnitude)
  1560. Mesh.Parent = Trail
  1561. Trail.Parent = Gun_Ignore
  1562. Trail.CFrame = CF(OriginPos, FinalHitPos)
  1563. delay(S.TrailVisibleTime, function()
  1564. if S.TrailDisappearTime > 0 then
  1565. local X = 0
  1566. while true do
  1567. if X == 90 then break end
  1568. if (not Selected) then break end
  1569. local NewX = X + (1.5 / S.TrailDisappearTime)
  1570. X = (NewX > 90 and 90 or NewX)
  1571. local Alpha = X / 90
  1572. Trail.Transparency = NumLerp(S.TrailTransparency, 1, Alpha)
  1573. RS:wait()
  1574. end
  1575. Trail:Destroy()
  1576. else
  1577. Trail:Destroy()
  1578. end
  1579. end)
  1580. end
  1581. else
  1582. local Bullet = CreateBullet(Direction)
  1583. local LastPos = Main.CFrame.p
  1584. local TotalDistTraveled = 0
  1585. local HitHumanoid = nil
  1586. spawn(function()
  1587. while true do
  1588. RS:wait()
  1589. if TotalDistTraveled >= S.BulletRange then
  1590. Bullet:Destroy()
  1591. break
  1592. end
  1593. local DistTraveled = (Bullet.Position - LastPos).magnitude
  1594. local HitObj, HitPos = AdvRayCast(LastPos, (Bullet.Position - LastPos).unit, DistTraveled)
  1595. if HitObj then
  1596. if S.GunType.Explosive then
  1597. if S.ExplosionSound ~= "" then
  1598. local Sound = Instance.new("Sound")
  1599. Sound.Pitch = S.ExplosionSoundPitch
  1600. Sound.SoundId = S.ExplosionSound
  1601. Sound.Volume = S.ExplosionSoundVolume
  1602. Sound.Parent = Bullet
  1603. Sound:Play()
  1604. end
  1605. CreateBulletHole(HitPos, HitObj)
  1606. CreateShockwave(HitPos, S.ExplosionRadius)
  1607. local E = Instance.new("Explosion")
  1608. E.BlastPressure = S.ExplosionPressure
  1609. E.BlastRadius = S.ExplosionRadius
  1610. E.DestroyJointRadiusPercent = (S.RangeBasedDamage and 0 or 1)
  1611. E.ExplosionType = S.ExplosionType
  1612. E.Position = HitPos
  1613. E.Hit:connect(function(HObj, HDist)
  1614. if HObj.Name == "Torso" and (not HObj:IsDescendantOf(Character)) then
  1615. if S.RangeBasedDamage then
  1616. local Dir = (HObj.Position - HitPos).unit
  1617. local H, P = AdvRayCast(HitPos - Dir, Dir, 999)
  1618. local RayHitHuman = H:IsDescendantOf(HObj.Parent)
  1619. if (S.RayCastExplosions and RayHitHuman) or (not S.RayCastExplosions) then
  1620. local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
  1621. if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
  1622. local DistFactor = HDist / S.ExplosionRadius
  1623. local DistInvert = math.max(1 - DistFactor,0)
  1624. local NewDamage = DistInvert * S.Damage
  1625.  
  1626. local CreatorTag = Instance.new("ObjectValue")
  1627. CreatorTag.Value = Player
  1628. CreatorTag.Name = "creator"
  1629. CreatorTag.Parent = HitHumanoid
  1630. HitHumanoid:TakeDamage(NewDamage)
  1631. MarkHit()
  1632. end
  1633. end
  1634. else
  1635. local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
  1636. if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
  1637. local CreatorTag = Instance.new("ObjectValue")
  1638. CreatorTag.Value = Player
  1639. CreatorTag.Name = "creator"
  1640. CreatorTag.Parent = HitHumanoid
  1641. MarkHit()
  1642. end
  1643. end
  1644. end
  1645. end)
  1646. E.Parent = game.Workspace
  1647. else
  1648. HitHumanoid = Damage(HitObj, HitPos)
  1649. end
  1650. if S.Penetration > 0 and (not S.GunType.Explosive) then
  1651. PenetrateWall(HitPos, (Bullet.Position - LastPos).unit, HitHumanoid, OriginPos, Bullet)
  1652. else
  1653. Bullet:Destroy()
  1654. end
  1655. break
  1656. else
  1657. LastPos = Bullet.Position
  1658. TotalDistTraveled = TotalDistTraveled + DistTraveled
  1659. end
  1660. end
  1661. end)
  1662.  
  1663. if S.BulletTrail and S.TrailTransparency ~= 1 then
  1664. spawn(function()
  1665. local LastPos2 = nil
  1666. while true do
  1667. if LastPos2 then
  1668. if (not Bullet:IsDescendantOf(game)) then break end
  1669. Bullet.CFrame = CFrame.new(Bullet.CFrame.p, Bullet.CFrame.p + Bullet.Velocity)
  1670. local Trail = Instance.new("Part")
  1671. Trail.BrickColor = S.TrailColor
  1672. Trail.Transparency = S.TrailTransparency
  1673. Trail.Anchored = true
  1674. Trail.CanCollide = false
  1675. Trail.Size = VEC3(1, 1, 1)
  1676. local Mesh = Instance.new("BlockMesh")
  1677. Mesh.Offset = VEC3(0, 0, -(Bullet.Position - LastPos2).magnitude / 2)
  1678. Mesh.Scale = VEC3(S.TrailThickness, S.TrailThickness, (Bullet.Position - LastPos2).magnitude)
  1679. Mesh.Parent = Trail
  1680. Trail.Parent = Gun_Ignore
  1681. Trail.CFrame = CF(LastPos2, Bullet.Position)
  1682. delay(S.TrailVisibleTime, function()
  1683. if S.TrailDisappearTime > 0 then
  1684. local X = 0
  1685. while true do
  1686. if X == 90 then break end
  1687. if (not Selected) then break end
  1688. local NewX = X + (1.5 / S.TrailDisappearTime)
  1689. X = (NewX > 90 and 90 or NewX)
  1690. local Alpha = X / 90
  1691. Trail.Transparency = NumLerp(S.TrailTransparency, 1, Alpha)
  1692. RS:wait()
  1693. end
  1694. Trail:Destroy()
  1695. else
  1696. Trail:Destroy()
  1697. end
  1698. end)
  1699. LastPos2 = Bullet.Position
  1700. else
  1701. LastPos2 = Main.CFrame.p
  1702. end
  1703. RS:wait()
  1704. end
  1705. end)
  1706. end
  1707. end
  1708. end
  1709.  
  1710. ----------------------------------------------------------------------------------
  1711.  
  1712. local RecoilX = RAD(CurrentRecoil * RAND(1, 1.5, 0.1)) * StanceSway
  1713. local RecoilY = RAD(CurrentRecoil * RAND(-2, 2, 0.1)) * StanceSway
  1714. RotCamera(RecoilX, RecoilY, true, 0.06)
  1715. delay(0.05, function()
  1716. RotCamera(-RecoilX / 5, -RecoilY / 5, true, 0.1)
  1717. end)
  1718. if Idleing and (not Walking) and (not Aimed) then
  1719. local SpreadScale = (CurrentSpread / S.Spread.Max) * 50
  1720. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  1721. UDim2.new(0, 70 + 2 * SpreadScale, 0, 70 + 2 * SpreadScale),
  1722. UDim2.new(0, -35 - SpreadScale, 0, -35 - SpreadScale),
  1723. "Out", "Linear", 0.1, true
  1724. )
  1725. end
  1726.  
  1727. local KickSide = (
  1728. (
  1729. {
  1730. CurrentRecoil * (RAND(1, 5, 1) / 150);
  1731. CurrentRecoil * (RAND(1, 5, 1) / -150)
  1732. }
  1733. )[math.random(1, 2)]
  1734. ) * StanceSway
  1735. local KickBack = CurrentRecoil * StanceSway * 0.3
  1736. local KickUp = RAD(90 + (CurrentRecoil * RAND(1.3, 1.4, 0.01) * StanceSway))
  1737. TweenJoint(AnimWeld, CF(KickSide, 1, -KickBack), CFANG(KickUp - RAD(90), 0, 0), Linear, 1 / 12)
  1738.  
  1739. if FlashFX then FlashFX.Enabled = true end
  1740. if FlashGui then
  1741. FlashGui.Enabled = true
  1742. FlashGui.Label.Rotation = RAND(0, 360)
  1743. end
  1744.  
  1745. delay(1 / 30, function()
  1746. if Idleing and (not Walking) and (not Aimed) then
  1747. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  1748. UDim2.new(0, 70, 0, 70),
  1749. UDim2.new(0, -35, 0, -35),
  1750. "Out", "Linear", S.AimSpeed, (not Aimed)
  1751. )
  1752. end
  1753. if (not Aiming) and (not RunTween) then
  1754. TweenJoint(AnimWeld, CF(0, 1, 0), CF(), Linear, 0.15)
  1755. end
  1756. if FlashFX then FlashFX.Enabled = false end
  1757. if FlashGui then FlashGui.Enabled = false end
  1758. end)
  1759. end
  1760.  
  1761. function MarkHit()
  1762. spawn(function()
  1763. if Gui_Clone:IsDescendantOf(game) then
  1764. Gui_Clone.HitMarker.Visible = true
  1765. local StartMark = tick()
  1766. LastMark = StartMark
  1767. wait(0.5)
  1768. if LastMark <= StartMark then
  1769. Gui_Clone.HitMarker.Visible = false
  1770. end
  1771. end
  1772. end)
  1773. end
  1774.  
  1775. --------------------[ ADS FUNCTIONS ]-------------------------------------------------
  1776.  
  1777. function AimGun()
  1778. if (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude > 1 or Reloading or Knifing or ThrowingGrenade then return end
  1779. local Scope = Gui_Clone:WaitForChild("Scope"):WaitForChild("Img")
  1780. local Steady = Gui_Clone:WaitForChild("Scope"):WaitForChild("Steady")
  1781. Aimed = true
  1782. Aiming = true
  1783. CurrentRecoil = S.Recoil.Aimed
  1784. CurrentSpread = S.Spread.Aimed
  1785. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  1786. UDim2.new(),
  1787. UDim2.new(),
  1788. Enum.EasingDirection.Out,
  1789. Enum.EasingStyle.Sine,
  1790. S.AimAnimation and S.AimSpeed or 0,
  1791. true
  1792. )
  1793. if S.AimAnimation then
  1794. local CurrentFOV = Camera.FieldOfView
  1795. local CurrentCameraOffset = Humanoid.CameraOffset
  1796. local CurrentTrans = Scope.BackgroundTransparency
  1797. TweenJoint(LWeld, ArmC0[1], S.ArmC1_Aimed.Left, Sine, S.AimSpeed)
  1798. TweenJoint(RWeld, ArmC0[2], S.ArmC1_Aimed.Right, Sine, S.AimSpeed)
  1799. TweenJoint(AnimWeld, CF(0, 1, 0), CF(), Sine, S.AimSpeed)
  1800. TweenJoint(Grip, Grip.C0, Aimed_GripCF, Sine, S.AimSpeed)
  1801. TweenJoint(LWeld2, CF(), CF(), Sine, S.AimSpeed)
  1802. TweenJoint(RWeld2, CF(), CF(), Sine, S.AimSpeed)
  1803. local X = 0
  1804. while true do
  1805. local NewX = X + 1.5 / S.AimSpeed
  1806. X = (NewX > 90 and 90 or NewX)
  1807. if (not Aimed) then break end
  1808. if (not Selected) then break end
  1809. local Alpha = 1 - COS(RAD(X))
  1810. Camera.FieldOfView = NumLerp(CurrentFOV, S.MaxZoom, Alpha)
  1811. if S.GuiScope then
  1812. Scope.BackgroundTransparency = NumLerp(CurrentTrans, 0, Alpha)
  1813. end
  1814. if X == 90 then break end
  1815. RS:wait()
  1816. end
  1817. else
  1818. LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_Aimed.Left
  1819. RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_Aimed.Right
  1820. AnimWeld.C0 = CF(0, 1, 0)
  1821. Grip.C1 = Aimed_GripCF
  1822. LWeld2.C1, RWeld2.C1 = CF(), CF()
  1823. Camera.FieldOfView = S.MaxZoom
  1824. end
  1825. Aiming = (not Aimed)
  1826. if (not Aiming) and S.GuiScope then
  1827. spawn(function()
  1828. Steady.Visible = true
  1829. Scope.BackgroundTransparency = 1
  1830. Scope.ImageTransparency = 0
  1831.  
  1832. local Gun_Model = Instance.new("Model")
  1833. Gun_Model.Name = "Gun_Model"
  1834. for _, Obj in pairs(Gun:GetChildren()) do
  1835. if Obj:IsA("BasePart") then
  1836. local ObjClone = Obj:Clone()
  1837. ObjClone.Parent = Gun_Model
  1838.  
  1839. local W = Instance.new("Weld")
  1840. W.Part0 = ObjClone
  1841. W.Part1 = Obj
  1842. W.Parent = ObjClone
  1843.  
  1844. local PrevTrans = Instance.new("NumberValue")
  1845. PrevTrans.Name = "PrevTrans"
  1846. PrevTrans.Value = Obj.Transparency
  1847. PrevTrans.Parent = Obj
  1848.  
  1849. Obj.Transparency = 1
  1850. end
  1851. end
  1852. Gun_Model.Parent = Character
  1853. end)
  1854. spawn(function()
  1855. while Aimed do
  1856. local Ang = (CameraSteady and 0 or (Idleing and AnimAng[2] or AnimAng[4]))
  1857. if CameraSway ~= 0 then
  1858. local OffsetX, OffsetY = 0, 0
  1859. if Idleing then
  1860. OffsetX = (RAD(COS(Ang * 5 * (CameraSway ^ 0.4))) / 40) * (CameraSway ^ 1.2) * StanceSway * S.ScopeSway
  1861. OffsetY = (RAD(COS(Ang * 2 * (CameraSway ^ 0.4))) / 40) * (CameraSway ^ 1.2) * StanceSway * S.ScopeSway
  1862. else
  1863. OffsetX = (RAD(COS(Ang * 3/2 * (CameraSway ^ 0.4))) / 25) * (CameraSway ^ 1.2) * StanceSway * S.ScopeSway
  1864. OffsetY = (RAD(COS(Ang * 3/5 * (CameraSway ^ 0.4))) / 25) * (CameraSway ^ 1.2) * StanceSway * S.ScopeSway
  1865. end
  1866. RotCamera(OffsetX, OffsetY)
  1867. end
  1868. RS:wait()
  1869. end
  1870. end)
  1871. end
  1872. end
  1873.  
  1874. function UnAimGun(Exception)
  1875. local Scope = Gui_Clone:WaitForChild("Scope"):WaitForChild("Img")
  1876. local Steady = Gui_Clone:WaitForChild("Scope"):WaitForChild("Steady")
  1877. if (not Exception) then
  1878. if (not Aimed) then return end
  1879. if (Reloading and Exception) or Knifing and (not ThrowingGrenade) then return end
  1880. CurrentRecoil = S.Recoil.Hipfire
  1881. CurrentSpread = ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
  1882. if Walking and Aimed then
  1883. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  1884. UDim2.new(0, 150, 0, 150),
  1885. UDim2.new(0, -75, 0, -75),
  1886. Enum.EasingDirection.Out,
  1887. Enum.EasingStyle.Linear,
  1888. S.AimAnimation and S.AimSpeed or 0,
  1889. true
  1890. )
  1891. elseif Idleing then
  1892. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  1893. UDim2.new(0, 70, 0, 70),
  1894. UDim2.new(0, -35, 0, -35),
  1895. Enum.EasingDirection.Out,
  1896. Enum.EasingStyle.Linear,
  1897. S.AimAnimation and S.AimSpeed or 0,
  1898. true
  1899. )
  1900. end
  1901. Aimed = false
  1902. Aiming = true
  1903. if S.GuiScope then
  1904. spawn(function()
  1905. local Gun_Model = Character:FindFirstChild("Gun_Model")
  1906. if Gun_Model then
  1907. Gun_Model:Destroy()
  1908. end
  1909.  
  1910. for _, Obj in pairs(Gun:GetChildren()) do
  1911. if Obj:IsA("BasePart") then
  1912. local PrevTrans = Obj:FindFirstChild("PrevTrans")
  1913.  
  1914. Obj.Transparency = PrevTrans.Value
  1915. PrevTrans:Destroy()
  1916. end
  1917. end
  1918. end)
  1919. end
  1920. if S.AimAnimation then
  1921. local CurrentFOV = Camera.FieldOfView
  1922. local CurrentCameraOffset = Humanoid.CameraOffset
  1923. local CurrentTrans = (Scope.BackgroundTransparency == 1 and (S.GuiScope and 0 or 1) or Scope.BackgroundTransparency)
  1924. Scope.ImageTransparency = 1
  1925. Steady.Visible = false
  1926. TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Sine, S.AimSpeed)
  1927. TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Sine, S.AimSpeed)
  1928. TweenJoint(Grip, Grip.C0, CFANG(0, RAD(20), 0), Sine, S.AimSpeed)
  1929. if S.PlayerAnimations then
  1930. TweenJoint(LWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, S.AimSpeed)
  1931. TweenJoint(RWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, S.AimSpeed)
  1932. end
  1933. local X = 0
  1934. while true do
  1935. local NewX = X + 1.5 / S.AimSpeed
  1936. X = (NewX > 90 and 90 or NewX)
  1937. if Aimed then break end
  1938. if (not Selected) then break end
  1939. local Alpha = 1 - COS(RAD(X))
  1940. Camera.FieldOfView = NumLerp(CurrentFOV, 70, Alpha)
  1941. Scope.BackgroundTransparency = NumLerp(CurrentTrans, 1, Alpha)
  1942. if X == 90 then break end
  1943. RS:wait()
  1944. end
  1945. else
  1946. Scope.BackgroundTransparency = 1
  1947. Scope.ImageTransparency = 1
  1948. Steady.Visible = false
  1949. LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_UnAimed.Left
  1950. RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_UnAimed.Right
  1951. Grip.C1 = CFANG(0, RAD(20), 0)
  1952. LWeld2.C1, RWeld2.C1 = CFANG(0, RAD(ArmTilt), 0), CFANG(0, RAD(ArmTilt), 0)
  1953. Camera.FieldOfView = 70
  1954. end
  1955. Aiming = Aimed
  1956. else
  1957. if S.GuiScope then
  1958. spawn(function()
  1959. local Gun_Model = Character:FindFirstChild("Gun_Model")
  1960. if Gun_Model then
  1961. Gun_Model:Destroy()
  1962. end
  1963.  
  1964. for _, Obj in pairs(Gun:GetChildren()) do
  1965. if Obj:IsA("BasePart") then
  1966. local PrevTrans = Obj:FindFirstChild("PrevTrans")
  1967.  
  1968. Obj.Transparency = PrevTrans.Value
  1969. PrevTrans:Destroy()
  1970. end
  1971. end
  1972. end)
  1973. end
  1974. spawn(function()
  1975. Aimed = false
  1976. Aiming = false
  1977. CurrentRecoil = S.Recoil.Hipfire
  1978. CurrentSpread = ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
  1979. if (not Walking) then
  1980. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  1981. UDim2.new(0, 70, 0, 70),
  1982. UDim2.new(0, -35, 0, -35),
  1983. Enum.EasingDirection.Out,
  1984. Enum.EasingStyle.Linear,
  1985. S.AimAnimation and S.AimSpeed or 0,
  1986. true
  1987. )
  1988. else
  1989. Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
  1990. UDim2.new(0, 150, 0, 150),
  1991. UDim2.new(0, -75, 0, -75),
  1992. Enum.EasingDirection.Out,
  1993. Enum.EasingStyle.Linear,
  1994. S.AimAnimation and S.AimSpeed or 0,
  1995. true
  1996. )
  1997. end
  1998. local CurrentFOV = Camera.FieldOfView
  1999. local CurrentCameraOffset = Humanoid.CameraOffset
  2000. local CurrentTrans = (Scope.BackgroundTransparency == 1 and (S.GuiScope and 0 or 1) or Scope.BackgroundTransparency)
  2001. Scope.ImageTransparency = 1
  2002. Steady.Visible = false
  2003. if LWeld:FindFirstChild("TweenCode") then LWeld.TweenCode:Destroy() end
  2004. if RWeld:FindFirstChild("TweenCode") then RWeld.TweenCode:Destroy() end
  2005. if Grip:FindFirstChild("TweenCode") then Grip.TweenCode:Destroy() end
  2006. if LWeld2:FindFirstChild("TweenCode") then LWeld2.TweenCode:Destroy() end
  2007. if RWeld2:FindFirstChild("TweenCode") then RWeld2.TweenCode:Destroy() end
  2008. if S.AimAnimation then
  2009. local X = 0
  2010. while true do
  2011. local NewX = X + 1.5 / S.AimSpeed
  2012. X = (NewX > 90 and 90 or NewX)
  2013. if Aimed then break end
  2014. if (not Selected) then break end
  2015. local Alpha = 1 - COS(RAD(X))
  2016. Camera.FieldOfView = NumLerp(CurrentFOV, 70, Alpha)
  2017. Scope.BackgroundTransparency = NumLerp(CurrentTrans, 1, Alpha)
  2018. if X == 90 then break end
  2019. RS:wait()
  2020. end
  2021. else
  2022. Scope.BackgroundTransparency = 1
  2023. Scope.ImageTransparency = 1
  2024. Steady.Visible = false
  2025. Camera.FieldOfView = 70
  2026. end
  2027. end)
  2028. end
  2029. end
  2030.  
  2031. --------------------[ TEXTURE CREATION FUNCTIONS ]------------------------------------
  2032.  
  2033. function CreateBullet(Direction)
  2034. local Origin = Gun.Main.CFrame.p
  2035. local BulletMass = S.BulletSize.X * S.BulletSize.Y * S.BulletSize.Z
  2036. local BulletCF = CF(Origin, Origin + Direction)
  2037. local Bullet = Instance.new("Part")
  2038. Bullet.BrickColor = S.BulletColor
  2039. Bullet.Name = "Bullet"
  2040. Bullet.CanCollide = false
  2041. Bullet.FormFactor = "Custom"
  2042. Bullet.Size = S.BulletSize
  2043. Bullet.BottomSurface = "Smooth"
  2044. Bullet.TopSurface = "Smooth"
  2045. local Mesh = Instance.new("BlockMesh")
  2046. Mesh.Scale = S.BulletMeshSize
  2047. Mesh.Parent = Bullet
  2048. local BF = Instance.new("BodyForce")
  2049. BF.force = VEC3(0, BulletMass * (196.2 - S.BulletDropPerSecond), 0)
  2050. BF.Parent = Bullet
  2051. Bullet.Parent = Gun_Ignore
  2052. Bullet.CFrame = BulletCF + Direction * 3
  2053. Bullet.Velocity = Direction * S.BulletVelocity
  2054. return Bullet
  2055. end
  2056.  
  2057. function CreateBulletHole(HitPos, HitObj)
  2058. local SurfaceCF = GetHitSurfaceCFrame(HitPos, HitObj)
  2059. local SurfaceDir = CF(HitObj.CFrame.p, SurfaceCF.p)
  2060. local SurfaceDist = SurfaceDir.lookVector * (HitObj.CFrame.p - SurfaceCF.p).magnitude / 2
  2061. local SurfaceOffset = HitPos - SurfaceCF.p + SurfaceDist
  2062. local SurfaceCFrame = SurfaceDir + SurfaceDist + SurfaceOffset
  2063. local HitMark = Instance.new("Part")
  2064. HitMark.BrickColor = BrickColor.new("Black")
  2065. HitMark.Transparency = 1
  2066. HitMark.Anchored = true
  2067. HitMark.CanCollide = false
  2068. HitMark.FormFactor = "Custom"
  2069. HitMark.Size = VEC3(1, 1, 0.2)
  2070. HitMark.TopSurface = 0
  2071. HitMark.BottomSurface = 0
  2072. local Mesh = Instance.new("BlockMesh")
  2073. Mesh.Offset = VEC3(0, 0, -0.05)
  2074. Mesh.Scale = VEC3(S.BulletHoleSize, S.BulletHoleSize, 0)
  2075. Mesh.Parent = HitMark
  2076. local Decal = Instance.new("Decal")
  2077. Decal.Face = Enum.NormalId.Front
  2078. Decal.Texture = S.BulletHoleTexture
  2079. Decal.Parent = HitMark
  2080. HitMark.Parent = Gun_Ignore
  2081. HitMark.CFrame = SurfaceCFrame
  2082. if (not HitObj.Anchored) then
  2083. local Weld = Instance.new("Weld", HitMark)
  2084. Weld.Part0 = HitObj
  2085. Weld.Part1 = HitMark
  2086. Weld.C0 = HitObj.CFrame:toObjectSpace(SurfaceCFrame)
  2087. HitMark.Anchored = false
  2088. end
  2089. delay(S.BulletHoleVisibleTime, function()
  2090. if S.BulletHoleDisappearTime > 0 then
  2091. local X = 0
  2092. while true do
  2093. if X == 90 then break end
  2094. if (not Selected) then break end
  2095. local NewX = X + (1.5 / S.BulletHoleDisappearTime)
  2096. X = (NewX > 90 and 90 or NewX)
  2097. local Alpha = X / 90
  2098. Decal.Transparency = NumLerp(0, 1, Alpha)
  2099. RS:wait()
  2100. end
  2101. HitMark:Destroy()
  2102. else
  2103. HitMark:Destroy()
  2104. end
  2105. end)
  2106. end
  2107.  
  2108. function CreateShockwave(Center, Radius)
  2109. local Shockwave = Instance.new("Part")
  2110. Shockwave.BrickColor = S.ShockwaveColor
  2111. Shockwave.Material = Enum.Material.SmoothPlastic
  2112. Shockwave.Name = "Shockwave"
  2113. Shockwave.Anchored = true
  2114. Shockwave.CanCollide = false
  2115. Shockwave.FormFactor = Enum.FormFactor.Symmetric
  2116. Shockwave.Size = VEC3(1, 1, 1)
  2117. Shockwave.BottomSurface = Enum.SurfaceType.Smooth
  2118. Shockwave.TopSurface = Enum.SurfaceType.Smooth
  2119. local Mesh = Instance.new("SpecialMesh")
  2120. Mesh.MeshType = Enum.MeshType.Sphere
  2121. Mesh.Scale = VEC3()
  2122. Mesh.Parent = Shockwave
  2123. Shockwave.Parent = Gun_Ignore
  2124. Shockwave.CFrame = CF(Center)
  2125. spawn(function()
  2126. for i = 0, 1, (1 / (60 * S.ShockwaveDuration)) do
  2127. local Scale = 2 * Radius * i
  2128. Mesh.Scale = VEC3(Scale, Scale, Scale)
  2129. Shockwave.Transparency = i
  2130. RS:wait()
  2131. end
  2132. Shockwave:Destroy()
  2133. end)
  2134. end
  2135.  
  2136. --------------------[ HIT HANDLING FUNCTIONS ]----------------------------------------
  2137.  
  2138. function Damage(HitObj, HitPos)
  2139. local HeadVal = S.Multipliers.Head
  2140. local ChestVal = S.Multipliers.Chest
  2141. local LimbsVal = S.Multipliers.Limbs
  2142. if Humanoid.Health ~= 0 then
  2143. if HitObj and HitObj.Parent then
  2144. local HumanoidFound = false
  2145. local HitHumanoid = nil
  2146. if HitObj.Parent.ClassName == "Hat" then
  2147. if FindFirstClass(HitObj.Parent.Parent, "Humanoid") then
  2148. HitHumanoid = FindFirstClass(HitObj.Parent.Parent, "Humanoid")
  2149. HumanoidFound = true
  2150. if HitHumanoid.Health > 0 then
  2151. if IsEnemy(HitHumanoid) then
  2152. local CreatorTag = Instance.new("ObjectValue")
  2153. CreatorTag.Value = Player
  2154. CreatorTag.Name = "creator"
  2155. CreatorTag.Parent = HitHumanoid
  2156. HitHumanoid:TakeDamage(S.Damage * RAND(HeadVal, HeadVal + 0.1, 0.01))
  2157. MarkHit()
  2158. end
  2159. end
  2160. end
  2161. else
  2162. if FindFirstClass(HitObj.Parent, "Humanoid") then
  2163. HitHumanoid = FindFirstClass(HitObj.Parent, "Humanoid")
  2164. HumanoidFound = true
  2165. if HitHumanoid.Health > 0 then
  2166. if IsEnemy(HitHumanoid) then
  2167. local CreatorTag = Instance.new("ObjectValue")
  2168. CreatorTag.Value = Player
  2169. CreatorTag.Name = "creator"
  2170. CreatorTag.Parent = HitHumanoid
  2171. local ChosenDamage = 0
  2172. if HitObj.Name == "Head" then
  2173. ChosenDamage = S.Damage * RAND(HeadVal, HeadVal + 0.1, 0.01)
  2174. elseif HitObj.Name == "Torso" then
  2175. ChosenDamage = S.Damage * RAND(ChestVal, ChestVal + 0.1, 0.01)
  2176. else
  2177. ChosenDamage = S.Damage * RAND(LimbsVal, LimbsVal + 0.1, 0.01)
  2178. end
  2179. HitHumanoid:TakeDamage(ChosenDamage)
  2180. MarkHit()
  2181. end
  2182. end
  2183. end
  2184. end
  2185. if (not HumanoidFound) then
  2186. if S.BulletHoles then
  2187. CreateBulletHole(HitPos, HitObj)
  2188. end
  2189. if S.Shockwaves then
  2190. CreateShockwave(HitPos, S.ShockwaveRadius)
  2191. end
  2192. end
  2193. return HitHumanoid
  2194. end
  2195. end
  2196. end
  2197.  
  2198. function PenetrateWall(HitPos, Direction, HitHumanoid, OriginPos, Bullet)
  2199. local HitDist = (HitPos - OriginPos).magnitude
  2200. local Thickness, Wall, WallHitPos = 0, nil, nil
  2201. for i = 0.1, S.Penetration, 0.1 do
  2202. local WallRay = Ray.new(HitPos + (Direction * i), -Direction)
  2203. local TempWall, TempWallHitPos = game.Workspace:FindPartOnRayWithIgnoreList(WallRay, Ignore)
  2204. if TempWall then
  2205. Thickness = i
  2206. Wall, WallHitPos = TempWall, TempWallHitPos
  2207. break
  2208. end
  2209. end
  2210. if Wall then
  2211. CreateBulletHole(WallHitPos, Wall)
  2212. if S.InstantHit then
  2213. local HitObj2, HitPos2 = nil, nil
  2214. if HitHumanoid then
  2215. HitObj2, HitPos2 = AdvRayCast(WallHitPos, Direction, S.BulletRange - HitDist, {HitHumanoid.Parent,unpack(Ignore)})
  2216. else
  2217. HitObj2, HitPos2 = AdvRayCast(WallHitPos, Direction, S.BulletRange - HitDist)
  2218. end
  2219. Damage(HitObj2, HitPos2)
  2220. return HitPos2
  2221. else
  2222. local LastPos = WallHitPos
  2223. local TotalDistTraveled = 0
  2224. spawn(function()
  2225. while true do
  2226. RS:wait()
  2227. if TotalDistTraveled >= S.BulletRange - HitDist then
  2228. Bullet:Destroy()
  2229. break
  2230. end
  2231. local DistTraveled = (Bullet.Position - LastPos).magnitude
  2232. local NewDirection = (Bullet.Position - LastPos).unit
  2233. local TempHitObj, TempHitPos = nil, nil
  2234. if HitHumanoid then
  2235. TempHitObj, TempHitPos = AdvRayCast(LastPos, NewDirection, DistTraveled, {HitHumanoid.Parent,unpack(Ignore)})
  2236. else
  2237. TempHitObj, TempHitPos = AdvRayCast(LastPos, NewDirection, DistTraveled)
  2238. end
  2239. if TempHitObj then
  2240. Damage(TempHitObj, TempHitPos)
  2241. Bullet:Destroy()
  2242. return TempHitPos
  2243. else
  2244. LastPos = Bullet.Position
  2245. TotalDistTraveled = TotalDistTraveled + DistTraveled
  2246. end
  2247. end
  2248. end)
  2249. end
  2250. else
  2251. if Bullet then Bullet:Destroy() end
  2252. return HitPos
  2253. end
  2254. end
  2255.  
  2256. function IsEnemy(Human)
  2257. local Plyr = game.Players:GetPlayerFromCharacter(Human.Parent)
  2258. if (not Plyr) then return S.CanDamageNPCs end
  2259. return S.AllowFriendlyFire or (Plyr.TeamColor ~= Player.TeamColor or Plyr.Neutral)
  2260. end
  2261.  
  2262. --------------------[ RELOAD FUNCTIONS ]----------------------------------------------
  2263.  
  2264. function ReloadAnim()
  2265. TweenJoint(LWeld2, CF(), CF(), Sine, 0.15)
  2266. TweenJoint(RWeld2, CF(), CF(), Sine, 0.15)
  2267. local Speed = S.ReloadTime / 2
  2268. local Mag_Parts = {}
  2269.  
  2270. for _, Obj in pairs(Gun:GetChildren()) do
  2271. if Obj.Name == "Mag" and Obj:IsA("BasePart") then
  2272. INSERT(Mag_Parts, {Original = Obj, Clone1 = Obj:Clone(), Clone2 = Obj:Clone()})
  2273. end
  2274. end
  2275.  
  2276. local W1 = nil
  2277. local W2 = nil
  2278.  
  2279. local SequenceTable = {
  2280.  
  2281. function()
  2282.  
  2283. for Index, Mag in pairs(Mag_Parts) do
  2284. Mag.Original.Transparency = 1
  2285. Mag.Clone1.Parent = Gun_Ignore
  2286. Mag.Clone1.CanCollide = true
  2287.  
  2288. if Index ~= 1 then
  2289. local W = Instance.new("Weld")
  2290. W.Part0 = Mag_Parts[1].Clone1
  2291. W.Part1 = Mag.Clone1
  2292. W.C0 = Mag_Parts[1].Clone1.CFrame:toObjectSpace(Mag.Clone1.CFrame)
  2293. W.Parent = Mag_Parts[1].Clone1
  2294. end
  2295. end
  2296.  
  2297. W1 = Instance.new("Weld")
  2298. W1.Part0 = Mag_Parts[1].Clone1
  2299. W1.Part1 = Handle
  2300. W1.C0 = Mag_Parts[1].Original.CFrame:toObjectSpace(Handle.CFrame)
  2301. W1.Parent = Mag_Parts[1].Clone1
  2302.  
  2303. TweenJoint(LWeld, ArmC0[1], CF(0, 0.61, 0) * CFANG(RAD(70), 0, 0), Linear, 0.5 * Speed)
  2304. TweenJoint(RWeld, ArmC0[2], CF(0.4, 0.09, -0.21) * CFANG(RAD(-20), RAD(3), 0), Linear, 0.5 * Speed)
  2305. TweenJoint(Grip, Grip.C0, CFANG(0, RAD(10), 0), Linear, 0.5 * Speed)
  2306. wait(0.5 * Speed)
  2307.  
  2308. end;
  2309.  
  2310. function()
  2311.  
  2312. TweenJoint(RWeld, ArmC0[2], CF(0.4, -0.01, -0.31) * CFANG(RAD(-22), RAD(3), 0), Sine, 0.3 * Speed)
  2313. wait(0.2 * Speed)
  2314.  
  2315. end;
  2316.  
  2317. function()
  2318.  
  2319. W1:Destroy()
  2320. Mag_Parts[1].Clone1.Velocity = Handle.Velocity + Handle.CFrame:vectorToWorldSpace(VEC3(0,-1,0)) * 20
  2321. spawn(function()
  2322. while Mag_Parts[1].Clone1.Velocity.magnitude > 0.1 do wait() end
  2323. for _, Mag in pairs(Mag_Parts) do
  2324. Mag.Clone1.Anchored = true
  2325. Mag.Clone1:BreakJoints()
  2326. end
  2327. end)
  2328.  
  2329. for Index, Mag in pairs(Mag_Parts) do
  2330. Mag.Clone2.Parent = Gun_Ignore
  2331.  
  2332. if Index ~= 1 then
  2333. local W = Instance.new("Weld")
  2334. W.Part0 = Mag_Parts[1].Clone2
  2335. W.Part1 = Mag.Clone2
  2336. W.C0 = Mag_Parts[1].Clone2.CFrame:toObjectSpace(Mag.Clone2.CFrame)
  2337. W.Parent = Mag_Parts[1].Clone2
  2338. end
  2339. end
  2340.  
  2341. W2 = Instance.new("Weld")
  2342. W2.Part0 = FakeLArm
  2343. W2.Part1 = Mag_Parts[1].Clone2
  2344. W2.C0 = CF(0, -1, 0) * CFANG(RAD(-90), 0, 0)
  2345. W2.Parent = FakeLArm
  2346. wait(0.1)
  2347.  
  2348. end;
  2349.  
  2350. function()
  2351.  
  2352. local FakeLArmCF = LWeld.Part0.CFrame * ArmC0[1] * (CF(0.3, 1.85, -0.31) * CFANG(RAD(-20), RAD(30), RAD(-60))):inverse()
  2353. local FakeRArmCF = RWeld.Part0.CFrame * ArmC0[2] * (CF(0.4, -0.1, -0.21) * CFANG(RAD(-20), RAD(5), RAD(10))):inverse()
  2354. local HandleCF = FakeRArm.CFrame:toObjectSpace(Grip.Part0.CFrame * Grip.C0)
  2355. local Mag_Original_CF = Handle.CFrame:toObjectSpace(Mag_Parts[1].Original.CFrame)
  2356. local MagC0 = FakeLArmCF:toObjectSpace(FakeRArmCF * HandleCF * Mag_Original_CF)
  2357.  
  2358. TweenJoint(LWeld, ArmC0[1], CF(0.3, 1.85, -0.31) * CFANG(RAD(-20), RAD(30), RAD(-60)), Sine, 0.6 * Speed)
  2359. TweenJoint(RWeld, ArmC0[2], CF(0.4, -0.1, -0.21) * CFANG(RAD(-20), RAD(5), RAD(10)), Sine, 0.6 * Speed)
  2360. TweenJoint(Grip, Grip.C0, CF(), Sine, 0.6 * Speed)
  2361. TweenJoint(W2, MagC0, CF(), Sine, 0.6 * Speed)
  2362. wait(0.7 * Speed)
  2363.  
  2364. end;
  2365.  
  2366. function()
  2367.  
  2368. for _, Mag in pairs(Mag_Parts) do
  2369. Mag.Original.Transparency = 0
  2370. Mag.Clone2:Destroy()
  2371. end
  2372.  
  2373. TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Sine, 0.5 * Speed)
  2374. TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Sine, 0.5 * Speed)
  2375. TweenJoint(Grip, Grip.C0, CFANG(0, RAD(20), 0), Sine, 0.5 * Speed)
  2376. wait(0.5 * Speed)
  2377.  
  2378. end;
  2379.  
  2380. }
  2381.  
  2382. for _,ReloadFunction in pairs(SequenceTable) do
  2383. if BreakReload then
  2384. break
  2385. end
  2386. ReloadFunction()
  2387. end
  2388.  
  2389. if W1 then W1:Destroy() end
  2390. if W2 then W2:Destroy() end
  2391. for _, Mag in pairs(Mag_Parts) do
  2392. Mag.Clone1:Destroy()
  2393. Mag.Clone2:Destroy()
  2394. end
  2395. end
  2396.  
  2397. function Reload()
  2398. Running = false
  2399. if Ammo.Value < ClipSize.Value and (not Reloading) and StoredAmmo.Value > 0 then
  2400. AmmoInClip = (AmmoInClip == 0 and Ammo.Value or AmmoInClip)
  2401. Ammo.Value = 0
  2402. Reloading = true
  2403. if Aimed then UnAimGun(S.ReloadAnimation) end
  2404. Gui_Clone.CrossHair.Reload.Visible = true
  2405. if Handle:FindFirstChild("ReloadSound") then Handle.ReloadSound:Play() end
  2406. if S.ReloadAnimation then
  2407. wait()
  2408. ReloadAnim()
  2409. else
  2410. local StartReload = tick()
  2411. while true do
  2412. if BreakReload then break end
  2413. if (tick() - StartReload) >= S.ReloadTime then break end
  2414. RS:wait()
  2415. end
  2416. end
  2417. if (not BreakReload) then
  2418. if StoredAmmo.Value >= ClipSize.Value then
  2419. Ammo.Value = ClipSize.Value
  2420. if AmmoInClip > 0 then
  2421. StoredAmmo.Value = StoredAmmo.Value - (ClipSize.Value - AmmoInClip)
  2422. else
  2423. StoredAmmo.Value = StoredAmmo.Value - ClipSize.Value
  2424. end
  2425. elseif StoredAmmo.Value < ClipSize.Value and StoredAmmo.Value > 0 then
  2426. Ammo.Value = StoredAmmo.Value
  2427. StoredAmmo.Value = 0
  2428. end
  2429. end
  2430. BreakReload = false
  2431. Reloading = false
  2432. if Selected then
  2433. AmmoInClip = 0
  2434. Gui_Clone.CrossHair.Reload.Visible = false
  2435. end
  2436. end
  2437. end
  2438.  
  2439. --------------------[ EXTERNAL DATA LOCATING FUNCTIONS ]-----------------------------
  2440.  
  2441. function FindFirstClass(Object, Class)
  2442. local FoundObject = nil
  2443. for _, Obj in pairs(Object:GetChildren()) do
  2444. if Obj.ClassName == Class then
  2445. FoundObject = Obj
  2446. break
  2447. end
  2448. end
  2449. return FoundObject
  2450. end
  2451.  
  2452. function IsIgnored(Obj)
  2453. for _,v in pairs(Ignore) do
  2454. if Obj == v or Obj:IsDescendantOf(v) then
  2455. return true
  2456. end
  2457. end
  2458. return false
  2459. end
  2460.  
  2461. function GetHitSurfaceCFrame(HitPos,Obj)
  2462. local SurfaceCF = {
  2463. {"Back",Obj.CFrame * CF(0,0,Obj.Size.z)};
  2464. {"Bottom",Obj.CFrame * CF(0,-Obj.Size.y,0)};
  2465. {"Front",Obj.CFrame * CF(0,0,-Obj.Size.z)};
  2466. {"Left",Obj.CFrame * CF(-Obj.Size.x,0,0)};
  2467. {"Right",Obj.CFrame * CF(Obj.Size.x,0,0)};
  2468. {"Top",Obj.CFrame * CF(0,Obj.Size.y,0)}
  2469. }
  2470. local ClosestDist = HUGE
  2471. local ClosestSurface = nil
  2472. for _,v in pairs(SurfaceCF) do
  2473. local SurfaceDist = (HitPos - v[2].p).magnitude
  2474. if SurfaceDist < ClosestDist then
  2475. ClosestDist = SurfaceDist
  2476. ClosestSurface = v
  2477. end
  2478. end
  2479. return ClosestSurface[2]
  2480. end
  2481.  
  2482. function AdvRayCast(Origin, Direction, Dist, CustomIgnore)
  2483. local NewIgnore = (CustomIgnore and CustomIgnore or Ignore)
  2484. local NewRay = Ray.new(Origin, Direction * (Dist > 999 and 999 or Dist))
  2485. local HitObj, HitPos = game.Workspace:FindPartOnRayWithIgnoreList(NewRay, NewIgnore)
  2486. local LastPos = HitPos
  2487. local FinalHitObj, FinalHitPos = nil, nil
  2488. local RepTimes = math.floor(Dist / 999)
  2489. if (not HitObj) and (Dist > 999) then
  2490. for i = 0, RepTimes do
  2491. local NewDist = (i == RepTimes and (Dist - (LastPos - Origin).magnitude) or 999)
  2492. local Ray2 = Ray.new(LastPos, Direction * NewDist)
  2493. local HitObj2, HitPos2 = game.Workspace:FindPartOnRayWithIgnoreList(Ray2, NewIgnore)
  2494. if i ~= RepTimes then
  2495. if HitObj2 then
  2496. FinalHitObj, FinalHitPos = HitObj2, HitPos2
  2497. break
  2498. end
  2499. elseif i == RepTimes then
  2500. FinalHitObj, FinalHitPos = HitObj2, HitPos2
  2501. end
  2502. LastPos = HitPos2
  2503. end
  2504. return FinalHitObj, FinalHitPos
  2505. elseif HitObj or (Dist <= 999) then
  2506. return HitObj, HitPos
  2507. end
  2508. end
  2509.  
  2510. --------------------[ KNIFING FUNCTION ]----------------------------------------------
  2511.  
  2512. function KnifeAnim()
  2513. local Connection = nil
  2514. local Blade = Instance.new("Part")
  2515. Blade.BrickColor = BrickColor.new("Really black")
  2516. Blade.Name = "Blade"
  2517. Blade.CanCollide = false
  2518. Blade.FormFactor = Enum.FormFactor.Custom
  2519. Blade.Size = VEC3(0.5, 2.5, 1)
  2520. local Mesh = Instance.new("SpecialMesh")
  2521. Mesh.MeshId = S.KnifeMeshId
  2522. Mesh.MeshType = Enum.MeshType.FileMesh
  2523. Mesh.Scale = VEC3(0.7, 0.7, 0.7)
  2524. Mesh.TextureId = S.KnifeTextureId
  2525. Mesh.Parent = Blade
  2526. Blade.Parent = Gun_Ignore
  2527. local BladeWeld = Instance.new("Weld")
  2528. BladeWeld.Part0 = Blade
  2529. BladeWeld.Part1 = FakeLArm
  2530. BladeWeld.C0 = CFANG(RAD(-90), 0, RAD(180))
  2531. BladeWeld.C1 = CF(0, -1, 0.75)
  2532. BladeWeld.Parent = Blade
  2533. Connection = Blade.Touched:connect(function(Obj)
  2534. if Obj then
  2535. local HitHumanoid = FindFirstClass(Obj.Parent, "Humanoid")
  2536. if HitHumanoid and IsEnemy(HitHumanoid) then
  2537. local CreatorTag = Instance.new("ObjectValue")
  2538. CreatorTag.Name = "creator"
  2539. CreatorTag.Value = Player
  2540. CreatorTag.Parent = HitHumanoid
  2541. HitHumanoid:TakeDamage(HitHumanoid.MaxHealth)
  2542. MarkHit()
  2543. end
  2544. end
  2545. end)
  2546. TweenJoint(LWeld2, CF(), CFANG(0, RAD(90), 0), Linear, 0.05)
  2547. TweenJoint(LWeld, ArmC0[1], CF(-0.1, 0.2, -0.1) * CFANG(0, 0, RAD(-20)), Linear, 0.05)
  2548. TweenJoint(RWeld, ArmC0[2], CFANG(RAD(-30), 0, 0), Linear, 0.1)
  2549. TweenJoint(Grip, Grip.C0, CF(), Linear, 0.1)
  2550. spawn(function()
  2551. local Force = HRP.CFrame.lookVector * 8e4
  2552. local BF = Instance.new("BodyForce")
  2553. BF.force = Force
  2554. BF.Parent = HRP
  2555. delay(0.03, function()
  2556. BF.force = -Force / 2
  2557. wait(0.03)
  2558. BF:Destroy()
  2559. end)
  2560. end)
  2561. wait(0.05)
  2562. RotCamera(RAD(6), 0, true, 0.1)
  2563. delay(0.1, function()
  2564. RotCamera(RAD(-2), 0, true, 0.05)
  2565. end)
  2566. TweenJoint(LWeld, ArmC0[1], CF(0.8, 1.7, 0.2) * CFANG(0, 0, RAD(-80)), Linear, 0.06)
  2567. wait(0.2)
  2568. Connection:disconnect()
  2569. wait(0.2)
  2570. TweenJoint(LWeld2, CF(), CF(), Linear, 0.15)
  2571. TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Linear, 0.15)
  2572. TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Linear, 0.15)
  2573. Blade:Destroy()
  2574. end
  2575.  
  2576. --------------------[ GRENADE FUNCTIONS ]---------------------------------------------
  2577.  
  2578. function CreateGrenade()
  2579. local Grenade = Instance.new("Model")
  2580.  
  2581. local Center = Instance.new("Part")
  2582. Center.BrickColor = S.GrenadeColor
  2583. Center.Name = "Center"
  2584. Center.CanCollide = false
  2585. Center.Elasticity = 0
  2586. Center.FormFactor = Enum.FormFactor.Custom
  2587. Center.Size = S.GrenadeSize
  2588. Center.BottomSurface = Enum.SurfaceType.Smooth
  2589. Center.TopSurface = Enum.SurfaceType.Smooth
  2590. Center.Parent = Grenade
  2591.  
  2592. local Mesh1 = Instance.new("SpecialMesh")
  2593. Mesh1.MeshType = Enum.MeshType.Sphere
  2594. Mesh1.Parent = Center
  2595.  
  2596. return Grenade
  2597. end
  2598.  
  2599. function CreateKnife()
  2600. local Knife = Instance.new("Part")
  2601. Knife.BrickColor = S.GrenadeColor
  2602. Knife.Name = "Knife"
  2603. Knife.CanCollide = false
  2604. Knife.FormFactor = Enum.FormFactor.Custom
  2605. Knife.Size = VEC3(1, 1, 3)
  2606.  
  2607. local Mesh = Instance.new("SpecialMesh")
  2608. Mesh.MeshId = "http://www.roblox.com/asset/?id=12221720"
  2609. Mesh.MeshType = Enum.MeshType.FileMesh
  2610. Mesh.Scale = VEC3(0.5, 0.5, 0.5)
  2611. Mesh.Parent = Knife
  2612.  
  2613. return Knife
  2614. end
  2615.  
  2616. function CreateTarget()
  2617. local Target = Instance.new("Model")
  2618.  
  2619. local Center = Instance.new("Part")
  2620. Center.BrickColor = BrickColor.new("Bright red")
  2621. Center.Material = Enum.Material.SmoothPlastic
  2622. Center.Transparency = 0.3
  2623. Center.Name = "Center"
  2624. Center.Anchored = true
  2625. Center.CanCollide = false
  2626. Center.FormFactor = Enum.FormFactor.Custom
  2627. Center.Size = VEC3(4, 0.2, 4)
  2628. Center.Parent = Target
  2629. local CylinderMesh = Instance.new("CylinderMesh")
  2630. CylinderMesh.Parent = Center
  2631.  
  2632. local Line = Instance.new("Part")
  2633. Line.BrickColor = BrickColor.new("Bright red")
  2634. Line.Transparency = 0.3
  2635. Line.Name = "Line"
  2636. Line.CFrame = Center.CFrame * CFrame.new(0, 5.1, 0)
  2637. Line.Anchored = true
  2638. Line.CanCollide = false
  2639. Line.FormFactor = Enum.FormFactor.Custom
  2640. Line.Size = VEC3(0.4, 10, 0.4)
  2641. Line.BottomSurface = Enum.SurfaceType.Smooth
  2642. Line.TopSurface = Enum.SurfaceType.Smooth
  2643. Line.Parent = Target
  2644.  
  2645. return Target
  2646. end
  2647.  
  2648. function DetonateExplosive(Grenade)
  2649. CreateShockwave(Grenade.Position, S.GrenadeBlastRadius)
  2650. local GrenadePos = Grenade.Position
  2651. local E = Instance.new("Explosion")
  2652. E.BlastPressure = S.GrenadeBlastPressure
  2653. E.BlastRadius = S.GrenadeBlastRadius
  2654. E.DestroyJointRadiusPercent = (S.GrenadeRangeBasedDamage and 0 or 1)
  2655. E.ExplosionType = S.GrenadeExplosionType
  2656. E.Position = GrenadePos
  2657. E.Hit:connect(function(HObj, HDist)
  2658. if HObj.Name == "Torso" and (not HObj:IsDescendantOf(Character)) then
  2659. if S.GrenadeRangeBasedDamage then
  2660. local ClosestPart = nil
  2661. local ClosestDist = math.huge
  2662.  
  2663. for _, P in pairs(HObj.Parent:GetChildren()) do
  2664. if P:IsA("BasePart") then
  2665. local Dist = (GrenadePos - P.Position).magnitude
  2666. if Dist < ClosestDist then
  2667. ClosestPart = P
  2668. ClosestDist = Dist
  2669. end
  2670. end
  2671. end
  2672.  
  2673. local Dir = (ClosestPart.Position - GrenadePos).unit
  2674. local H, P = AdvRayCast(GrenadePos, Dir, 999)
  2675. local RayHitHuman = H:IsDescendantOf(HObj.Parent)
  2676. if (S.GrenadeRayCastExplosions and RayHitHuman) or (not S.GrenadeRayCastExplosions) then
  2677. local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
  2678. if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
  2679. local DistFactor = ClosestDist / S.GrenadeBlastRadius
  2680. local DistInvert = math.max(1 - DistFactor,0)
  2681. local NewDamage = DistInvert * S.LethalGrenadeDamage
  2682.  
  2683. local CreatorTag = Instance.new("ObjectValue")
  2684. CreatorTag.Value = Player
  2685. CreatorTag.Name = "creator"
  2686. CreatorTag.Parent = HitHumanoid
  2687. HitHumanoid:TakeDamage(NewDamage)
  2688. MarkHit()
  2689. end
  2690. end
  2691. else
  2692. local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
  2693. if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
  2694. local CreatorTag = Instance.new("ObjectValue")
  2695. CreatorTag.Value = Player
  2696. CreatorTag.Name = "creator"
  2697. CreatorTag.Parent = HitHumanoid
  2698. MarkHit()
  2699. end
  2700. end
  2701. end
  2702. end)
  2703. E.Parent = game.Workspace
  2704.  
  2705. wait()
  2706.  
  2707. Grenade.Parent:Destroy()
  2708. end
  2709.  
  2710. function DetonateSmoke(Grenade)
  2711. CreateShockwave(Grenade.Position, S.GrenadeEffectRadius)
  2712. local GrenadePos = Grenade.Position
  2713.  
  2714. spawn(function()
  2715. for i = 1, math.floor(S.GrenadeEffectRadius / 5) + RAND(5, 10) do
  2716. local Size = RAND(S.GrenadeEffectRadius * 0.6, S.GrenadeEffectRadius * 0.8)
  2717. local Dist = RAND(0, S.GrenadeEffectRadius - Size)
  2718. local XRot, YRot = RAD(RAND(0, 180, 10)), RAD(RAND(0, 360, 10))
  2719. local RotLV = (CFANG(0, YRot, 0) * CFANG(XRot, 0, 0)).lookVector
  2720. local Pos = GrenadePos + (RotLV * VEC3(Dist, Dist / 2, Dist))
  2721.  
  2722. local Smoke = Instance.new("Part")
  2723. Smoke.Transparency = 1
  2724. Smoke.Name = "Smoke"
  2725. Smoke.Anchored = true
  2726. Smoke.CanCollide = false
  2727. Smoke.FormFactor = Enum.FormFactor.Symmetric
  2728. Smoke.Size = VEC3(1, 1, 1)
  2729. Smoke.TopSurface = Enum.SurfaceType.Smooth
  2730. Smoke.BottomSurface = Enum.SurfaceType.Smooth
  2731.  
  2732. local Mesh = Instance.new("SpecialMesh")
  2733. Mesh.MeshType = Enum.MeshType.Sphere
  2734. Mesh.Scale = VEC3(Size, Size, Size)
  2735. Mesh.Parent = Smoke
  2736.  
  2737. Smoke.Parent = Gun_Ignore
  2738. Smoke.CFrame = CF(Pos)
  2739.  
  2740. spawn(function()
  2741. local Trans = RAND(0.3, 0.5, 0.01)
  2742. for X = 0, 90, 2 do
  2743. Smoke.CFrame = CF(GrenadePos:lerp(Pos, Sine(X)))
  2744. Smoke.Transparency = NumLerp(1, Trans, Sine(X))
  2745. RS:wait()
  2746. end
  2747.  
  2748. wait(S.GrenadeEffectTime)
  2749.  
  2750. for X = 0, 90, 0.5 do
  2751. Smoke.CFrame = CF(Pos:lerp(Pos + VEC3(0, 20, 0), 1 - COS(RAD(X))))
  2752. Smoke.Transparency = NumLerp(Trans, 1, Sine(X))
  2753. RS:wait()
  2754. end
  2755.  
  2756. Smoke:Destroy()
  2757. end)
  2758.  
  2759. if i % 3 == 0 then
  2760. RS:wait()
  2761. end
  2762. end
  2763. end)
  2764.  
  2765. wait()
  2766.  
  2767. Grenade.Parent:Destroy()
  2768. end
  2769.  
  2770. function ThrowGrenade(Type)
  2771. local Grenade0 = nil
  2772. if S.TrajectoryAssist then
  2773. spawn(function()
  2774. local X = 0
  2775. local Vel = (Type == 1 and S.LethalGrenadeThrowVelocity or S.TacticalGrenadeThrowVelocity)
  2776.  
  2777. local GetX = function(Ang, T)
  2778. local Vx = Vel * math.cos(Ang)
  2779. return Vx * T
  2780. end
  2781.  
  2782. local GetY = function(Ang, T)
  2783. local V0y = Vel * math.sin(Ang)
  2784. local Vy = V0y + (-196.2 * T)
  2785. return (Vy * T) - (-98.1 * T * T)
  2786. end
  2787.  
  2788. local Target = CreateTarget()
  2789. Target.Parent = game.Workspace
  2790. Target.PrimaryPart = Target:WaitForChild("Center")
  2791.  
  2792. while (Keys[S.LethalGrenadeKey] or Keys[S.TacticalGrenadeKey]) and Selected do
  2793. X = X + math.rad(10)
  2794. for _,v in pairs(Target:GetChildren()) do
  2795. v.Transparency = 0.2 + ((math.sin(X) + 1) / 5)
  2796. end
  2797.  
  2798. local Lines = {}
  2799. local LastX, LastY = nil, nil
  2800. for T = 0, 10, 0.1 do
  2801. local XPos = GetX(math.rad(7) - HeadRot, T)
  2802. local YPos = GetY(math.rad(7) - HeadRot, T)
  2803. if LastX and LastY then
  2804. local LookV3 = HRP.CFrame.lookVector
  2805. local LastPos = (Head.CFrame * CF(1.5, 0, 0)).p + (LookV3 * LastX) + VEC3(0, LastY, 0)
  2806. local NewPos = (Head.CFrame * CF(1.5, 0, 0)).p + (LookV3 * XPos) + VEC3(0, YPos, 0)
  2807. local LineCF = CF(LastPos, NewPos)
  2808. local Dist = (LastPos - NewPos).magnitude
  2809. local NewDist = Dist
  2810.  
  2811. local H, P = AdvRayCast(LastPos, (NewPos - LastPos), 1, {Camera, unpack(Ignore)})
  2812. if H then
  2813. NewDist = (P - LastPos).magnitude
  2814.  
  2815. local SurfaceCF = GetHitSurfaceCFrame(P, H)
  2816. local SurfaceDir = CF(H.CFrame.p, SurfaceCF.p)
  2817. local SurfaceDist = SurfaceDir.lookVector * (H.CFrame.p - SurfaceCF.p).magnitude / 2
  2818. local SurfaceOffset = P - SurfaceCF.p + SurfaceDist
  2819. local SurfaceCFrame = SurfaceDir + SurfaceDist + SurfaceOffset
  2820.  
  2821. Target:SetPrimaryPartCFrame(SurfaceCFrame * CFANG(RAD(-90), 0, 0))
  2822.  
  2823. Target.Parent = Camera
  2824. else
  2825. Target.Parent = nil
  2826. end
  2827.  
  2828. local Line = Instance.new("Part")
  2829. Line.BrickColor = BrickColor.Red()
  2830. Line.Material = Enum.Material.SmoothPlastic
  2831. Line.Transparency = 0.2 + ((math.sin(X) + 1) / 5)
  2832. Line.Anchored = true
  2833. Line.CanCollide = false
  2834. Line.FormFactor = Enum.FormFactor.Custom
  2835. Line.Size = Vector3.new(0.4, 0.4, NewDist)
  2836. Line.TopSurface = Enum.SurfaceType.Smooth
  2837. Line.BottomSurface = Enum.SurfaceType.Smooth
  2838. Line.CFrame = LineCF + (LineCF.lookVector * NewDist / 2)
  2839. Line.Parent = Camera
  2840.  
  2841. table.insert(Lines, Line)
  2842.  
  2843. LastX,LastY = XPos,YPos
  2844.  
  2845. if H then break end
  2846. else
  2847. LastX,LastY = XPos,YPos
  2848. end
  2849. end
  2850.  
  2851. wait()
  2852.  
  2853. for _,Line in pairs(Lines) do
  2854. Line:Destroy()
  2855. end
  2856. end
  2857.  
  2858. Target:Destroy()
  2859. end)
  2860. end
  2861.  
  2862. local AnimTable = {
  2863. function()
  2864. TweenJoint(LWeld, CF(-1.5, 0, 0), CF(0, 0.6, 0), Linear, 0.2)
  2865. TweenJoint(RWeld, CF(1.5, 0, 0) * CFANG(0, 0, RAD(-10)), CF(0, 0.6, 0), Linear, 0.2)
  2866. TweenJoint(Grip, Grip.C0, CFANG(0, RAD(10), 0), Linear, 0.2)
  2867. wait(0.3)
  2868. end;
  2869.  
  2870. function()
  2871. Grip.Part0 = Torso
  2872. Grip.C1 = CF(-1, 0.5, -0.5)
  2873.  
  2874. if S.LethalGrenadeType == 3 and Type == 1 then
  2875. Grenade0 = CreateKnife()
  2876. Grenade0.Parent = Gun_Ignore
  2877.  
  2878. local Weld = Instance.new("Weld")
  2879. Weld.Part0 = FakeRArm
  2880. Weld.Part1 = Grenade0
  2881. Weld.C0 = Grip.C0
  2882. Weld.C1 = CF(0, 0, -0.5) * CFANG(RAD(90), RAD(90), 0)
  2883. Weld.Parent = Grenade0
  2884.  
  2885. TweenJoint(LWeld2, CF(), CF(), Sine, 0.3)
  2886. TweenJoint(RWeld2, CF(), CF(), Sine, 0.3)
  2887. TweenJoint(LWeld, ArmC0[1], CF(0, 0.5, 0.1) * CFANG(RAD(90), 0, 0), Sine, 0.3)
  2888. TweenJoint(RWeld, ArmC0[2], CF(0, 0.4, 0.1) * CFANG(RAD(-80), 0, 0), Sine, 0.3)
  2889. wait(0.3)
  2890. else
  2891. Grenade0 = CreateGrenade()
  2892. Grenade0.Parent = Gun_Ignore
  2893.  
  2894. local Weld = Instance.new("Weld")
  2895. Weld.Part0 = FakeRArm
  2896. Weld.Part1 = Grenade0:WaitForChild("Center")
  2897. Weld.C0 = Grip.C0
  2898. Weld.Parent = Grenade0:WaitForChild("Center")
  2899.  
  2900. TweenJoint(LWeld2, CF(), CFANG(0, RAD(80), 0), Linear, 0.25)
  2901. TweenJoint(RWeld2, CF(), CFANG(0, RAD(-80), 0), Linear, 0.25)
  2902. TweenJoint(LWeld, ArmC0[1], CF(-0.2, 0.8, 0.1) * CFANG(RAD(10), 0, RAD(-30)), Linear, 0.25)
  2903. TweenJoint(RWeld, ArmC0[2], CF(0.2, 0.8, 0.1) * CFANG(RAD(10), 0, RAD(30)), Linear, 0.25)
  2904. wait(0.3)
  2905. end
  2906. end;
  2907.  
  2908. function()
  2909. repeat wait() until (not Keys[S.LethalGrenadeKey]) and (not Keys[S.TacticalGrenadeKey]) or (not Selected)
  2910. end;
  2911.  
  2912. function()
  2913. if S.LethalGrenadeType ~= 3 or Type == 2 then
  2914. TweenJoint(LWeld2, CF(), CFANG(0, RAD(45), 0), Sine, 0.2)
  2915. TweenJoint(RWeld2, CF(), CFANG(0, RAD(-45), 0), Sine, 0.2)
  2916. TweenJoint(LWeld, ArmC0[1], CF(0, 0.8, 0.1), Sine, 0.2)
  2917. TweenJoint(RWeld, ArmC0[2], CF(0, 0.8, 0.1), Sine, 0.2)
  2918. wait(0.2)
  2919. end
  2920. end;
  2921.  
  2922. function()
  2923. if S.LethalGrenadeType ~= 3 or Type == 2 then
  2924. TweenJoint(LWeld2, CF(), CF(), Sine, 0.3)
  2925. TweenJoint(RWeld2, CF(), CF(), Sine, 0.3)
  2926. TweenJoint(LWeld, ArmC0[1], CF(0, 0.5, 0.1) * CFANG(RAD(90), 0, 0), Sine, 0.3)
  2927. TweenJoint(RWeld, ArmC0[2], CF(0, 0.4, 0.1) * CFANG(RAD(-80), 0, 0), Sine, 0.3)
  2928. wait(0.3)
  2929. end
  2930. end;
  2931.  
  2932. function()
  2933. TweenJoint(RWeld, ArmC0[2], CF(0, 0.8, 0.1) * CFANG(RAD(-10), 0, 0), Sine, 0.1)
  2934. wait(0.07)
  2935. end;
  2936.  
  2937. function()
  2938. local Main = nil
  2939. Grenade0:Destroy()
  2940.  
  2941. if S.LethalGrenadeType == 3 and Type == 1 then
  2942. local Grenade1 = CreateKnife()
  2943. Main = Grenade1
  2944.  
  2945. Grenade1.Parent = Gun_Ignore
  2946.  
  2947. Main.CFrame = FakeRArm.CFrame * Grip.C0 * CF(0, 0.5, 0) * CFANG(RAD(-90), 0, RAD(90))
  2948. Main.Velocity = Main.Velocity + ((Head.CFrame * CFANG(RAD(7), 0, 0)).lookVector * S.LethalGrenadeThrowVelocity)
  2949. Main.RotVelocity = (Main.CFrame * CFANG(RAD(90), 0, 0)).lookVector * 20
  2950. else
  2951. local Grenade1 = CreateGrenade()
  2952. Main = Grenade1:WaitForChild("Center")
  2953.  
  2954. local Sound = Instance.new("Sound")
  2955. Sound.SoundId = (Type == 1 and "rbxassetid://180302005" or "rbxassetid://156283116")
  2956. Sound.Volume = 1
  2957. Sound.PlayOnRemove = true
  2958. Sound.Parent = Main
  2959.  
  2960. Grenade1.Parent = Gun_Ignore
  2961.  
  2962. Main.CanCollide = true
  2963. Main.CFrame = FakeRArm.CFrame * Grip.C0
  2964. if Type == 1 then
  2965. Main.Velocity = Main.Velocity + ((Head.CFrame * CFANG(RAD(7), 0, 0)).lookVector * S.LethalGrenadeThrowVelocity)
  2966. elseif Type == 2 then
  2967. Main.Velocity = Main.Velocity + ((Head.CFrame * CFANG(RAD(7), 0, 0)).lookVector * S.TacticalGrenadeThrowVelocity)
  2968. end
  2969. end
  2970.  
  2971. spawn(function()
  2972. if Type == 1 then
  2973. if S.LethalGrenadeType == 1 then
  2974. if S.TimerStartOnHit then
  2975. local Detonated = false
  2976. Main.Touched:connect(function(Obj)
  2977. if IsIgnored(Obj) or Detonated then return end
  2978. Main.Velocity = Main.Velocity / 4
  2979. Detonated = true
  2980.  
  2981. wait(S.DetonationTime)
  2982.  
  2983. DetonateExplosive(Main)
  2984. end)
  2985. else
  2986. spawn(function()
  2987. local Touched = false
  2988. Main.Touched:connect(function(Obj)
  2989. if IsIgnored(Obj) or Touched then return end
  2990. Touched = true
  2991. Main.Velocity = Main.Velocity / 4
  2992. end)
  2993. end)
  2994. wait(S.DetonationTime)
  2995. DetonateExplosive(Main)
  2996. end
  2997. elseif S.LethalGrenadeType == 2 then
  2998. local Detonated = false
  2999. local GrenadeCF = nil
  3000. Main.Touched:connect(function(Obj)
  3001. if IsIgnored(Obj) or Detonated then return end
  3002. GrenadeCF = Main.CFrame
  3003.  
  3004. local W = Instance.new("Weld")
  3005. W.Name = "Semtex"
  3006. W.Part0 = Main
  3007. W.Part1 = Obj
  3008. W.C0 = GrenadeCF:toObjectSpace(Obj.CFrame)
  3009. W.Parent = Main
  3010.  
  3011. Main.ChildRemoved:connect(function(C)
  3012. if C.Name == "Semtex" then
  3013. local W = Instance.new("Weld")
  3014. W.Name = "Semtex"
  3015. W.Part0 = Main
  3016. W.Part1 = Obj
  3017. W.C0 = GrenadeCF:toObjectSpace(Obj.CFrame)
  3018. W.Parent = Main
  3019. end
  3020. end)
  3021.  
  3022. if S.TimerStartOnHit then
  3023. Detonated = true
  3024. wait(S.DetonationTime)
  3025. DetonateExplosive(Main)
  3026. end
  3027. end)
  3028.  
  3029. if (not S.TimerStartOnHit) then
  3030. wait(S.DetonationTime)
  3031. Detonated = true
  3032. DetonateExplosive(Main)
  3033. end
  3034. elseif S.LethalGrenadeType == 3 then
  3035. local Touched = false
  3036. Main.Touched:connect(function(Obj)
  3037. if IsIgnored(Obj) or Touched then return end
  3038. Touched = true
  3039.  
  3040. local W = Instance.new("Weld")
  3041. W.Name = "Sticky"
  3042. W.Part0 = Main
  3043. W.Part1 = Obj
  3044. W.C0 = Main.CFrame:toObjectSpace(Obj.CFrame)
  3045. W.Parent = Main
  3046.  
  3047. Main.ChildRemoved:connect(function(C)
  3048. if C.Name == "Sticky" then
  3049. local W = Instance.new("Weld")
  3050. W.Name = "Sticky"
  3051. W.Part0 = Main
  3052. W.Part1 = Obj
  3053. W.C0 = Main.CFrame:toObjectSpace(Obj.CFrame)
  3054. W.Parent = Main
  3055. end
  3056. end)
  3057.  
  3058. if Obj then
  3059. if Obj.Parent.ClassName == "Hat" then
  3060. local HitHumanoid = FindFirstClass(Obj.Parent.Parent, "Humanoid")
  3061. if HitHumanoid and IsEnemy(HitHumanoid) then
  3062. local CreatorTag = Instance.new("ObjectValue")
  3063. CreatorTag.Name = "creator"
  3064. CreatorTag.Value = Player
  3065. CreatorTag.Parent = HitHumanoid
  3066. HitHumanoid:TakeDamage(HitHumanoid.MaxHealth)
  3067. MarkHit()
  3068. end
  3069. else
  3070. local HitHumanoid = FindFirstClass(Obj.Parent, "Humanoid")
  3071. if HitHumanoid and IsEnemy(HitHumanoid) then
  3072. local CreatorTag = Instance.new("ObjectValue")
  3073. CreatorTag.Name = "creator"
  3074. CreatorTag.Value = Player
  3075. CreatorTag.Parent = HitHumanoid
  3076. HitHumanoid:TakeDamage(HitHumanoid.MaxHealth)
  3077. MarkHit()
  3078. end
  3079. end
  3080. end
  3081.  
  3082. wait(3)
  3083.  
  3084. Main:Destroy()
  3085. end)
  3086. end
  3087. elseif Type == 2 then
  3088. if S.TacticalGrenadeType == 1 then
  3089. if S.TimerStartOnHit then
  3090. local Detonated = false
  3091. Main.Touched:connect(function(Obj)
  3092. if IsIgnored(Obj) or Detonated then return end
  3093. Main.Velocity = Main.Velocity / 2
  3094. Detonated = true
  3095.  
  3096. wait(S.DetonationTime)
  3097.  
  3098. DetonateSmoke(Main)
  3099. end)
  3100. else
  3101. spawn(function()
  3102. local Touched = false
  3103. Main.Touched:connect(function(Obj)
  3104. if IsIgnored(Obj) or Touched then return end
  3105. Touched = true
  3106. Main.Velocity = Main.Velocity / 2
  3107. end)
  3108. end)
  3109. wait(S.DetonationTime)
  3110. DetonateSmoke(Main)
  3111. end
  3112. end
  3113. end
  3114. end)
  3115.  
  3116. if S.GrenadeTrail and S.GrenadeTrailTransparency ~= 1 then
  3117. spawn(function()
  3118. local LastPos = nil
  3119. while true do
  3120. if LastPos then
  3121. if (not Main:IsDescendantOf(game))
  3122. or (Main.Name == "Knife" and FindFirstClass(Main, "Weld")) then
  3123. break
  3124. end
  3125. local Trail = Instance.new("Part")
  3126. Trail.BrickColor = S.GrenadeTrailColor
  3127. Trail.Transparency = S.GrenadeTrailTransparency
  3128. Trail.Anchored = true
  3129. Trail.CanCollide = false
  3130. Trail.Size = VEC3(1, 1, 1)
  3131. local Mesh = Instance.new("BlockMesh")
  3132. Mesh.Offset = VEC3(0, 0, -(Main.Position - LastPos).magnitude / 2)
  3133. Mesh.Scale = VEC3(S.GrenadeTrailThickness, S.GrenadeTrailThickness, (Main.Position - LastPos).magnitude)
  3134. Mesh.Parent = Trail
  3135. Trail.Parent = Gun_Ignore
  3136. Trail.CFrame = CF(LastPos, Main.Position)
  3137. delay(S.GrenadeTrailVisibleTime, function()
  3138. if S.GrenadeTrailDisappearTime > 0 then
  3139. local X = 0
  3140. while true do
  3141. if X == 90 then break end
  3142. if (not Selected) then break end
  3143. local NewX = X + (1.5 / S.GrenadeTrailDisappearTime)
  3144. X = (NewX > 90 and 90 or NewX)
  3145. local Alpha = X / 90
  3146. Trail.Transparency = NumLerp(S.GrenadeTrailTransparency, 1, Alpha)
  3147. RS:wait()
  3148. end
  3149. Trail:Destroy()
  3150. else
  3151. Trail:Destroy()
  3152. end
  3153. end)
  3154. LastPos = Main.Position
  3155. else
  3156. LastPos = Main.Position
  3157. end
  3158. RS:wait()
  3159. end
  3160. end)
  3161. end
  3162. wait(0.2)
  3163. end;
  3164.  
  3165. function()
  3166. TweenJoint(RWeld, CF(1.5, 0, 0) * CFANG(0, 0, RAD(-10)), CF(0, 0.6, 0), Linear, 0.2)
  3167. wait(0.3)
  3168. end;
  3169.  
  3170. function()
  3171. Grip.Part0 = RArm
  3172. Grip.C1 = CFANG(0, RAD(20), 0)
  3173.  
  3174. TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Linear, 0.2)
  3175. TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Linear, 0.2)
  3176. wait(0.2)
  3177. end;
  3178. }
  3179.  
  3180. for _,F in pairs(AnimTable) do
  3181. if (not Selected) then
  3182. break
  3183. end
  3184. F()
  3185. end
  3186.  
  3187. if (not Selected) and Grenade0 then
  3188. Grenade0:Destroy()
  3189. end
  3190. end
  3191.  
  3192. --------------------[ CAMERA STEADYING FUNCTIONS ]------------------------------------
  3193.  
  3194. function SteadyCamera()
  3195. Gui_Clone.Scope.Steady.Text = "Steadying..."
  3196. Gui_Clone.Scope.Steady.TextColor3 = Color3.new(1, 1, 0)
  3197. CameraSteady = true
  3198. local OriginalSway = CameraSway
  3199. for X = 0, 90, 1.5 / 0.6 do
  3200. if (not Run_Key_Pressed) then break end
  3201. local Alpha = SIN(RAD(X))
  3202. CameraSway = NumLerp(OriginalSway, 0, Alpha)
  3203. RS:wait()
  3204. end
  3205. while Run_Key_Pressed and Aimed do
  3206. if CurrentSteadyTime > 0 then
  3207. local NewSteadyTime = CurrentSteadyTime - 1
  3208. CurrentSteadyTime = (NewSteadyTime < 0 and 0 or NewSteadyTime)
  3209. CameraSway = 0
  3210. elseif CurrentSteadyTime == 0 then
  3211. break
  3212. end
  3213. RS:wait()
  3214. end
  3215. CameraSteady = false
  3216. spawn(function()
  3217. for X = 0, 90, 1.5 / 0.2 do
  3218. local Alpha = math.log10(X) / math.log10(90)
  3219. CameraSway = NumLerp(0, 3, Alpha)
  3220. RS:wait()
  3221. end
  3222. for X = 0, 90, 1.5 / S.ScopeSteadyTime do
  3223. if CameraSteady then break end
  3224. local Alpha = SIN(RAD(X))
  3225. CameraSway = NumLerp(3, 1, Alpha)
  3226. RS:wait()
  3227. end
  3228. end)
  3229. RetakeBreath()
  3230. end
  3231.  
  3232. function RetakeBreath()
  3233. local Steady = Gui_Clone.Scope.Steady
  3234. Steady.Text = "Re-taking Breath"
  3235. Steady.TextColor3 = Color3.new(1, 0, 0)
  3236. TakingBreath = true
  3237. while TakingBreath do
  3238. if CurrentSteadyTime < MaxSteadyTime then
  3239. local NewSteadyTime = CurrentSteadyTime + (S.ScopeSteadyTime / S.SteadyCooldownTime)
  3240. CurrentSteadyTime = (NewSteadyTime > MaxSteadyTime and MaxSteadyTime or NewSteadyTime)
  3241. elseif CurrentSteadyTime >= MaxSteadyTime then
  3242. break
  3243. end
  3244. RS:wait()
  3245. end
  3246. if TakingBreath then
  3247. Steady.Text = "Hold "..ConvertKey(S.ScopeSteadyKey).." to Steady"
  3248. Steady.TextColor3 = Color3.new(1, 1, 0)
  3249. TakingBreath = false
  3250. end
  3251. end
  3252.  
  3253. --------------------[ SPRINTING FUNCTIONS ]-------------------------------------------
  3254.  
  3255. function MonitorStamina()
  3256. while Run_Key_Pressed do
  3257. if (not Aimed) and (not Aiming) then
  3258. break
  3259. end
  3260. RS:wait()
  3261. end
  3262. while Run_Key_Pressed and (not Aiming) and (not Aimed) and (not Knifing) and (not ThrowingGrenade) do
  3263. local Forward = (Keys["w"] or Keys[string.char(17)])
  3264. local Backward = (Keys["s"] or Keys[string.char(18)])
  3265. if (Forward and (not Backward))
  3266. and Walking and (Stamina > 0) then
  3267. if Stance == 1 or Stance == 2 then Stand() end
  3268. local NewStamina = Stamina - 1
  3269. Stamina = (NewStamina < 0 and 0 or NewStamina)
  3270. Running = true
  3271. elseif (not (Forward and (not Backward)))
  3272. or (not Walking) or (Stamina == 0) then
  3273. break
  3274. end
  3275. RS:wait()
  3276. end
  3277. Running = false
  3278. RechargeStamina()
  3279. end
  3280.  
  3281. function RechargeStamina()
  3282. ChargingStamina = true
  3283. while ((not Run_Key_Pressed) or (Stamina < MaxStamina)) and (not Running) do
  3284. if Stamina < MaxStamina then
  3285. local NewStamina = Stamina + (S.SprintTime / S.StaminaCoolTime)
  3286. Stamina = (NewStamina > MaxStamina and MaxStamina or NewStamina)
  3287. elseif Stamina >= MaxStamina then
  3288. break
  3289. end
  3290. RS:wait()
  3291. end
  3292. ChargingStamina = false
  3293. end
  3294.  
  3295. --------------------[ STANCE FUNCTIONS ]----------------------------------------------
  3296.  
  3297. function Stand(OnDeselected)
  3298. local LHip = Torso["Left Hip"]
  3299. local RHip = Torso["Right Hip"]
  3300. local Root = HRP.RootJoint
  3301. Stance = 0
  3302. if S.StanceAnimation and (not OnDeselected) then
  3303. spawn(function()
  3304. local PreviousOffset = Humanoid.CameraOffset
  3305. local PreviousRootP = Root.C0.p
  3306. for X = 0, 90, 1.5 / S.StanceChangeSpeed do
  3307. if Stance ~= 0 then break end
  3308. local Alpha = Sine(X)
  3309. Humanoid.CameraOffset = PreviousOffset:lerp(StanceOffset[1], Alpha)
  3310. Root.C0 = CF(PreviousRootP:lerp(VEC3(), Alpha)) * CFANG(RAD(-90), 0, RAD(180))
  3311. RS:wait()
  3312. end
  3313. end)
  3314. TweenJoint(ABWeld, CF(), CF(), Sine, S.StanceChangeSpeed)
  3315. TweenJoint(LHip, CF(-1, -1, 0) * CFANG(0, RAD(-90), 0), CF(-0.5, 1, 0) * CFANG(0, RAD(-90), 0), Sine, S.StanceChangeSpeed)
  3316. TweenJoint(RHip, CF(1, -1, 0) * CFANG(RAD(-180), RAD(90), 0), CF(0.5, 1, 0) * CFANG(RAD(-180), RAD(90), 0), Sine, S.StanceChangeSpeed)
  3317. elseif OnDeselected then
  3318. Humanoid.CameraOffset = StanceOffset[1]
  3319. ABWeld.C0 = CF()
  3320. ABWeld.C1 = CF()
  3321. LHip.C0 = CF(-1, -1, 0) * CFANG(0, RAD(-90), 0)
  3322. LHip.C1 = CF(-0.5, 1, 0) * CFANG(0, RAD(-90), 0)
  3323. RHip.C0 = CF(1, -1, 0) * CFANG(RAD(-180), RAD(90), 0)
  3324. RHip.C1 = CF(0.5, 1, 0) * CFANG(RAD(-180), RAD(90), 0)
  3325. Root.C0 = CFANG(RAD(-90), 0, RAD(180))
  3326. end
  3327. end
  3328.  
  3329. function Crouch()
  3330. local LHip = Torso["Left Hip"]
  3331. local RHip = Torso["Right Hip"]
  3332. local Root = HRP.RootJoint
  3333. Stance = 1
  3334. if S.StanceAnimation then
  3335. spawn(function()
  3336. local PreviousOffset = Humanoid.CameraOffset
  3337. local PreviousRootP = Root.C0.p
  3338. for X = 0, 90, 1.5 / S.StanceChangeSpeed do
  3339. if Stance ~= 1 then break end
  3340. local Alpha = Sine(X)
  3341. Humanoid.CameraOffset = PreviousOffset:lerp(StanceOffset[2], Alpha)
  3342. Root.C0 = CF(PreviousRootP:lerp(VEC3(0, -1, 0), Alpha)) * CFANG(RAD(-90), 0, RAD(180))
  3343. RS:wait()
  3344. end
  3345. end)
  3346. TweenJoint(ABWeld, CF(0, 0, -1 / 16), CF(), Sine, S.StanceChangeSpeed)
  3347. TweenJoint(LHip, CF(-1, -0.5, 0) * CFANG(0, RAD(-90), 0), CF(-0.5, 0.5, 1) * CFANG(0, RAD(-90), RAD(-90)), Sine, S.StanceChangeSpeed)
  3348. TweenJoint(RHip, CF(1, -0.5, 0.25) * CFANG(RAD(-180), RAD(90), 0), CF(0.5, 0.5, 1) * CFANG(RAD(-180), RAD(90), 0), Sine, S.StanceChangeSpeed)
  3349. else
  3350. Humanoid.CameraOffset = StanceOffset[2]
  3351. ABWeld.C0 = CF(0, 0, -1 / 16)
  3352. ABWeld.C1 = CF()
  3353. LHip.C0 = CF(-1, -0.5, 0) * CFANG(0, RAD(-90), 0)
  3354. LHip.C1 = CF(-0.5, 0.5, 1) * CFANG(0, RAD(-90), RAD(-90))
  3355. RHip.C0 = CF(1, -0.5, 0.25) * CFANG(RAD(-180), RAD(90), 0)
  3356. RHip.C1 = CF(0.5, 0.5, 1) * CFANG(RAD(-180), RAD(90), 0)
  3357. Root.C0 = CF(0, -1, 0) * CFANG(RAD(-90), 0, RAD(180))
  3358. end
  3359. end
  3360.  
  3361. function Prone()
  3362. local LHip = Torso["Left Hip"]
  3363. local RHip = Torso["Right Hip"]
  3364. local Root = HRP.RootJoint
  3365. Stance = 2
  3366. if S.StanceAnimation then
  3367. spawn(function()
  3368. local PreviousOffset = Humanoid.CameraOffset
  3369. local PreviousRootP = Root.C0.p
  3370. for X = 0, 90, 1.5 / S.StanceChangeSpeed do
  3371. if Stance ~= 2 then break end
  3372. local Alpha = Sine(X)
  3373. Humanoid.CameraOffset = PreviousOffset:lerp(StanceOffset[3], Alpha)
  3374. Root.C0 = CF(PreviousRootP:lerp(VEC3(0, -2.5, 1), Alpha)) * CFANG(RAD(180), 0, RAD(180))
  3375. RS:wait()
  3376. end
  3377. end)
  3378. TweenJoint(ABWeld, CF(0, 0, -1 / 8), CF(), Sine, S.StanceChangeSpeed)
  3379. TweenJoint(LHip, CF(-1, -1, 0) * CFANG(0, RAD(-90), 0), CF(-0.5, 1, 0) * CFANG(0, RAD(-90), 0), Sine, S.StanceChangeSpeed)
  3380. TweenJoint(RHip, CF(1, -1, 0) * CFANG(RAD(-180), RAD(90), 0), CF(0.5, 1, 0) * CFANG(RAD(-180), RAD(90), 0), Sine, S.StanceChangeSpeed)
  3381. else
  3382. Humanoid.CameraOffset = StanceOffset[3]
  3383. ABWeld.C0 = CF(0, 0, -1 / 8)
  3384. ABWeld.C1 = CF()
  3385. LHip.C0 = CF(-1, -1, 0) * CFANG(0, RAD(-90), 0)
  3386. LHip.C1 = CF(-0.5, 1, 0) * CFANG(0, RAD(-90), 0)
  3387. RHip.C0 = CF(1, -1, 0) * CFANG(RAD(-180), RAD(90), 0)
  3388. RHip.C1 = CF(0.5, 1, 0) * CFANG(RAD(-180), RAD(90), 0)
  3389. Root.C0 = CF(0, -2.5, 1) * CFANG(RAD(180), 0, RAD(180))
  3390. end
  3391. end
  3392.  
  3393. function Dive(Speed)
  3394. local DiveVelocity = (HRP.CFrame * CFANG(RAD(18),0,0)).lookVector * Speed * (35 / 16) * 4e3
  3395. HRP.Velocity = VEC3()
  3396. Torso.Velocity = VEC3()
  3397. local BF = Instance.new("BodyForce")
  3398. BF.force = DiveVelocity
  3399. BF.Parent = HRP
  3400. delay(0.05, function()
  3401. Prone()
  3402. local Start = tick()
  3403. while true do
  3404. wait()
  3405. if (tick() - Start) > 0.1 then break end
  3406. BF.force = -HRP.Velocity * 700
  3407. end
  3408. BF:Destroy()
  3409. end)
  3410. end
  3411.  
  3412. --------------------[ KEYBOARD FUNCTIONS ]--------------------------------------------
  3413.  
  3414. function KeyDown(K)
  3415. local Key = string.lower(K)
  3416.  
  3417. if Key == S.LowerStanceKey and S.CanChangeStance then
  3418. if (not Running) then
  3419. if Stance == 0 then
  3420. Crouch()
  3421. elseif Stance == 1 then
  3422. Prone()
  3423. end
  3424. elseif S.DolphinDive then
  3425. delay(1 / 30,function()
  3426. CanRun = false
  3427. Dive(S.BaseWalkSpeed)
  3428. Run_Key_Pressed = false
  3429. wait(S.DiveRechargeTime)
  3430. CanRun = true
  3431. end)
  3432. end
  3433. end
  3434.  
  3435. if Key == S.RaiseStanceKey and S.CanChangeStance then
  3436. if (not Running) then
  3437. if Stance == 2 then
  3438. Crouch()
  3439. elseif Stance == 1 then
  3440. Stand()
  3441. end
  3442. end
  3443. end
  3444.  
  3445. if Key == S.ADSKey then
  3446. if S.HoldMouseOrKeyToADS then
  3447. if (not AimingIn) and (not Aimed) then
  3448. AimingIn = true
  3449. AimGun()
  3450. AimingIn = false
  3451. end
  3452. else
  3453. if Aimed then
  3454. UnAimGun()
  3455. else
  3456. AimGun()
  3457. end
  3458. end
  3459. end
  3460.  
  3461. if Key == S.ReloadKey then
  3462. if (not Reloading) and (not Running) then
  3463. Reload()
  3464. end
  3465. end
  3466.  
  3467.  
  3468. if Key == S.KnifeKey and S.CanKnife then
  3469. if KnifeReady and (not Knifing) and (not ThrowingGrenade) then
  3470. if Aimed then UnAimGun(true) end
  3471. BreakReload = true
  3472. Knifing = true
  3473. KnifeReady = false
  3474. KnifeAnim()
  3475. BreakReload = false
  3476. Knifing = false
  3477. delay(S.KnifeCooldown, function()
  3478. KnifeReady = true
  3479. end)
  3480. end
  3481. end
  3482.  
  3483. if Key == S.LethalGrenadeKey and S.Throwables then
  3484. if (not Knifing) and (not Running) and (not Aimed) and (not Aiming) and (not ThrowingGrenade) then
  3485. if LethalGrenades.Value > 0 then
  3486. LethalGrenades.Value = LethalGrenades.Value - 1
  3487. ThrowingGrenade = true
  3488. ThrowGrenade(1)
  3489. ThrowingGrenade = false
  3490. end
  3491. end
  3492. end
  3493.  
  3494. if Key == S.TacticalGrenadeKey and S.Throwables then
  3495. if (not Knifing) and (not Running) and (not Aimed) and (not Aiming) and (not ThrowingGrenade) then
  3496. if TacticalGrenades.Value > 0 then
  3497. TacticalGrenades.Value = TacticalGrenades.Value - 1
  3498. ThrowingGrenade = true
  3499. ThrowGrenade(2)
  3500. ThrowingGrenade = false
  3501. end
  3502. end
  3503. end
  3504.  
  3505. if Key == S.SprintKey then
  3506. Run_Key_Pressed = true
  3507. if Aimed and (not Aiming) then
  3508. TakingBreath = false
  3509. SteadyCamera()
  3510. end
  3511. if CanRun then
  3512. if (not Idleing) and Walking and (not Running) and (not Knifing) and (not ThrowingGrenade) then
  3513. if Reloading then BreakReload = true end
  3514. MonitorStamina()
  3515. end
  3516. end
  3517. end
  3518. end
  3519.  
  3520. function KeyUp(K)
  3521. local Key = string.lower(K)
  3522.  
  3523. if Key == S.ADSKey then
  3524. if S.HoldMouseOrKeyToADS then
  3525. if (not AimingOut) and Aimed then
  3526. AimingOut = true
  3527. UnAimGun()
  3528. AimingOut = false
  3529. end
  3530. end
  3531. end
  3532.  
  3533. if Key == S.SprintKey then
  3534. Run_Key_Pressed = false
  3535. Running = false
  3536. if (not ChargingStamina) then
  3537. RechargeStamina()
  3538. end
  3539. end
  3540. end
  3541.  
  3542. --------------------[ END FUNCTIONS ]-------------------------------------------------
  3543.  
  3544. --------------------------------------------------------------------------------------
  3545. --------------------[ TOOL SELECTION AND DESELECTION ]--------------------------------
  3546. --------------------------------------------------------------------------------------
  3547.  
  3548. function OnEquipped(M_Icon)
  3549. wait(math.random(10, 40) / 100)
  3550. if Humanoid.Health ~= 0 and (not Selected) and Gun.Parent == Character then
  3551. Selected = true
  3552.  
  3553. BreakReload = false
  3554.  
  3555. --------------------[ FAILSAFE RESETING ]-------------------------------------
  3556.  
  3557. for _, GM in pairs(Ignore_Model:GetChildren()) do
  3558. if GM.Name == "Gun_Ignore_"..Player.Name then
  3559. GM:Destroy()
  3560. end
  3561. end
  3562.  
  3563. for _,c in pairs(Connections) do
  3564. c:disconnect()
  3565. end
  3566.  
  3567. Connections = {}
  3568.  
  3569. --------------------[ CREATING IGNORE MODELS ]--------------------------------
  3570.  
  3571. Gun_Ignore = Instance.new("Model")
  3572. Gun_Ignore.Name = "Gun_Ignore_"..Player.Name
  3573. Gun_Ignore.Parent = Ignore_Model
  3574.  
  3575. --------------------[ MODIFYING THE PLAYER ]----------------------------------
  3576.  
  3577. M_Icon.Icon = "rbxasset://textures\\Blank.png"
  3578.  
  3579. Gui_Clone = Main_Gui:Clone()
  3580. Gui_Clone.Parent = Player.PlayerGui
  3581.  
  3582. SetUpGui()
  3583.  
  3584. Shoulders.Right.Part1 = nil
  3585. Shoulders.Left.Part1 = nil
  3586.  
  3587. PrevNeckCF.C0 = Neck.C0
  3588. PrevNeckCF.C1 = Neck.C1
  3589.  
  3590. BG = Instance.new("BodyGyro", HRP)
  3591. BG.maxTorque = VEC3(HUGE, HUGE, HUGE)
  3592. BG.Name = "BG"
  3593. BG.P = 1e5
  3594. BG.cframe = CF(Torso.CFrame.p, Torso.CFrame.p + Torso.CFrame.lookVector)
  3595.  
  3596. local PlayerFolder = Instance.new("Model")
  3597. PlayerFolder.Name = "PlayerFolder"
  3598. PlayerFolder.Parent = Gun_Ignore
  3599.  
  3600. local AnimBase = Instance.new("Part")
  3601. AnimBase.Transparency = 1
  3602. AnimBase.Name = "AnimBase"
  3603. AnimBase.CanCollide = false
  3604. AnimBase.FormFactor = Enum.FormFactor.Custom
  3605. AnimBase.Size = VEC3(0.2, 0.2, 0.2)
  3606. AnimBase.BottomSurface = Enum.SurfaceType.Smooth
  3607. AnimBase.TopSurface = Enum.SurfaceType.Smooth
  3608. AnimBase.Parent = PlayerFolder
  3609.  
  3610. AnimWeld = Instance.new("Weld")
  3611. AnimWeld.Part0 = AnimBase
  3612. AnimWeld.Part1 = Head
  3613. AnimWeld.C0 = CF(0, 1, 0)
  3614. AnimWeld.Parent = AnimBase
  3615.  
  3616. local ArmBase = Instance.new("Part")
  3617. ArmBase.Transparency = 1
  3618. ArmBase.Name = "ArmBase"
  3619. ArmBase.CanCollide = false
  3620. ArmBase.FormFactor = Enum.FormFactor.Custom
  3621. ArmBase.Size = VEC3(0.2, 0.2, 0.2)
  3622. ArmBase.BottomSurface = Enum.SurfaceType.Smooth
  3623. ArmBase.TopSurface = Enum.SurfaceType.Smooth
  3624. ArmBase.Parent = PlayerFolder
  3625.  
  3626. ABWeld = Instance.new("Weld")
  3627. ABWeld.Part0 = ArmBase
  3628. ABWeld.Part1 = AnimBase
  3629. ABWeld.Parent = ArmBase
  3630.  
  3631. local LArmBase = Instance.new("Part")
  3632. LArmBase.Transparency = 1
  3633. LArmBase.Name = "LArmBase"
  3634. LArmBase.CanCollide = false
  3635. LArmBase.FormFactor = Enum.FormFactor.Custom
  3636. LArmBase.Size = VEC3(0.2, 0.2, 0.2)
  3637. LArmBase.BottomSurface = Enum.SurfaceType.Smooth
  3638. LArmBase.TopSurface = Enum.SurfaceType.Smooth
  3639. LArmBase.Parent = PlayerFolder
  3640.  
  3641. local RArmBase = Instance.new("Part")
  3642. RArmBase.Transparency = 1
  3643. RArmBase.Name = "RArmBase"
  3644. RArmBase.CanCollide = false
  3645. RArmBase.FormFactor = Enum.FormFactor.Custom
  3646. RArmBase.Size = VEC3(0.2, 0.2, 0.2)
  3647. RArmBase.BottomSurface = Enum.SurfaceType.Smooth
  3648. RArmBase.TopSurface = Enum.SurfaceType.Smooth
  3649. RArmBase.Parent = PlayerFolder
  3650.  
  3651. LWeld = Instance.new("Weld")
  3652. LWeld.Name = "LWeld"
  3653. LWeld.Part0 = ArmBase
  3654. LWeld.Part1 = LArmBase
  3655. LWeld.C0 = ArmC0[1]
  3656. LWeld.C1 = S.ArmC1_UnAimed.Left
  3657. LWeld.Parent = ArmBase
  3658.  
  3659. RWeld = Instance.new("Weld")
  3660. RWeld.Name = "RWeld"
  3661. RWeld.Part0 = ArmBase
  3662. RWeld.Part1 = RArmBase
  3663. RWeld.C0 = ArmC0[2]
  3664. RWeld.C1 = S.ArmC1_UnAimed.Right
  3665. RWeld.Parent = ArmBase
  3666.  
  3667. LWeld2 = Instance.new("Weld")
  3668. LWeld2.Name = "LWeld"
  3669. LWeld2.Part0 = LArmBase
  3670. LWeld2.Part1 = LArm
  3671. LWeld2.Parent = LArmBase
  3672.  
  3673. RWeld2 = Instance.new("Weld")
  3674. RWeld2.Name = "RWeld"
  3675. RWeld2.Part0 = RArmBase
  3676. RWeld2.Part1 = RArm
  3677. RWeld2.Parent = RArmBase
  3678.  
  3679. if S.PlayerArms then
  3680. FakeLArm = LArm:Clone()
  3681. FakeLArm.Parent = PlayerFolder
  3682. FakeLArm.Transparency = S.FakeArmTransparency
  3683. FakeLArm:BreakJoints()
  3684.  
  3685. LArm.Transparency = 1
  3686.  
  3687. local FakeLWeld = Instance.new("Weld")
  3688. FakeLWeld.Part0 = FakeLArm
  3689. FakeLWeld.Part1 = LArm
  3690. FakeLWeld.Parent = FakeLArm
  3691.  
  3692. FakeRArm = RArm:Clone()
  3693. FakeRArm.Parent = PlayerFolder
  3694. FakeRArm.Transparency = S.FakeArmTransparency
  3695. FakeRArm:BreakJoints()
  3696.  
  3697. RArm.Transparency = 1
  3698.  
  3699. local FakeRWeld = Instance.new("Weld")
  3700. FakeRWeld.Part0 = FakeRArm
  3701. FakeRWeld.Part1 = RArm
  3702. FakeRWeld.Parent = FakeRArm
  3703.  
  3704. Instance.new("Humanoid", PlayerFolder)
  3705.  
  3706. for _,Obj in pairs(Character:GetChildren()) do
  3707. if Obj:IsA("CharacterMesh") or Obj:IsA("Shirt") then
  3708. Obj:Clone().Parent = PlayerFolder
  3709. end
  3710. end
  3711. else
  3712. local ArmTable = CreateArms()
  3713. ArmTable[1].Model.Parent = PlayerFolder
  3714. ArmTable[2].Model.Parent = PlayerFolder
  3715.  
  3716. FakeLArm = ArmTable[1].ArmPart
  3717.  
  3718. LArm.Transparency = 1
  3719.  
  3720. local FakeLWeld = Instance.new("Weld")
  3721. FakeLWeld.Part0 = FakeLArm
  3722. FakeLWeld.Part1 = LArm
  3723. FakeLWeld.Parent = FakeLArm
  3724.  
  3725. FakeRArm = ArmTable[2].ArmPart
  3726.  
  3727. RArm.Transparency = 1
  3728.  
  3729. local FakeRWeld = Instance.new("Weld")
  3730. FakeRWeld.Part0 = FakeRArm
  3731. FakeRWeld.Part1 = RArm
  3732. FakeRWeld.Parent = FakeRArm
  3733. end
  3734.  
  3735. --------------------[ MODIFYING THE GUN ]-------------------------------------
  3736.  
  3737. for _, Tab in pairs(Parts) do
  3738. local Weld = Instance.new("Weld")
  3739. Weld.Name = "MainWeld"
  3740. Weld.Part0 = Handle
  3741. Weld.Part1 = Tab.Obj
  3742. Weld.C0 = Tab.Obj.WeldCF.Value
  3743. Weld.Parent = Handle
  3744. Tab.Weld = Weld
  3745. end
  3746.  
  3747. Grip = RArm:WaitForChild("RightGrip")
  3748.  
  3749. local HandleCF = ArmBase.CFrame * ArmC0[2] * S.ArmC1_Aimed.Right:inverse() * CF(0, -1, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0)
  3750. local HandleOffset = AimPart.CFrame:toObjectSpace(Handle.CFrame)
  3751. Aimed_GripCF = (Head.CFrame * HandleOffset):toObjectSpace(HandleCF)
  3752.  
  3753. --------------------[ CONNECTIONS ]-------------------------------------------
  3754.  
  3755. INSERT(Connections, Humanoid.Died:connect(function()
  3756. OnUnequipped(true)
  3757. end))
  3758.  
  3759. INSERT(Connections, M2.Button1Down:connect(function()
  3760. MB1_Down = true
  3761. if S.GunType.Auto and (not S.GunType.Semi) and (not S.GunType.Burst) then
  3762. if (not CanFire) then return end
  3763. CanFire = false
  3764. if (not Running) and (not Knifing) and (not ThrowingGrenade) then
  3765. CurrentSpread = (
  3766. Aimed and S.Spread.Aimed or
  3767. ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
  3768. )
  3769. while MB1_Down and (not Reloading) do
  3770. if Knifing and (not ThrowingGrenade) then break end
  3771. if Running then break end
  3772. if Ammo.Value > 0 then
  3773. Ammo.Value = Ammo.Value - 1
  3774. if Humanoid.Health ~= 0 then
  3775. if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
  3776. Run_Key_Pressed = false
  3777. CurrentSteadyTime = 0
  3778. end
  3779. Fire_Gun()
  3780. end
  3781. end
  3782. if Ammo.Value == 0 and S.AutoReload then
  3783. wait(0.2)
  3784. Reload()
  3785. end
  3786. wait(60 / S.FireRate)
  3787. end
  3788. end
  3789. CanFire = true
  3790. elseif (not S.GunType.Auto) and S.GunType.Burst then
  3791. if (not CanFire) then return end
  3792. CanFire = false
  3793. if (not Running) and (not Knifing) and (not ThrowingGrenade) then
  3794. CurrentSpread = (
  3795. Aimed and S.Spread.Aimed or
  3796. ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
  3797. )
  3798. for i = 1, S.BurstAmount do
  3799. if Ammo.Value > 0 then
  3800. Ammo.Value = Ammo.Value - 1
  3801. if Humanoid.Health ~= 0 then
  3802. if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
  3803. Run_Key_Pressed = false
  3804. CurrentSteadyTime = 0
  3805. end
  3806. Fire_Gun()
  3807. end
  3808. end
  3809. if Ammo.Value == 0 and S.AutoReload then
  3810. wait(0.2)
  3811. Reload()
  3812. break
  3813. end
  3814. wait(S.BurstTime / S.BurstAmount)
  3815. end
  3816. end
  3817. wait(S.BurstWait)
  3818. CanFire = true
  3819. elseif (not S.GunType.Auto) and S.GunType.Semi then
  3820. if (not CanFire) then return end
  3821. CanFire = false
  3822. if (not Running) and (not Knifing) and (not ThrowingGrenade) then
  3823. CurrentSpread = (
  3824. Aimed and S.Spread.Aimed or
  3825. ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
  3826. )
  3827. if Ammo.Value > 0 then
  3828. Ammo.Value = Ammo.Value - 1
  3829. if Humanoid.Health ~= 0 then
  3830. if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
  3831. Run_Key_Pressed = false
  3832. CurrentSteadyTime = 0
  3833. end
  3834. Fire_Gun()
  3835. end
  3836. end
  3837. if Ammo.Value == 0 and S.AutoReload then
  3838. wait(0.2)
  3839. Reload()
  3840. end
  3841. wait(60 / S.FireRate)
  3842. end
  3843. CanFire = true
  3844. elseif (not S.GunType.Auto) and (not S.GunType.Semi) and (not S.GunType.Burst) and S.GunType.Shot then
  3845. if (not CanFire) then return end
  3846. CanFire = false
  3847. if (not Running) and (not Knifing) and (not ThrowingGrenade) then
  3848. CurrentSpread = (
  3849. Aimed and S.Spread.Aimed or
  3850. ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
  3851. )
  3852. if Ammo.Value > 0 then
  3853. Ammo.Value = Ammo.Value - 1
  3854. if Humanoid.Health ~= 0 then
  3855. if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
  3856. Run_Key_Pressed = false
  3857. CurrentSteadyTime = 0
  3858. end
  3859. Fire_Gun()
  3860. end
  3861. end
  3862. if Ammo.Value == 0 and S.AutoReload then
  3863. wait(0.2)
  3864. Reload()
  3865. end
  3866. wait(60 / S.FireRate)
  3867. end
  3868. CanFire = true
  3869. elseif (not S.GunType.Auto) and (not S.GunType.Semi) and S.GunType.Burst and (not S.GunType.Shot) then
  3870. if (not CanFire) then return end
  3871. CanFire = false
  3872. if (not Running) and (not Knifing) and (not ThrowingGrenade) then
  3873. CurrentSpread = (
  3874. Aimed and S.Spread.Aimed or
  3875. ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
  3876. )
  3877. for i = 1, S.BurstAmount do
  3878. if Ammo.Value > 0 then
  3879. Ammo.Value = Ammo.Value - 1
  3880. if Humanoid.Health ~= 0 then
  3881. if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
  3882. Run_Key_Pressed = false
  3883. CurrentSteadyTime = 0
  3884. end
  3885. Fire_Gun()
  3886. end
  3887. end
  3888. if Ammo.Value == 0 and S.AutoReload then
  3889. wait(0.2)
  3890. Reload()
  3891. break
  3892. end
  3893. wait(S.BurstTime / S.BurstAmount)
  3894. end
  3895. end
  3896. wait(S.BurstWait)
  3897. CanFire = true
  3898. elseif (not S.GunType.Auto) and (not S.GunType.Burst) and (not S.GunType.Shot) and S.GunType.Explosive then
  3899. if (not CanFire) then return end
  3900. CanFire = false
  3901. if (not Running) and (not Knifing) and (not ThrowingGrenade) then
  3902. CurrentSpread = (
  3903. Aimed and S.Spread.Aimed or
  3904. ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
  3905. )
  3906. if Ammo.Value > 0 then
  3907. Ammo.Value = Ammo.Value - 1
  3908. if Humanoid.Health ~= 0 then
  3909. if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
  3910. Run_Key_Pressed = false
  3911. CurrentSteadyTime = 0
  3912. end
  3913. Fire_Gun()
  3914. end
  3915. end
  3916. if Ammo.Value == 0 and S.AutoReload then
  3917. wait(0.2)
  3918. Reload()
  3919. end
  3920. wait(60 / S.FireRate)
  3921. end
  3922. CanFire = true
  3923. end
  3924. end))
  3925.  
  3926. INSERT(Connections, M2.Button1Up:connect(function()
  3927. MB1_Down = false
  3928. CurrentSpread = (
  3929. Aimed and S.Spread.Aimed or
  3930. ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
  3931. )
  3932. end))
  3933.  
  3934. INSERT(Connections, M2.Button2Down:connect(function()
  3935. if S.HoldMouseOrKeyToADS then
  3936. if (not AimingIn) and (not Aimed) then
  3937. AimingIn = true
  3938. AimGun()
  3939. AimingIn = false
  3940. end
  3941. else
  3942. if Aimed then
  3943. UnAimGun()
  3944. else
  3945. AimGun()
  3946. end
  3947. end
  3948. end))
  3949.  
  3950. INSERT(Connections, M2.Button2Up:connect(function()
  3951. if S.HoldMouseOrKeyToADS then
  3952. if (not AimingOut) and Aimed then
  3953. AimingOut = true
  3954. UnAimGun()
  3955. AimingOut = false
  3956. end
  3957. end
  3958. end))
  3959.  
  3960. INSERT(Connections, M2.KeyDown:connect(KeyDown))
  3961.  
  3962. INSERT(Connections, M2.KeyUp:connect(KeyUp))
  3963.  
  3964. INSERT(Connections, RS:connect(function()
  3965. local CrossHair = Gui_Clone:WaitForChild("CrossHair")
  3966. local HitMarker = Gui_Clone:WaitForChild("HitMarker")
  3967. local HUD = Gui_Clone:WaitForChild("HUD")
  3968.  
  3969. CrossHair.Position = UDim2.new(0, M2.X, 0, M2.Y)
  3970. HitMarker.Position = UDim2.new(0, M2.X - 13, 0, M2.Y - 13)
  3971.  
  3972. local Clip_Ammo_L = HUD:WaitForChild("Ammo"):WaitForChild("Clip")
  3973. local Stored_Ammo_L = HUD:WaitForChild("Ammo"):WaitForChild("Stored")
  3974. Clip_Ammo_L.Text = Ammo.Value
  3975. Clip_Ammo_L.TextColor3 = (Ammo.Value <= (ClipSize.Value / 3) and Color3.new(1, 0, 0) or Color3.new(1, 1, 1))
  3976. Stored_Ammo_L.Text = StoredAmmo.Value
  3977. Stored_Ammo_L.TextColor3 = (StoredAmmo.Value <= (ClipSize.Value * 2) and Color3.new(1, 0, 0) or Color3.new(1, 1, 1))
  3978.  
  3979. local Lethal_Grenade_Num_L = HUD:WaitForChild("Grenades"):WaitForChild("Lethals"):WaitForChild("Num")
  3980. Lethal_Grenade_Num_L.Text = LethalGrenades.Value
  3981. Lethal_Grenade_Num_L.TextColor3 = (LethalGrenades.Value < 3 and Color3.new(1, 0, 0) or Color3.new(1, 1, 1))
  3982.  
  3983. local Tactical_Grenade_Num_L = HUD:WaitForChild("Grenades"):WaitForChild("Tacticals"):WaitForChild("Num")
  3984. Tactical_Grenade_Num_L.Text = TacticalGrenades.Value
  3985. Tactical_Grenade_Num_L.TextColor3 = (TacticalGrenades.Value < 3 and Color3.new(1, 0, 0) or Color3.new(1, 1, 1))
  3986.  
  3987. local Mode = HUD:WaitForChild("Mode"):WaitForChild("Main")
  3988. if S.GunType.Auto
  3989. and (not S.GunType.Semi)
  3990. and (not S.GunType.Burst)
  3991. and (not S.GunType.Explosive) then
  3992.  
  3993. Mode.Text = "Auto"
  3994.  
  3995. elseif (not S.GunType.Auto)
  3996. and S.GunType.Burst
  3997. and (not S.GunType.Explosive) then
  3998.  
  3999. Mode.Text = "Burst"
  4000.  
  4001. elseif (not S.GunType.Auto)
  4002. and S.GunType.Semi
  4003. and (not S.GunType.Explosive) then
  4004.  
  4005. Mode.Text = "Semi"
  4006.  
  4007. elseif (not S.GunType.Auto)
  4008. and (not S.GunType.Semi)
  4009. and (not S.GunType.Burst)
  4010. and S.GunType.Shot
  4011. and (not S.GunType.Explosive) then
  4012.  
  4013. Mode.Text = "Shotgun"
  4014.  
  4015. elseif (not S.GunType.Auto)
  4016. and (not S.GunType.Semi)
  4017. and S.GunType.Burst
  4018. and (not S.GunType.Shot)
  4019. and (not S.GunType.Explosive) then
  4020.  
  4021. Mode.Text = "Burst"
  4022.  
  4023. elseif S.GunType.Explosive then
  4024.  
  4025. Mode.Text = "Explosive"
  4026.  
  4027. end
  4028.  
  4029. if tick() - LastBeat > (Humanoid.Health / 75) then
  4030. LastBeat = tick()
  4031. HUD.Health.Tray.Beat:TweenPosition(
  4032. UDim2.new(0, -21, 0, 0),
  4033. Enum.EasingDirection.Out,
  4034. Enum.EasingStyle.Linear,
  4035. 0.7 - ((100 - Humanoid.Health) / 400),
  4036. false,
  4037. function()
  4038. HUD.Health.Tray.Beat.Position = UDim2.new(1, 0, 0, 0)
  4039. end
  4040. )
  4041. end
  4042.  
  4043. HUD.Health.Num.Text = CEIL(Humanoid.Health).."%"
  4044. HUD.Health.Num.TextColor3 = (
  4045. (Humanoid.Health > 200 / 3) and Color3.new(1, 1, 1) or
  4046. (Humanoid.Health <= 200 / 3 and Humanoid.Health > 100 / 3) and Color3.new(1, 1, 0) or
  4047. (Humanoid.Health <= 100 / 3) and Color3.new(1, 0, 0)
  4048. )
  4049. end))
  4050.  
  4051. INSERT(Connections, RS:connect(function()
  4052. local MDir = M2.UnitRay.Direction.unit
  4053.  
  4054. local HRPCF = HRP.CFrame * CF(0, 1.5, 0) * CF(Humanoid.CameraOffset)
  4055. Neck.C0 = Torso.CFrame:toObjectSpace(HRPCF)
  4056.  
  4057. if MDir.y == MDir.y then
  4058. HeadRot = -math.asin(MDir.y)
  4059. Neck.C1 = CFANG(HeadRot,0,0)
  4060.  
  4061. local RotTarget = VEC3(MDir.x,0,MDir.z)
  4062. local Rotation = CF(Torso.Position,Torso.Position + RotTarget)
  4063. BG.cframe = Rotation
  4064.  
  4065. local MouseX = FLOOR((M2.X - M2.ViewSizeX / 2) + 0.5)
  4066. local MouseY = FLOOR((M2.Y - M2.ViewSizeY / 2) + 0.5)
  4067. local AppliedMaxTorque = nil
  4068. if (Camera.CoordinateFrame.p - Head.Position).magnitude < 0.6 then
  4069. if (MouseX >= 50 or MouseX <= -50)
  4070. or (MouseY >= 50 or MouseY <= -50) then
  4071. AppliedMaxTorque = VEC3()
  4072. else
  4073. AppliedMaxTorque = VEC3(HUGE,HUGE,HUGE)
  4074. end
  4075. else
  4076. AppliedMaxTorque = VEC3(HUGE,HUGE,HUGE)
  4077. end
  4078. if (not S.RotateWhileSitting) and Humanoid.Sit then
  4079. AppliedMaxTorque = VEC3()
  4080. end
  4081. BG.maxTorque = AppliedMaxTorque
  4082. end
  4083. end))
  4084.  
  4085. INSERT(Connections, RS:connect(function()
  4086. local Forward = (Keys["w"] or Keys[string.char(17)])
  4087. local Backward = (Keys["s"] or Keys[string.char(18)])
  4088. local Right = (Keys["d"] or Keys[string.char(19)])
  4089. local Left = (Keys["a"] or Keys[string.char(20)])
  4090.  
  4091. local WalkingForward = (Forward and (not Backward))
  4092. local WalkingBackward = ((not Forward) and Backward)
  4093. local WalkingRight = (Right and (not Left))
  4094. local WalkingLeft = ((not Right) and Left)
  4095.  
  4096. ArmTilt = (
  4097. ((WalkingForward or WalkingBackward) and WalkingRight) and 5 or
  4098. ((WalkingForward or WalkingBackward) and WalkingLeft) and -5 or
  4099. ((not (WalkingForward and WalkingBackward)) and WalkingRight) and 10 or
  4100. ((not (WalkingForward and WalkingBackward)) and WalkingLeft) and -10 or 0
  4101. )
  4102. end))
  4103.  
  4104. INSERT(Connections, RS:connect(function()
  4105. if (not Idleing) and Walking then
  4106. if Running then
  4107. Humanoid.WalkSpeed = S.SprintSpeed
  4108. else
  4109. local SpeedRatio = (S.AimedWalkSpeed / S.BaseWalkSpeed)
  4110. if Stance == 0 then
  4111. Humanoid.WalkSpeed = (Aimed and S.AimedWalkSpeed or S.BaseWalkSpeed)
  4112. elseif Stance == 1 then
  4113. Humanoid.WalkSpeed = (Aimed and S.CrouchWalkSpeed * SpeedRatio or S.CrouchWalkSpeed)
  4114. elseif Stance == 2 then
  4115. Humanoid.WalkSpeed = (Aimed and S.ProneWalkSpeed * SpeedRatio or S.ProneWalkSpeed)
  4116. end
  4117. end
  4118. else
  4119. Humanoid.WalkSpeed = 16
  4120. end
  4121.  
  4122. StanceSway = 1 - (0.25 * Stance)
  4123. end))
  4124.  
  4125. --------------------[ ANIMATE GUN ]-------------------------------------------
  4126.  
  4127. Animate()
  4128. end
  4129. end
  4130.  
  4131.  
  4132. function OnUnequipped(DeleteTool)
  4133. if Selected then
  4134. Selected = false
  4135.  
  4136. BreakReload = true
  4137.  
  4138. --------------------[ MODIFYING THE PLAYER ]----------------------------------
  4139.  
  4140. Camera.FieldOfView = 70
  4141.  
  4142. game:GetService("UserInputService").MouseIconEnabled = true
  4143.  
  4144. Gui_Clone:Destroy()
  4145. BG:Destroy()
  4146.  
  4147. RArm.Transparency = 0
  4148. LArm.Transparency = 0
  4149.  
  4150. Shoulders.Right.Part1 = RArm
  4151. Shoulders.Left.Part1 = LArm
  4152.  
  4153. Neck.C0 = PrevNeckCF.C0
  4154. Neck.C1 = PrevNeckCF.C1
  4155.  
  4156. Humanoid.WalkSpeed = 16
  4157.  
  4158. --------------------[ RESETING THE TOOL ]-------------------------------------
  4159.  
  4160. Gun_Ignore:Destroy()
  4161.  
  4162. Aimed = false
  4163.  
  4164. for _, Tab in pairs(Parts) do
  4165. Tab.Weld:Destroy()
  4166. Tab.Weld = nil
  4167. end
  4168.  
  4169. for _,c in pairs(Connections) do
  4170. c:disconnect()
  4171. end
  4172.  
  4173. Connections = {}
  4174.  
  4175. if DeleteTool then
  4176. Camera:ClearAllChildren()
  4177. Gun:Destroy()
  4178. end
  4179.  
  4180. if S.StandOnDeselect and Stance ~= 0 then Stand(true) end
  4181. end
  4182. end
  4183.  
  4184. Gun.Equipped:connect(OnEquipped)
  4185. Gun.Unequipped:connect(function() OnUnequipped(false) end)
  4186.  
  4187. --------------------------------------------------------------------------------------
  4188. --------------------[ END PROGRAM ]---------------------------------------------------
  4189. --------------------------------------------------------------------------------------
  4190. end))
  4191. IntValue18.Name = "Ignore_Code"
  4192. IntValue18.Parent = LocalScript17
  4193. ScreenGui19.Name = "Main_Gui"
  4194. ScreenGui19.Parent = LocalScript17
  4195. ImageLabel20.Name = "HitMarker"
  4196. ImageLabel20.Parent = ScreenGui19
  4197. ImageLabel20.Transparency = 1
  4198. ImageLabel20.Size = UDim2.new(0, 26, 0, 26)
  4199. ImageLabel20.Position = UDim2.new(0.5, -13, 0.5, -13)
  4200. ImageLabel20.Visible = false
  4201. ImageLabel20.BackgroundTransparency = 1
  4202. ImageLabel20.ZIndex = 10
  4203. ImageLabel20.Image = "http://www.roblox.com/asset/?id=121173757"
  4204. Frame21.Name = "CrossHair"
  4205. Frame21.Parent = ScreenGui19
  4206. Frame21.Position = UDim2.new(0.5, 0, 0.5, 0)
  4207. Frame21.BackgroundColor3 = Color3.new(1, 1, 1)
  4208. Frame21.BorderColor3 = Color3.new(0, 0, 0)
  4209. Frame21.BorderSizePixel = 0
  4210. ImageLabel22.Parent = Frame21
  4211. ImageLabel22.Transparency = 1
  4212. ImageLabel22.Size = UDim2.new(0, 300, 0, 300)
  4213. ImageLabel22.Position = UDim2.new(0, -150, 0, -150)
  4214. ImageLabel22.Visible = false
  4215. ImageLabel22.BackgroundColor3 = Color3.new(1, 1, 1)
  4216. ImageLabel22.BackgroundTransparency = 1
  4217. ImageLabel22.ZIndex = 2
  4218. ImageLabel22.Image = "http://www.roblox.com/asset/?id=68308747"
  4219. Frame23.Name = "Box"
  4220. Frame23.Parent = Frame21
  4221. Frame23.Transparency = 1
  4222. Frame23.Size = UDim2.new(0, 70, 0, 70)
  4223. Frame23.Position = UDim2.new(0, -35, 0, -35)
  4224. Frame23.BackgroundColor3 = Color3.new(1, 1, 1)
  4225. Frame23.BackgroundTransparency = 1
  4226. Frame23.ClipsDescendants = true
  4227. TextLabel24.Name = "Line"
  4228. TextLabel24.Parent = Frame23
  4229. TextLabel24.Size = UDim2.new(0, 2, 0, 25)
  4230. TextLabel24.Text = ""
  4231. TextLabel24.Position = UDim2.new(0.5, -1, 1, -25)
  4232. TextLabel24.BackgroundColor3 = Color3.new(1, 1, 1)
  4233. TextLabel24.BorderColor3 = Color3.new(0, 0, 0)
  4234. TextLabel24.BorderSizePixel = 0
  4235. TextLabel24.Font = Enum.Font.SourceSans
  4236. TextLabel24.FontSize = Enum.FontSize.Size14
  4237. TextLabel25.Name = "Line"
  4238. TextLabel25.Parent = Frame23
  4239. TextLabel25.Size = UDim2.new(0, 2, 0, 25)
  4240. TextLabel25.Text = ""
  4241. TextLabel25.Position = UDim2.new(0.5, -1, 0, 0)
  4242. TextLabel25.BackgroundColor3 = Color3.new(1, 1, 1)
  4243. TextLabel25.BorderColor3 = Color3.new(0, 0, 0)
  4244. TextLabel25.BorderSizePixel = 0
  4245. TextLabel25.Font = Enum.Font.SourceSans
  4246. TextLabel25.FontSize = Enum.FontSize.Size14
  4247. TextLabel26.Name = "Line"
  4248. TextLabel26.Parent = Frame23
  4249. TextLabel26.Size = UDim2.new(0, 25, 0, 2)
  4250. TextLabel26.Text = ""
  4251. TextLabel26.Position = UDim2.new(1, -25, 0.5, -1)
  4252. TextLabel26.BackgroundColor3 = Color3.new(1, 1, 1)
  4253. TextLabel26.BorderColor3 = Color3.new(0, 0, 0)
  4254. TextLabel26.BorderSizePixel = 0
  4255. TextLabel26.Font = Enum.Font.SourceSans
  4256. TextLabel26.FontSize = Enum.FontSize.Size14
  4257. TextLabel27.Name = "Line"
  4258. TextLabel27.Parent = Frame23
  4259. TextLabel27.Size = UDim2.new(0, 25, 0, 2)
  4260. TextLabel27.Text = ""
  4261. TextLabel27.Position = UDim2.new(0, 0, 0.5, -1)
  4262. TextLabel27.BackgroundColor3 = Color3.new(1, 1, 1)
  4263. TextLabel27.BorderColor3 = Color3.new(0, 0, 0)
  4264. TextLabel27.BorderSizePixel = 0
  4265. TextLabel27.Font = Enum.Font.SourceSans
  4266. TextLabel27.FontSize = Enum.FontSize.Size14
  4267. TextLabel28.Name = "Reload"
  4268. TextLabel28.Parent = Frame21
  4269. TextLabel28.Transparency = 1
  4270. TextLabel28.Size = UDim2.new(0, 100, 0, 20)
  4271. TextLabel28.Text = "Reloading..."
  4272. TextLabel28.Position = UDim2.new(0, -50, 0, 70)
  4273. TextLabel28.Visible = false
  4274. TextLabel28.BackgroundColor3 = Color3.new(1, 1, 1)
  4275. TextLabel28.BackgroundTransparency = 1
  4276. TextLabel28.ZIndex = 2
  4277. TextLabel28.Font = Enum.Font.ArialBold
  4278. TextLabel28.FontSize = Enum.FontSize.Size18
  4279. TextLabel28.TextColor3 = Color3.new(1, 1, 1)
  4280. TextLabel28.TextStrokeTransparency = 0.5
  4281. Frame29.Name = "HUD"
  4282. Frame29.Parent = ScreenGui19
  4283. Frame29.Transparency = 0.30000001192093
  4284. Frame29.Size = UDim2.new(0, 175, 0, 75)
  4285. Frame29.Position = UDim2.new(1, -200, 1, -125)
  4286. Frame29.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
  4287. Frame29.BackgroundTransparency = 0.30000001192093
  4288. Frame29.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
  4289. Frame29.BorderSizePixel = 5
  4290. Frame30.Name = "Ammo"
  4291. Frame30.Parent = Frame29
  4292. Frame30.Transparency = 1
  4293. Frame30.Size = UDim2.new(0, 175, 0, 50)
  4294. Frame30.BackgroundTransparency = 1
  4295. TextLabel31.Name = "Slash"
  4296. TextLabel31.Parent = Frame30
  4297. TextLabel31.Transparency = 1
  4298. TextLabel31.Size = UDim2.new(0, 10, 0, 30)
  4299. TextLabel31.Text = "/"
  4300. TextLabel31.Position = UDim2.new(0, 95, 0, 0)
  4301. TextLabel31.BackgroundTransparency = 1
  4302. TextLabel31.ZIndex = 10
  4303. TextLabel31.Font = Enum.Font.ArialBold
  4304. TextLabel31.FontSize = Enum.FontSize.Size36
  4305. TextLabel31.TextColor3 = Color3.new(1, 1, 1)
  4306. TextLabel32.Name = "Stored"
  4307. TextLabel32.Parent = Frame30
  4308. TextLabel32.Transparency = 1
  4309. TextLabel32.Size = UDim2.new(0, 55, 0, 30)
  4310. TextLabel32.Text = "124"
  4311. TextLabel32.Position = UDim2.new(0, 115, 0, 0)
  4312. TextLabel32.BackgroundTransparency = 1
  4313. TextLabel32.ZIndex = 10
  4314. TextLabel32.Font = Enum.Font.Arial
  4315. TextLabel32.FontSize = Enum.FontSize.Size36
  4316. TextLabel32.TextColor3 = Color3.new(1, 1, 1)
  4317. TextLabel32.TextXAlignment = Enum.TextXAlignment.Left
  4318. TextLabel33.Name = "Background"
  4319. TextLabel33.Parent = TextLabel32
  4320. TextLabel33.Transparency = 1
  4321. TextLabel33.Size = UDim2.new(1, 0, 1, 0)
  4322. TextLabel33.Text = "000"
  4323. TextLabel33.BackgroundTransparency = 1
  4324. TextLabel33.ZIndex = 10
  4325. TextLabel33.Font = Enum.Font.Arial
  4326. TextLabel33.FontSize = Enum.FontSize.Size36
  4327. TextLabel33.TextColor3 = Color3.new(0.588235, 0.588235, 0.588235)
  4328. TextLabel33.TextTransparency = 0.80000001192093
  4329. TextLabel33.TextWrapped = true
  4330. TextLabel33.TextXAlignment = Enum.TextXAlignment.Left
  4331. TextLabel34.Name = "Clip"
  4332. TextLabel34.Parent = Frame30
  4333. TextLabel34.Transparency = 1
  4334. TextLabel34.Size = UDim2.new(0, 85, 0, 50)
  4335. TextLabel34.Text = "100"
  4336. TextLabel34.BackgroundTransparency = 1
  4337. TextLabel34.ZIndex = 10
  4338. TextLabel34.FontSize = Enum.FontSize.Size36
  4339. TextLabel34.TextColor3 = Color3.new(1, 1, 1)
  4340. TextLabel34.TextXAlignment = Enum.TextXAlignment.Right
  4341. TextLabel35.Name = "Background"
  4342. TextLabel35.Parent = TextLabel34
  4343. TextLabel35.Transparency = 1
  4344. TextLabel35.Size = UDim2.new(1, 0, 1, 0)
  4345. TextLabel35.Text = "000"
  4346. TextLabel35.BackgroundTransparency = 1
  4347. TextLabel35.ZIndex = 10
  4348. TextLabel35.FontSize = Enum.FontSize.Size36
  4349. TextLabel35.TextColor3 = Color3.new(0.588235, 0.588235, 0.588235)
  4350. TextLabel35.TextTransparency = 0.80000001192093
  4351. TextLabel35.TextXAlignment = Enum.TextXAlignment.Right
  4352. Frame36.Name = "Mode"
  4353. Frame36.Parent = Frame29
  4354. Frame36.Transparency = 1
  4355. Frame36.Size = UDim2.new(0, 80, 0, 20)
  4356. Frame36.Position = UDim2.new(0, 95, 0, 27)
  4357. Frame36.BackgroundColor3 = Color3.new(1, 1, 1)
  4358. Frame36.BackgroundTransparency = 1
  4359. TextLabel37.Name = "Bracket"
  4360. TextLabel37.Parent = Frame36
  4361. TextLabel37.Transparency = 1
  4362. TextLabel37.Size = UDim2.new(0, 5, 0, 20)
  4363. TextLabel37.Text = "["
  4364. TextLabel37.BackgroundTransparency = 1
  4365. TextLabel37.ZIndex = 10
  4366. TextLabel37.Font = Enum.Font.ArialBold
  4367. TextLabel37.FontSize = Enum.FontSize.Size18
  4368. TextLabel37.TextColor3 = Color3.new(1, 1, 1)
  4369. TextLabel37.TextWrapped = true
  4370. TextLabel37.TextXAlignment = Enum.TextXAlignment.Left
  4371. TextLabel38.Name = "Bracket"
  4372. TextLabel38.Parent = Frame36
  4373. TextLabel38.Transparency = 1
  4374. TextLabel38.Size = UDim2.new(0, 5, 0, 20)
  4375. TextLabel38.Text = "]"
  4376. TextLabel38.Position = UDim2.new(1, -5, 0, 0)
  4377. TextLabel38.BackgroundTransparency = 1
  4378. TextLabel38.ZIndex = 10
  4379. TextLabel38.Font = Enum.Font.ArialBold
  4380. TextLabel38.FontSize = Enum.FontSize.Size18
  4381. TextLabel38.TextColor3 = Color3.new(1, 1, 1)
  4382. TextLabel38.TextWrapped = true
  4383. TextLabel38.TextXAlignment = Enum.TextXAlignment.Left
  4384. TextLabel39.Name = "Main"
  4385. TextLabel39.Parent = Frame36
  4386. TextLabel39.Transparency = 1
  4387. TextLabel39.Size = UDim2.new(1, 0, 0, 20)
  4388. TextLabel39.Text = "Auto"
  4389. TextLabel39.BackgroundTransparency = 1
  4390. TextLabel39.ZIndex = 10
  4391. TextLabel39.Font = Enum.Font.SourceSansBold
  4392. TextLabel39.FontSize = Enum.FontSize.Size18
  4393. TextLabel39.TextColor3 = Color3.new(1, 1, 1)
  4394. TextLabel39.TextWrapped = true
  4395. Frame40.Name = "Health"
  4396. Frame40.Parent = Frame29
  4397. Frame40.Transparency = 0.30000001192093
  4398. Frame40.Size = UDim2.new(1, 0, 0, 25)
  4399. Frame40.Position = UDim2.new(0, 0, 0, -40)
  4400. Frame40.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
  4401. Frame40.BackgroundTransparency = 0.30000001192093
  4402. Frame40.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
  4403. Frame40.BorderSizePixel = 5
  4404. TextLabel41.Name = "Num"
  4405. TextLabel41.Parent = Frame40
  4406. TextLabel41.Transparency = 1
  4407. TextLabel41.Size = UDim2.new(0, 50, 1, 0)
  4408. TextLabel41.Text = "100%"
  4409. TextLabel41.Position = UDim2.new(1, -50, 0, 0)
  4410. TextLabel41.BackgroundColor3 = Color3.new(0, 0, 0)
  4411. TextLabel41.BackgroundTransparency = 1
  4412. TextLabel41.BorderColor3 = Color3.new(0, 0, 0)
  4413. TextLabel41.BorderSizePixel = 0
  4414. TextLabel41.ZIndex = 10
  4415. TextLabel41.Font = Enum.Font.ArialBold
  4416. TextLabel41.FontSize = Enum.FontSize.Size24
  4417. TextLabel41.TextColor3 = Color3.new(1, 1, 1)
  4418. TextLabel41.TextXAlignment = Enum.TextXAlignment.Right
  4419. Frame42.Name = "Tray"
  4420. Frame42.Parent = Frame40
  4421. Frame42.Transparency = 1
  4422. Frame42.Size = UDim2.new(1, -60, 0, 20)
  4423. Frame42.Position = UDim2.new(0, 2, 0.5, -10)
  4424. Frame42.BackgroundColor3 = Color3.new(0, 0, 0)
  4425. Frame42.BackgroundTransparency = 1
  4426. Frame42.BorderColor3 = Color3.new(0, 0, 0)
  4427. Frame42.BorderSizePixel = 0
  4428. Frame42.ZIndex = 10
  4429. Frame42.ClipsDescendants = true
  4430. Frame43.Name = "Beat"
  4431. Frame43.Parent = Frame42
  4432. Frame43.Transparency = 1
  4433. Frame43.Size = UDim2.new(0, 21, 1, 0)
  4434. Frame43.Position = UDim2.new(1, 0, 0, 0)
  4435. Frame43.BackgroundColor3 = Color3.new(0, 0, 0)
  4436. Frame43.BackgroundTransparency = 1
  4437. Frame43.BorderColor3 = Color3.new(0, 0, 0)
  4438. Frame43.BorderSizePixel = 0
  4439. Frame43.ZIndex = 10
  4440. Frame44.Name = "00"
  4441. Frame44.Parent = Frame43
  4442. Frame44.Size = UDim2.new(0.0476190485, 0, 0, 3)
  4443. Frame44.Position = UDim2.new(0, 0, 0.5, -2)
  4444. Frame44.BackgroundColor3 = Color3.new(1, 1, 1)
  4445. Frame44.BorderColor3 = Color3.new(0, 0, 0)
  4446. Frame44.BorderSizePixel = 0
  4447. Frame44.ZIndex = 10
  4448. Frame45.Name = "01"
  4449. Frame45.Parent = Frame43
  4450. Frame45.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4451. Frame45.Position = UDim2.new(0.0476190485, 0, 0.423076928, -2)
  4452. Frame45.BackgroundColor3 = Color3.new(1, 1, 1)
  4453. Frame45.BorderColor3 = Color3.new(0, 0, 0)
  4454. Frame45.BorderSizePixel = 0
  4455. Frame45.ZIndex = 10
  4456. Frame46.Name = "02"
  4457. Frame46.Parent = Frame43
  4458. Frame46.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4459. Frame46.Position = UDim2.new(0.095238097, 0, 0.346153855, -2)
  4460. Frame46.BackgroundColor3 = Color3.new(1, 1, 1)
  4461. Frame46.BorderColor3 = Color3.new(0, 0, 0)
  4462. Frame46.BorderSizePixel = 0
  4463. Frame46.ZIndex = 10
  4464. Frame47.Name = "03"
  4465. Frame47.Parent = Frame43
  4466. Frame47.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4467. Frame47.Position = UDim2.new(0.142857149, 0, 0.269230783, -2)
  4468. Frame47.BackgroundColor3 = Color3.new(1, 1, 1)
  4469. Frame47.BorderColor3 = Color3.new(0, 0, 0)
  4470. Frame47.BorderSizePixel = 0
  4471. Frame47.ZIndex = 10
  4472. Frame48.Name = "04"
  4473. Frame48.Parent = Frame43
  4474. Frame48.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4475. Frame48.Position = UDim2.new(0.190476194, 0, 0.192307696, -2)
  4476. Frame48.BackgroundColor3 = Color3.new(1, 1, 1)
  4477. Frame48.BorderColor3 = Color3.new(0, 0, 0)
  4478. Frame48.BorderSizePixel = 0
  4479. Frame48.ZIndex = 10
  4480. Frame49.Name = "05"
  4481. Frame49.Parent = Frame43
  4482. Frame49.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4483. Frame49.Position = UDim2.new(0.238095239, 0, 0.115384616, -2)
  4484. Frame49.BackgroundColor3 = Color3.new(1, 1, 1)
  4485. Frame49.BorderColor3 = Color3.new(0, 0, 0)
  4486. Frame49.BorderSizePixel = 0
  4487. Frame49.ZIndex = 10
  4488. Frame50.Name = "06"
  4489. Frame50.Parent = Frame43
  4490. Frame50.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4491. Frame50.Position = UDim2.new(0.285714298, 0, 0.0384615399, -2)
  4492. Frame50.BackgroundColor3 = Color3.new(1, 1, 1)
  4493. Frame50.BorderColor3 = Color3.new(0, 0, 0)
  4494. Frame50.BorderSizePixel = 0
  4495. Frame50.ZIndex = 10
  4496. Frame51.Name = "07"
  4497. Frame51.Parent = Frame43
  4498. Frame51.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4499. Frame51.Position = UDim2.new(0.333333343, 0, 0, -2)
  4500. Frame51.BackgroundColor3 = Color3.new(1, 1, 1)
  4501. Frame51.BorderColor3 = Color3.new(0, 0, 0)
  4502. Frame51.BorderSizePixel = 0
  4503. Frame51.ZIndex = 10
  4504. Frame52.Name = "08"
  4505. Frame52.Parent = Frame43
  4506. Frame52.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4507. Frame52.Position = UDim2.new(0.380952388, 0, 0.142857149, -2)
  4508. Frame52.BackgroundColor3 = Color3.new(1, 1, 1)
  4509. Frame52.BorderColor3 = Color3.new(0, 0, 0)
  4510. Frame52.BorderSizePixel = 0
  4511. Frame52.ZIndex = 10
  4512. Frame53.Name = "09"
  4513. Frame53.Parent = Frame43
  4514. Frame53.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4515. Frame53.Position = UDim2.new(0.428571433, 0, 0.285714298, -2)
  4516. Frame53.BackgroundColor3 = Color3.new(1, 1, 1)
  4517. Frame53.BorderColor3 = Color3.new(0, 0, 0)
  4518. Frame53.BorderSizePixel = 0
  4519. Frame53.ZIndex = 10
  4520. Frame54.Name = "10"
  4521. Frame54.Parent = Frame43
  4522. Frame54.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4523. Frame54.Position = UDim2.new(0.476190478, 0, 0.428571433, -2)
  4524. Frame54.BackgroundColor3 = Color3.new(1, 1, 1)
  4525. Frame54.BorderColor3 = Color3.new(0, 0, 0)
  4526. Frame54.BorderSizePixel = 0
  4527. Frame54.ZIndex = 10
  4528. Frame55.Name = "11"
  4529. Frame55.Parent = Frame43
  4530. Frame55.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4531. Frame55.Position = UDim2.new(0.523809552, 0, 0.571428597, -2)
  4532. Frame55.BackgroundColor3 = Color3.new(1, 1, 1)
  4533. Frame55.BorderColor3 = Color3.new(0, 0, 0)
  4534. Frame55.BorderSizePixel = 0
  4535. Frame55.ZIndex = 10
  4536. Frame56.Name = "12"
  4537. Frame56.Parent = Frame43
  4538. Frame56.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4539. Frame56.Position = UDim2.new(0.571428597, 0, 0.714285731, -2)
  4540. Frame56.BackgroundColor3 = Color3.new(1, 1, 1)
  4541. Frame56.BorderColor3 = Color3.new(0, 0, 0)
  4542. Frame56.BorderSizePixel = 0
  4543. Frame56.ZIndex = 10
  4544. Frame57.Name = "13"
  4545. Frame57.Parent = Frame43
  4546. Frame57.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4547. Frame57.Position = UDim2.new(0.619047642, 0, 0.857142866, -2)
  4548. Frame57.BackgroundColor3 = Color3.new(1, 1, 1)
  4549. Frame57.BorderColor3 = Color3.new(0, 0, 0)
  4550. Frame57.BorderSizePixel = 0
  4551. Frame57.ZIndex = 10
  4552. Frame58.Name = "14"
  4553. Frame58.Parent = Frame43
  4554. Frame58.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4555. Frame58.Position = UDim2.new(0.666666687, 0, 0.916666687, -2)
  4556. Frame58.BackgroundColor3 = Color3.new(1, 1, 1)
  4557. Frame58.BorderColor3 = Color3.new(0, 0, 0)
  4558. Frame58.BorderSizePixel = 0
  4559. Frame58.ZIndex = 10
  4560. Frame59.Name = "15"
  4561. Frame59.Parent = Frame43
  4562. Frame59.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4563. Frame59.Position = UDim2.new(0.714285731, 0, 0.833333313, -2)
  4564. Frame59.BackgroundColor3 = Color3.new(1, 1, 1)
  4565. Frame59.BorderColor3 = Color3.new(0, 0, 0)
  4566. Frame59.BorderSizePixel = 0
  4567. Frame59.ZIndex = 10
  4568. Frame60.Name = "16"
  4569. Frame60.Parent = Frame43
  4570. Frame60.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4571. Frame60.Position = UDim2.new(0.761904776, 0, 0.75, -2)
  4572. Frame60.BackgroundColor3 = Color3.new(1, 1, 1)
  4573. Frame60.BorderColor3 = Color3.new(0, 0, 0)
  4574. Frame60.BorderSizePixel = 0
  4575. Frame60.ZIndex = 10
  4576. Frame61.Name = "17"
  4577. Frame61.Parent = Frame43
  4578. Frame61.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4579. Frame61.Position = UDim2.new(0.809523821, 0, 0.666666687, -2)
  4580. Frame61.BackgroundColor3 = Color3.new(1, 1, 1)
  4581. Frame61.BorderColor3 = Color3.new(0, 0, 0)
  4582. Frame61.BorderSizePixel = 0
  4583. Frame61.ZIndex = 10
  4584. Frame62.Name = "18"
  4585. Frame62.Parent = Frame43
  4586. Frame62.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4587. Frame62.Position = UDim2.new(0.857142866, 0, 0.583333313, -2)
  4588. Frame62.BackgroundColor3 = Color3.new(1, 1, 1)
  4589. Frame62.BorderColor3 = Color3.new(0, 0, 0)
  4590. Frame62.BorderSizePixel = 0
  4591. Frame62.ZIndex = 10
  4592. Frame63.Name = "19"
  4593. Frame63.Parent = Frame43
  4594. Frame63.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4595. Frame63.Position = UDim2.new(0.90476191, 0, 0.5, -2)
  4596. Frame63.BackgroundColor3 = Color3.new(1, 1, 1)
  4597. Frame63.BorderColor3 = Color3.new(0, 0, 0)
  4598. Frame63.BorderSizePixel = 0
  4599. Frame63.ZIndex = 10
  4600. Frame64.Name = "20"
  4601. Frame64.Parent = Frame43
  4602. Frame64.Size = UDim2.new(0.0476190485, 0, 0, 4)
  4603. Frame64.Position = UDim2.new(0.952000022, 0, 0.49000001, -2)
  4604. Frame64.BackgroundColor3 = Color3.new(1, 1, 1)
  4605. Frame64.BorderColor3 = Color3.new(0, 0, 0)
  4606. Frame64.BorderSizePixel = 0
  4607. Frame64.ZIndex = 10
  4608. Frame65.Name = "Line"
  4609. Frame65.Parent = Frame43
  4610. Frame65.Size = UDim2.new(0, 200, 0, 3)
  4611. Frame65.Position = UDim2.new(1, 0, 0.5, -2)
  4612. Frame65.BackgroundColor3 = Color3.new(1, 1, 1)
  4613. Frame65.BorderColor3 = Color3.new(0, 0, 0)
  4614. Frame65.BorderSizePixel = 0
  4615. Frame65.ZIndex = 10
  4616. Frame66.Name = "Line"
  4617. Frame66.Parent = Frame43
  4618. Frame66.Size = UDim2.new(0, 200, 0, 3)
  4619. Frame66.Position = UDim2.new(0, -200, 0.5, -2)
  4620. Frame66.BackgroundColor3 = Color3.new(1, 1, 1)
  4621. Frame66.BorderColor3 = Color3.new(0, 0, 0)
  4622. Frame66.BorderSizePixel = 0
  4623. Frame66.ZIndex = 10
  4624. Frame67.Name = "Controls"
  4625. Frame67.Parent = Frame29
  4626. Frame67.Transparency = 0.30000001192093
  4627. Frame67.Size = UDim2.new(1, 0, 0, 120)
  4628. Frame67.Position = UDim2.new(0, 0, 0, -200)
  4629. Frame67.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
  4630. Frame67.BackgroundTransparency = 0.30000001192093
  4631. Frame67.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
  4632. Frame67.BorderSizePixel = 5
  4633. TextLabel68.Name = "Title"
  4634. TextLabel68.Parent = Frame67
  4635. TextLabel68.Transparency = 1
  4636. TextLabel68.Size = UDim2.new(1, 0, 0, 15)
  4637. TextLabel68.Text = "CONTROLS"
  4638. TextLabel68.BackgroundColor3 = Color3.new(1, 1, 1)
  4639. TextLabel68.BackgroundTransparency = 1
  4640. TextLabel68.Font = Enum.Font.SourceSansBold
  4641. TextLabel68.FontSize = Enum.FontSize.Size14
  4642. TextLabel68.TextColor3 = Color3.new(1, 1, 1)
  4643. TextLabel69.Name = "Line"
  4644. TextLabel69.Parent = TextLabel68
  4645. TextLabel69.Size = UDim2.new(1, 0, 0, 2)
  4646. TextLabel69.Text = ""
  4647. TextLabel69.Position = UDim2.new(0, 0, 1, 1)
  4648. TextLabel69.BackgroundColor3 = Color3.new(1, 1, 0)
  4649. TextLabel69.BorderSizePixel = 0
  4650. TextLabel69.Font = Enum.Font.SourceSans
  4651. TextLabel69.FontSize = Enum.FontSize.Size14
  4652. TextLabel70.Name = "Co"
  4653. TextLabel70.Parent = Frame29
  4654. TextLabel70.Transparency = 1
  4655. TextLabel70.Size = UDim2.new(1, 0, 0, 20)
  4656. TextLabel70.Text = "Gun Kit made by TurboFusion"
  4657. TextLabel70.Position = UDim2.new(0, 0, 1, 5)
  4658. TextLabel70.BackgroundColor3 = Color3.new(1, 1, 1)
  4659. TextLabel70.BackgroundTransparency = 1
  4660. TextLabel70.Font = Enum.Font.ArialBold
  4661. TextLabel70.FontSize = Enum.FontSize.Size14
  4662. TextLabel70.TextColor3 = Color3.new(1, 1, 0)
  4663. TextLabel70.TextStrokeTransparency = 0
  4664. TextLabel70.TextWrapped = true
  4665. TextLabel70.TextXAlignment = Enum.TextXAlignment.Right
  4666. TextLabel71.Name = "Version"
  4667. TextLabel71.Parent = Frame29
  4668. TextLabel71.Transparency = 1
  4669. TextLabel71.Size = UDim2.new(1, 0, 0, 15)
  4670. TextLabel71.Text = "v0.0.3"
  4671. TextLabel71.Position = UDim2.new(0, 0, 1, 25)
  4672. TextLabel71.BackgroundColor3 = Color3.new(1, 1, 1)
  4673. TextLabel71.BackgroundTransparency = 1
  4674. TextLabel71.Font = Enum.Font.ArialBold
  4675. TextLabel71.FontSize = Enum.FontSize.Size14
  4676. TextLabel71.TextColor3 = Color3.new(1, 1, 0)
  4677. TextLabel71.TextStrokeTransparency = 0
  4678. TextLabel71.TextWrapped = true
  4679. TextLabel71.TextXAlignment = Enum.TextXAlignment.Right
  4680. Frame72.Name = "Grenades"
  4681. Frame72.Parent = Frame29
  4682. Frame72.Transparency = 1
  4683. Frame72.Size = UDim2.new(0, 175, 0, 25)
  4684. Frame72.Position = UDim2.new(0, 0, 0, 50)
  4685. Frame72.BackgroundTransparency = 1
  4686. Frame73.Name = "Lethals"
  4687. Frame73.Parent = Frame72
  4688. Frame73.Transparency = 1
  4689. Frame73.Size = UDim2.new(0.5, -2, 1, 0)
  4690. Frame73.BackgroundColor3 = Color3.new(1, 1, 1)
  4691. Frame73.BackgroundTransparency = 1
  4692. Frame74.Name = "Lines"
  4693. Frame74.Parent = Frame73
  4694. Frame74.Transparency = 1
  4695. Frame74.Size = UDim2.new(1, 0, 1, 0)
  4696. Frame74.BackgroundColor3 = Color3.new(1, 1, 1)
  4697. Frame74.BackgroundTransparency = 1
  4698. TextLabel75.Name = "Line"
  4699. TextLabel75.Parent = Frame74
  4700. TextLabel75.Size = UDim2.new(1, 0, 0, 2)
  4701. TextLabel75.Text = ""
  4702. TextLabel75.BackgroundColor3 = Color3.new(1, 1, 1)
  4703. TextLabel75.BorderSizePixel = 0
  4704. TextLabel75.Font = Enum.Font.SourceSans
  4705. TextLabel75.FontSize = Enum.FontSize.Size14
  4706. TextLabel76.Name = "Line"
  4707. TextLabel76.Parent = Frame74
  4708. TextLabel76.Size = UDim2.new(1, 0, 0, 2)
  4709. TextLabel76.Text = ""
  4710. TextLabel76.Position = UDim2.new(0, 0, 1, -2)
  4711. TextLabel76.BackgroundColor3 = Color3.new(1, 1, 1)
  4712. TextLabel76.BorderSizePixel = 0
  4713. TextLabel76.Font = Enum.Font.SourceSans
  4714. TextLabel76.FontSize = Enum.FontSize.Size14
  4715. TextLabel77.Name = "Line"
  4716. TextLabel77.Parent = Frame74
  4717. TextLabel77.Size = UDim2.new(0, 2, 1, 0)
  4718. TextLabel77.Text = ""
  4719. TextLabel77.BackgroundColor3 = Color3.new(1, 1, 1)
  4720. TextLabel77.BorderSizePixel = 0
  4721. TextLabel77.Font = Enum.Font.SourceSans
  4722. TextLabel77.FontSize = Enum.FontSize.Size14
  4723. TextLabel78.Name = "Line"
  4724. TextLabel78.Parent = Frame74
  4725. TextLabel78.Size = UDim2.new(0, 2, 1, 0)
  4726. TextLabel78.Text = ""
  4727. TextLabel78.Position = UDim2.new(1, -2, 0, 0)
  4728. TextLabel78.BackgroundColor3 = Color3.new(1, 1, 1)
  4729. TextLabel78.BorderSizePixel = 0
  4730. TextLabel78.Font = Enum.Font.SourceSans
  4731. TextLabel78.FontSize = Enum.FontSize.Size14
  4732. ImageLabel79.Name = "Icon"
  4733. ImageLabel79.Parent = Frame73
  4734. ImageLabel79.Transparency = 1
  4735. ImageLabel79.Size = UDim2.new(0, 21, 0, 21)
  4736. ImageLabel79.Position = UDim2.new(0, 7, 0, 2)
  4737. ImageLabel79.BackgroundColor3 = Color3.new(1, 1, 1)
  4738. ImageLabel79.BackgroundTransparency = 1
  4739. TextLabel80.Name = "Dash"
  4740. TextLabel80.Parent = Frame73
  4741. TextLabel80.Size = UDim2.new(0, 16, 0, 2)
  4742. TextLabel80.Text = ""
  4743. TextLabel80.Position = UDim2.new(0.5, -8, 0.5, -1)
  4744. TextLabel80.BackgroundColor3 = Color3.new(1, 1, 1)
  4745. TextLabel80.BorderSizePixel = 0
  4746. TextLabel80.Font = Enum.Font.ArialBold
  4747. TextLabel80.FontSize = Enum.FontSize.Size18
  4748. TextLabel80.TextColor3 = Color3.new(1, 1, 1)
  4749. TextLabel81.Name = "Num"
  4750. TextLabel81.Parent = Frame73
  4751. TextLabel81.Transparency = 1
  4752. TextLabel81.Size = UDim2.new(0, 0, 1, 0)
  4753. TextLabel81.Text = "0"
  4754. TextLabel81.Position = UDim2.new(1, -7, 0, 0)
  4755. TextLabel81.BackgroundColor3 = Color3.new(1, 1, 1)
  4756. TextLabel81.BackgroundTransparency = 1
  4757. TextLabel81.Font = Enum.Font.ArialBold
  4758. TextLabel81.FontSize = Enum.FontSize.Size18
  4759. TextLabel81.TextColor3 = Color3.new(1, 1, 1)
  4760. TextLabel81.TextXAlignment = Enum.TextXAlignment.Right
  4761. Frame82.Name = "Tacticals"
  4762. Frame82.Parent = Frame72
  4763. Frame82.Transparency = 1
  4764. Frame82.Size = UDim2.new(0.5, -2, 1, 0)
  4765. Frame82.Position = UDim2.new(0.5, 2, 0, 0)
  4766. Frame82.BackgroundColor3 = Color3.new(1, 1, 1)
  4767. Frame82.BackgroundTransparency = 1
  4768. Frame83.Name = "Lines"
  4769. Frame83.Parent = Frame82
  4770. Frame83.Transparency = 1
  4771. Frame83.Size = UDim2.new(1, 0, 1, 0)
  4772. Frame83.BackgroundColor3 = Color3.new(1, 1, 1)
  4773. Frame83.BackgroundTransparency = 1
  4774. TextLabel84.Name = "Line"
  4775. TextLabel84.Parent = Frame83
  4776. TextLabel84.Size = UDim2.new(1, 0, 0, 2)
  4777. TextLabel84.Text = ""
  4778. TextLabel84.BackgroundColor3 = Color3.new(1, 1, 1)
  4779. TextLabel84.BorderSizePixel = 0
  4780. TextLabel84.Font = Enum.Font.SourceSans
  4781. TextLabel84.FontSize = Enum.FontSize.Size14
  4782. TextLabel85.Name = "Line"
  4783. TextLabel85.Parent = Frame83
  4784. TextLabel85.Size = UDim2.new(1, 0, 0, 2)
  4785. TextLabel85.Text = ""
  4786. TextLabel85.Position = UDim2.new(0, 0, 1, -2)
  4787. TextLabel85.BackgroundColor3 = Color3.new(1, 1, 1)
  4788. TextLabel85.BorderSizePixel = 0
  4789. TextLabel85.Font = Enum.Font.SourceSans
  4790. TextLabel85.FontSize = Enum.FontSize.Size14
  4791. TextLabel86.Name = "Line"
  4792. TextLabel86.Parent = Frame83
  4793. TextLabel86.Size = UDim2.new(0, 2, 1, 0)
  4794. TextLabel86.Text = ""
  4795. TextLabel86.BackgroundColor3 = Color3.new(1, 1, 1)
  4796. TextLabel86.BorderSizePixel = 0
  4797. TextLabel86.Font = Enum.Font.SourceSans
  4798. TextLabel86.FontSize = Enum.FontSize.Size14
  4799. TextLabel87.Name = "Line"
  4800. TextLabel87.Parent = Frame83
  4801. TextLabel87.Size = UDim2.new(0, 2, 1, 0)
  4802. TextLabel87.Text = ""
  4803. TextLabel87.Position = UDim2.new(1, -2, 0, 0)
  4804. TextLabel87.BackgroundColor3 = Color3.new(1, 1, 1)
  4805. TextLabel87.BorderSizePixel = 0
  4806. TextLabel87.Font = Enum.Font.SourceSans
  4807. TextLabel87.FontSize = Enum.FontSize.Size14
  4808. ImageLabel88.Name = "Icon"
  4809. ImageLabel88.Parent = Frame82
  4810. ImageLabel88.Transparency = 1
  4811. ImageLabel88.Size = UDim2.new(0, 21, 0, 21)
  4812. ImageLabel88.Position = UDim2.new(0, 7, 0, 2)
  4813. ImageLabel88.BackgroundColor3 = Color3.new(1, 1, 1)
  4814. ImageLabel88.BackgroundTransparency = 1
  4815. TextLabel89.Name = "Dash"
  4816. TextLabel89.Parent = Frame82
  4817. TextLabel89.Size = UDim2.new(0, 16, 0, 2)
  4818. TextLabel89.Text = ""
  4819. TextLabel89.Position = UDim2.new(0.5, -8, 0.5, -1)
  4820. TextLabel89.BackgroundColor3 = Color3.new(1, 1, 1)
  4821. TextLabel89.BorderSizePixel = 0
  4822. TextLabel89.Font = Enum.Font.ArialBold
  4823. TextLabel89.FontSize = Enum.FontSize.Size18
  4824. TextLabel89.TextColor3 = Color3.new(1, 1, 1)
  4825. TextLabel90.Name = "Num"
  4826. TextLabel90.Parent = Frame82
  4827. TextLabel90.Transparency = 1
  4828. TextLabel90.Size = UDim2.new(0, 0, 1, 0)
  4829. TextLabel90.Text = "0"
  4830. TextLabel90.Position = UDim2.new(1, -7, 0, 0)
  4831. TextLabel90.BackgroundColor3 = Color3.new(1, 1, 1)
  4832. TextLabel90.BackgroundTransparency = 1
  4833. TextLabel90.Font = Enum.Font.ArialBold
  4834. TextLabel90.FontSize = Enum.FontSize.Size18
  4835. TextLabel90.TextColor3 = Color3.new(1, 1, 1)
  4836. TextLabel90.TextXAlignment = Enum.TextXAlignment.Right
  4837. Frame91.Name = "Scope"
  4838. Frame91.Parent = ScreenGui19
  4839. Frame91.Transparency = 1
  4840. Frame91.Size = UDim2.new(1, 0, 1, 0)
  4841. Frame91.BackgroundColor3 = Color3.new(1, 1, 1)
  4842. Frame91.BackgroundTransparency = 1
  4843. ImageLabel92.Name = "Img"
  4844. ImageLabel92.Parent = Frame91
  4845. ImageLabel92.Transparency = 1
  4846. ImageLabel92.Size = UDim2.new(1, 0, 1, 0)
  4847. ImageLabel92.BackgroundColor3 = Color3.new(0, 0, 0)
  4848. ImageLabel92.BackgroundTransparency = 1
  4849. ImageLabel92.BorderSizePixel = 0
  4850. ImageLabel92.ImageTransparency = 1
  4851. TextLabel93.Name = "Steady"
  4852. TextLabel93.Parent = Frame91
  4853. TextLabel93.Transparency = 1
  4854. TextLabel93.Size = UDim2.new(0, 120, 0, 20)
  4855. TextLabel93.Text = ""
  4856. TextLabel93.Position = UDim2.new(0.5, -60, 0.5, 50)
  4857. TextLabel93.Visible = false
  4858. TextLabel93.BackgroundColor3 = Color3.new(1, 1, 1)
  4859. TextLabel93.BackgroundTransparency = 1
  4860. TextLabel93.ZIndex = 2
  4861. TextLabel93.Font = Enum.Font.ArialBold
  4862. TextLabel93.FontSize = Enum.FontSize.Size14
  4863. TextLabel93.TextColor3 = Color3.new(1, 1, 0)
  4864. TextLabel93.TextStrokeTransparency = 0
  4865. Script94.Name = "[[ README ]] (Don't Delete)"
  4866. Script94.Parent = Tool0
  4867. table.insert(cors,sandbox(Script94,function()
  4868. --[[
  4869.  
  4870. VERSION: v0.0.3
  4871.  
  4872. ----------[ UPDATES ]----------------------------------------------------
  4873.  
  4874. Pre-Release: -Added a copyright
  4875. -fixed the issue where you couldn't run when you selected the tool
  4876. -Added an ADS key and allowed ADS to either be toggle or hold
  4877. -Made the Ammo values external so they can be changed by outside scripts
  4878.  
  4879. v0.0.2: -Created new arms for the gun
  4880. -Fixed an issue where the arms would glitch if PlayerAnimations was set to false and the gun was fired
  4881. -Updated credit security
  4882. -Put the Arm cframes in the SETTINGS
  4883. -Made the stance changing animations slightly smoother
  4884. -Added bullet drop
  4885. -Fixed some bullet hit handling code
  4886. -Made the torso being able to rotate while sitting down a setting
  4887. -Added bullet settings
  4888. -Added shockwave settings
  4889. -Added an Explosive guntype
  4890. -Added a version label in the Gui
  4891.  
  4892. v0.0.3: -Added an option to have player arms
  4893. -Added grenades / throwables
  4894. -Fixed the issue where if a player left a server without deselecting the gun, the bullet trails still remained
  4895. -Added Gui Scopes
  4896. -Fixed the issue where the guns would glitch if you switched weapons too fast
  4897.  
  4898. -------------------------------------------------------------------------
  4899.  
  4900. Hello there!
  4901.  
  4902. Glad to know you're using my one and only Gun Kit!
  4903.  
  4904. Even though this kit has many features and is rather advanced, it's pretty easy to use
  4905.  
  4906. There are 4 things that this gun needs in order to function:
  4907. One brick called "AimPart"
  4908. At least one brick called "Mag"
  4909. One brick called "Handle"
  4910. One brick called "Main"
  4911.  
  4912. The AimPart is what the gun will use to aim down the sights. When you aim down your sights, this brick will be in the center
  4913. of the player's head. It basically allows the gun to have any type of sight, which can be placed anywhere on the gun. As long as
  4914. the AimPart is aligned with the sight, the gun will aim down the sights properly.
  4915. (NOTE: Make sure the AimPart is behind the Sight and the FRONT of the AimPart is facing the Sight)
  4916.  
  4917. The Mag is what the gun will move around when you reload the gun. If the mag is made up of more than one brick, make sure those
  4918. bricks are also called "Mag" so that the gun will move them around. If you set ReloadAnimation to false in the SETTINGS, you don't
  4919. need any bricks called "Mag". But if ReloadAnimation is set to true, the gun needs at least one brick called "Mag" or it will break
  4920.  
  4921. The Handle is obviously the most important part of the Gun. Without it, the tool itself wouldn't work. It's that simple
  4922. (NOTE: If you want a sound to play when you fire, name it "FireSound" and place it in the Handle. If you want a sound to play when
  4923. you reload, name it "ReloadSound" and place it in the Handle)
  4924.  
  4925. The Main is the brick where the bullets will originate from. It's also the brick where the flash effects are kept.
  4926. (NOTE: If you want a flash billboardgui to appear when you fire, name it "FlashGui" and place it in the Main. If you want a light
  4927. to flash when you fire, name it "FlashFX" and place it in the Main)
  4928.  
  4929. ----------[ INSTRUCTIONS ]-----------------------------------------------
  4930.  
  4931. HOW TO USE THIS KIT:
  4932. 1) If the gun already has a Handle, make sure it is facing forward. If the gun doesn't have a Handle, create one and place
  4933. it wherever you like, and make sure it is facing forward
  4934.  
  4935. 2) If the gun already has a brick called "AimPart", move it to where you would like, and make sure it is facing the sight.
  4936. If the gun doesn't have a brick called "AimPart", create one and move it where you would like it to be, and make sure
  4937. it is facing the sight
  4938.  
  4939. 3) If the gun already has a brick called "Main", move it to the very front of the gun. If the gun doesn't have a brick
  4940. called "Main", create one and move it to the very front of the gun
  4941.  
  4942. 4) If ReloadAnimation is set to true in the SETTINGS, make sure the gun has at least one brick called "Mag". If
  4943. ReloadAnimation is set to false, the gun doesn't need any bricks called "Mag".
  4944.  
  4945. 5) Open the SETTINGS and edit them however you like
  4946.  
  4947. That's it! Only 5 steps! It's not that complicated, just follow the Directions and it should work fine. If you have any questions /
  4948. comments / concerns, message me.
  4949.  
  4950. ______ ______ __ ______ _ ______
  4951. / _/ _/ /_ __/_ _______/ /_ ____ / ____/_ _______(_)___ ____ / / /
  4952. / // / / / / / / / ___/ __ \/ __ \/ /_ / / / / ___/ / __ \/ __ \ / // /
  4953. / // / / / / /_/ / / / /_/ / /_/ / __/ / /_/ (__ ) / /_/ / / / / / // /
  4954. / // / /_/ \__,_/_/ /_.___/\____/_/ \__,_/____/_/\____/_/ /_/ _/ // /
  4955. /__/__/ /__/__/
  4956.  
  4957. --]]
  4958.  
  4959. wait(math.random(0, 200) / 200) --This is to prevent more than one Ignore_Model from being created
  4960.  
  4961. if _G.Ignore_Code then --If the Ignore_Code already exists, then the script creates the Ignore_Model
  4962. --[[
  4963. The purpose of this is so that every gun in a game that uses this gun kit will share one Ignore_Model. That way,
  4964. bullet trails, bullet holes, and other fake arms will be ignored by the gun which makes the bullets more likely to
  4965. hit a character part
  4966. --]]
  4967. if (not game.Workspace:FindFirstChild("Ignore_Model_".._G.Ignore_Code)) then
  4968. local Ignore_Model = Instance.new("Model")
  4969. Ignore_Model.Name = "Ignore_Model_".._G.Ignore_Code
  4970. Ignore_Model.Parent = game.Workspace
  4971.  
  4972. spawn(function()
  4973. while true do
  4974. Ignore_Model.Parent = game.Workspace
  4975. wait(1 / 20)
  4976. end
  4977. end)
  4978. end
  4979.  
  4980. script.Parent:WaitForChild("Gun_Main"):WaitForChild("Ignore_Code").Value = _G.Ignore_Code
  4981. else
  4982. --[[
  4983. If there isn't already an Ignore_Code, then this creates one. The purpose of it being random is so that if there is
  4984. an Ignore_Model for something else in the game, the script won't end up placing the ignored objects in that Ignore_Model
  4985. --]]
  4986. _G.Ignore_Code = math.random(1, 1e4)
  4987.  
  4988. if (not game.Workspace:FindFirstChild("Ignore_Model_".._G.Ignore_Code)) then
  4989. local Ignore_Model = Instance.new("Model")
  4990. Ignore_Model.Name = "Ignore_Model_".._G.Ignore_Code
  4991. Ignore_Model.Parent = game.Workspace
  4992.  
  4993. spawn(function()
  4994. while true do
  4995. Ignore_Model.Parent = game.Workspace
  4996. wait(1 / 20)
  4997. end
  4998. end)
  4999. end
  5000.  
  5001. script.Parent:WaitForChild("Gun_Main"):WaitForChild("Ignore_Code").Value = _G.Ignore_Code
  5002. end
  5003.  
  5004. spawn(function()
  5005. repeat wait() until _G.Ignore_Code
  5006. local Ignore_Model = game.Workspace:WaitForChild("Ignore_Model_".._G.Ignore_Code)
  5007. while true do
  5008. for _, Gun_Ignore in pairs(Ignore_Model:GetChildren()) do
  5009. if (not game.Players:FindFirstChild(Gun_Ignore.Name:sub(12))) then
  5010. Gun_Ignore:Destroy()
  5011. end
  5012. end
  5013. wait(1 / 20)
  5014. end
  5015. end)
  5016. end))
  5017. IntValue95.Name = "TacticalGrenades"
  5018. IntValue95.Parent = Tool0
  5019. IntValue95.Value = 15
  5020. IntValue96.Name = "StoredAmmo"
  5021. IntValue96.Parent = Tool0
  5022. IntValue96.Value = 300
  5023. IntValue97.Name = "LethalGrenades"
  5024. IntValue97.Parent = Tool0
  5025. IntValue97.Value = 15
  5026. IntValue98.Name = "ClipSize"
  5027. IntValue98.Parent = Tool0
  5028. IntValue98.Value = 6
  5029. IntValue99.Name = "Ammo"
  5030. IntValue99.Parent = Tool0
  5031. IntValue99.Value = 6
  5032. Part100.Parent = Tool0
  5033. Part100.Material = Enum.Material.Metal
  5034. Part100.BrickColor = BrickColor.new("Black")
  5035. Part100.Rotation = Vector3.new(0, 0, -180)
  5036. Part100.Anchored = true
  5037. Part100.FormFactor = Enum.FormFactor.Plate
  5038. Part100.Size = Vector3.new(1, 0.400000006, 1)
  5039. Part100.CFrame = CFrame.new(2.5, 0.373344988, 49.109993, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5040. Part100.BottomSurface = Enum.SurfaceType.Smooth
  5041. Part100.TopSurface = Enum.SurfaceType.Smooth
  5042. Part100.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5043. Part100.Position = Vector3.new(2.5, 0.373344988, 49.109993)
  5044. Part100.Orientation = Vector3.new(0, 0, 180)
  5045. Part100.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5046. SpecialMesh101.Parent = Part100
  5047. SpecialMesh101.Scale = Vector3.new(0.13333334, 1, 0.13333334)
  5048. SpecialMesh101.MeshType = Enum.MeshType.Wedge
  5049. SpecialMesh101.Scale = Vector3.new(0.13333334, 1, 0.13333334)
  5050. ManualWeld102.Name = "Part-to-Handle Strong Joint"
  5051. ManualWeld102.Parent = Part100
  5052. ManualWeld102.C0 = CFrame.new(0.5, -0.200000003, 0.5, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  5053. ManualWeld102.C1 = CFrame.new(-0.5, -0.0866544843, 0.432993889, -1, 0, 4.10676591e-07, 4.10676591e-07, 7.13453232e-07, 1, -2.92998536e-13, 1, -7.13453232e-07)
  5054. ManualWeld102.Part0 = Part100
  5055. ManualWeld102.Part1 = Part12
  5056. Part103.Parent = Tool0
  5057. Part103.Material = Enum.Material.Metal
  5058. Part103.BrickColor = BrickColor.new("Dark stone grey")
  5059. Part103.Rotation = Vector3.new(0, 0, -180)
  5060. Part103.Anchored = true
  5061. Part103.FormFactor = Enum.FormFactor.Plate
  5062. Part103.Size = Vector3.new(1, 0.400000006, 1)
  5063. Part103.CFrame = CFrame.new(2.5, 0.573346019, 48.8766632, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5064. Part103.BottomSurface = Enum.SurfaceType.Smooth
  5065. Part103.TopSurface = Enum.SurfaceType.Smooth
  5066. Part103.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5067. Part103.Position = Vector3.new(2.5, 0.573346019, 48.8766632)
  5068. Part103.Orientation = Vector3.new(0, 0, 180)
  5069. Part103.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5070. BlockMesh104.Parent = Part103
  5071. BlockMesh104.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.13333334)
  5072. BlockMesh104.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.13333334)
  5073. Part105.Parent = Tool0
  5074. Part105.Material = Enum.Material.Metal
  5075. Part105.BrickColor = BrickColor.new("Black")
  5076. Part105.Rotation = Vector3.new(-180, 0, 0)
  5077. Part105.Anchored = true
  5078. Part105.FormFactor = Enum.FormFactor.Plate
  5079. Part105.Size = Vector3.new(1, 0.400000006, 1)
  5080. Part105.CFrame = CFrame.new(2.5, 0.200011998, 49.3099976, 1, 0, 0, 0, -1, 0, 0, 0, -1)
  5081. Part105.BottomSurface = Enum.SurfaceType.Smooth
  5082. Part105.TopSurface = Enum.SurfaceType.Smooth
  5083. Part105.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5084. Part105.Position = Vector3.new(2.5, 0.200011998, 49.3099976)
  5085. Part105.Orientation = Vector3.new(0, 180, 180)
  5086. Part105.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5087. SpecialMesh106.Parent = Part105
  5088. SpecialMesh106.Scale = Vector3.new(0.13333334, 0.13333334, 0.266666681)
  5089. SpecialMesh106.MeshType = Enum.MeshType.Wedge
  5090. SpecialMesh106.Scale = Vector3.new(0.13333334, 0.13333334, 0.266666681)
  5091. Part107.Parent = Tool0
  5092. Part107.Material = Enum.Material.Metal
  5093. Part107.BrickColor = BrickColor.new("Black")
  5094. Part107.Rotation = Vector3.new(0, 0, -180)
  5095. Part107.Anchored = true
  5096. Part107.FormFactor = Enum.FormFactor.Plate
  5097. Part107.Size = Vector3.new(1, 0.400000006, 1)
  5098. Part107.CFrame = CFrame.new(2.5, 0.66001302, 49.1766624, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5099. Part107.BottomSurface = Enum.SurfaceType.Smooth
  5100. Part107.TopSurface = Enum.SurfaceType.Smooth
  5101. Part107.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5102. Part107.Position = Vector3.new(2.5, 0.66001302, 49.1766624)
  5103. Part107.Orientation = Vector3.new(0, 0, 180)
  5104. Part107.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5105. BlockMesh108.Parent = Part107
  5106. BlockMesh108.Scale = Vector3.new(0.13333334, 0.433333367, 0.266666681)
  5107. BlockMesh108.Scale = Vector3.new(0.13333334, 0.433333367, 0.266666681)
  5108. Part109.Parent = Tool0
  5109. Part109.Material = Enum.Material.Metal
  5110. Part109.BrickColor = BrickColor.new("Black")
  5111. Part109.Anchored = true
  5112. Part109.FormFactor = Enum.FormFactor.Plate
  5113. Part109.Size = Vector3.new(1, 0.400000006, 1)
  5114. Part109.CFrame = CFrame.new(2.5, 0.613345027, 50.5599976, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5115. Part109.BottomSurface = Enum.SurfaceType.Smooth
  5116. Part109.TopSurface = Enum.SurfaceType.Smooth
  5117. Part109.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5118. Part109.Position = Vector3.new(2.5, 0.613345027, 50.5599976)
  5119. Part109.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5120. BlockMesh110.Parent = Part109
  5121. BlockMesh110.Scale = Vector3.new(0.200000003, 0.666666687, 0.300000012)
  5122. BlockMesh110.Scale = Vector3.new(0.200000003, 0.666666687, 0.300000012)
  5123. Part111.Parent = Tool0
  5124. Part111.Material = Enum.Material.Metal
  5125. Part111.BrickColor = BrickColor.new("Dark stone grey")
  5126. Part111.Rotation = Vector3.new(-180, 0, -180)
  5127. Part111.Anchored = true
  5128. Part111.FormFactor = Enum.FormFactor.Plate
  5129. Part111.Size = Vector3.new(1, 0.400000006, 1)
  5130. Part111.CFrame = CFrame.new(2.5, 0.606679022, 48.7933273, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  5131. Part111.BottomSurface = Enum.SurfaceType.Smooth
  5132. Part111.TopSurface = Enum.SurfaceType.Smooth
  5133. Part111.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5134. Part111.Position = Vector3.new(2.5, 0.606679022, 48.7933273)
  5135. Part111.Orientation = Vector3.new(0, 180, 0)
  5136. Part111.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5137. SpecialMesh112.Parent = Part111
  5138. SpecialMesh112.Scale = Vector3.new(0.0666666701, 0.100000009, 0.100000001)
  5139. SpecialMesh112.MeshType = Enum.MeshType.Wedge
  5140. SpecialMesh112.Scale = Vector3.new(0.0666666701, 0.100000009, 0.100000001)
  5141. ManualWeld113.Name = "Part-to-Shell Strong Joint"
  5142. ManualWeld113.Parent = Part111
  5143. ManualWeld113.C0 = CFrame.new(-0.5, -0.200000003, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5144. ManualWeld113.C1 = CFrame.new(0.300000966, 0.493340492, -0.5, 4.37113883e-08, -1, 4.37113883e-08, 0, -4.37113883e-08, -1, 1, 4.37113883e-08, -1.91068547e-15)
  5145. ManualWeld113.Part0 = Part111
  5146. ManualWeld113.Part1 = Part5
  5147. Part114.Parent = Tool0
  5148. Part114.Material = Enum.Material.Metal
  5149. Part114.BrickColor = BrickColor.new("Dark stone grey")
  5150. Part114.Rotation = Vector3.new(-180, 0, 0)
  5151. Part114.Anchored = true
  5152. Part114.FormFactor = Enum.FormFactor.Plate
  5153. Part114.Size = Vector3.new(1, 0.400000006, 1)
  5154. Part114.CFrame = CFrame.new(2.5, 0.573346019, 48.9933319, 1, 0, 0, 0, -1, 0, 0, 0, -1)
  5155. Part114.BottomSurface = Enum.SurfaceType.Smooth
  5156. Part114.TopSurface = Enum.SurfaceType.Smooth
  5157. Part114.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5158. Part114.Position = Vector3.new(2.5, 0.573346019, 48.9933319)
  5159. Part114.Orientation = Vector3.new(0, 180, 180)
  5160. Part114.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5161. SpecialMesh115.Parent = Part114
  5162. SpecialMesh115.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.100000001)
  5163. SpecialMesh115.MeshType = Enum.MeshType.Wedge
  5164. SpecialMesh115.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.100000001)
  5165. ManualWeld116.Name = "Part-to-Shell Strong Joint"
  5166. ManualWeld116.Parent = Part114
  5167. ManualWeld116.C0 = CFrame.new(-0.5, -0.200000003, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5168. ManualWeld116.C1 = CFrame.new(-0.066666007, 0.493331909, 0.50000006, -4.37113883e-08, 1, 4.37113883e-08, 0, 4.37113883e-08, -1, -1, -4.37113883e-08, -1.91068547e-15)
  5169. ManualWeld116.Part0 = Part114
  5170. ManualWeld116.Part1 = Part15
  5171. Part117.Parent = Tool0
  5172. Part117.Material = Enum.Material.Metal
  5173. Part117.BrickColor = BrickColor.new("Dark stone grey")
  5174. Part117.Rotation = Vector3.new(0, 0, -180)
  5175. Part117.Anchored = true
  5176. Part117.FormFactor = Enum.FormFactor.Plate
  5177. Part117.Size = Vector3.new(1, 0.400000006, 1)
  5178. Part117.CFrame = CFrame.new(2.5, 0.633346021, 48.5599976, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5179. Part117.BottomSurface = Enum.SurfaceType.Smooth
  5180. Part117.TopSurface = Enum.SurfaceType.Smooth
  5181. Part117.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5182. Part117.Position = Vector3.new(2.5, 0.633346021, 48.5599976)
  5183. Part117.Orientation = Vector3.new(0, 0, 180)
  5184. Part117.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5185. SpecialMesh118.Parent = Part117
  5186. SpecialMesh118.Scale = Vector3.new(0.0666666701, 0.100000009, 0.0333333351)
  5187. SpecialMesh118.MeshType = Enum.MeshType.Wedge
  5188. SpecialMesh118.Scale = Vector3.new(0.0666666701, 0.100000009, 0.0333333351)
  5189. ManualWeld119.Name = "Part-to-Handle Strong Joint"
  5190. ManualWeld119.Parent = Part117
  5191. ManualWeld119.C0 = CFrame.new(-0.5, -0.200000003, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5192. ManualWeld119.C1 = CFrame.new(0.5, 0.173345685, -0.117003441, -1, -4.10676591e-07, 0, 4.10676591e-07, -1, 7.13453232e-07, -2.92998536e-13, 7.13453232e-07, 1)
  5193. ManualWeld119.Part0 = Part117
  5194. ManualWeld119.Part1 = Part12
  5195. Part120.Parent = Tool0
  5196. Part120.Material = Enum.Material.Metal
  5197. Part120.BrickColor = BrickColor.new("Dark stone grey")
  5198. Part120.Rotation = Vector3.new(0, 0, -180)
  5199. Part120.Anchored = true
  5200. Part120.FormFactor = Enum.FormFactor.Plate
  5201. Part120.Size = Vector3.new(1, 0.400000006, 1)
  5202. Part120.CFrame = CFrame.new(2.5, 0.600012004, 48.7099991, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5203. Part120.BottomSurface = Enum.SurfaceType.Smooth
  5204. Part120.TopSurface = Enum.SurfaceType.Smooth
  5205. Part120.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5206. Part120.Position = Vector3.new(2.5, 0.600012004, 48.7099991)
  5207. Part120.Orientation = Vector3.new(0, 0, 180)
  5208. Part120.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5209. SpecialMesh121.Parent = Part120
  5210. SpecialMesh121.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.0666666701)
  5211. SpecialMesh121.MeshType = Enum.MeshType.Wedge
  5212. SpecialMesh121.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.0666666701)
  5213. Part122.Parent = Tool0
  5214. Part122.Material = Enum.Material.Metal
  5215. Part122.BrickColor = BrickColor.new("Dark stone grey")
  5216. Part122.Rotation = Vector3.new(0, 0, -180)
  5217. Part122.Anchored = true
  5218. Part122.FormFactor = Enum.FormFactor.Plate
  5219. Part122.Size = Vector3.new(1, 0.400000006, 1)
  5220. Part122.CFrame = CFrame.new(2.5, 0.573346019, 48.7766647, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5221. Part122.BottomSurface = Enum.SurfaceType.Smooth
  5222. Part122.TopSurface = Enum.SurfaceType.Smooth
  5223. Part122.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5224. Part122.Position = Vector3.new(2.5, 0.573346019, 48.7766647)
  5225. Part122.Orientation = Vector3.new(0, 0, 180)
  5226. Part122.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5227. SpecialMesh123.Parent = Part122
  5228. SpecialMesh123.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.0666666701)
  5229. SpecialMesh123.MeshType = Enum.MeshType.Wedge
  5230. SpecialMesh123.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.0666666701)
  5231. Part124.Parent = Tool0
  5232. Part124.Material = Enum.Material.Metal
  5233. Part124.BrickColor = BrickColor.new("Black")
  5234. Part124.Rotation = Vector3.new(-180, 0, -180)
  5235. Part124.Anchored = true
  5236. Part124.FormFactor = Enum.FormFactor.Plate
  5237. Part124.Size = Vector3.new(1, 0.400000006, 1)
  5238. Part124.CFrame = CFrame.new(2.5, 0.686679006, 50.159996, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  5239. Part124.BottomSurface = Enum.SurfaceType.Smooth
  5240. Part124.TopSurface = Enum.SurfaceType.Smooth
  5241. Part124.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5242. Part124.Position = Vector3.new(2.5, 0.686679006, 50.159996)
  5243. Part124.Orientation = Vector3.new(0, 180, 0)
  5244. Part124.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5245. BlockMesh125.Parent = Part124
  5246. BlockMesh125.Scale = Vector3.new(0.200000003, 0.300000012, 0.5)
  5247. BlockMesh125.Scale = Vector3.new(0.200000003, 0.300000012, 0.5)
  5248. Part126.Parent = Tool0
  5249. Part126.Material = Enum.Material.Metal
  5250. Part126.BrickColor = BrickColor.new("Black")
  5251. Part126.Rotation = Vector3.new(0, 0, -180)
  5252. Part126.Anchored = true
  5253. Part126.FormFactor = Enum.FormFactor.Plate
  5254. Part126.Size = Vector3.new(1, 0.400000006, 1)
  5255. Part126.CFrame = CFrame.new(2.5, 0.400011986, 49.2433281, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5256. Part126.BottomSurface = Enum.SurfaceType.Smooth
  5257. Part126.TopSurface = Enum.SurfaceType.Smooth
  5258. Part126.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5259. Part126.Position = Vector3.new(2.5, 0.400011986, 49.2433281)
  5260. Part126.Orientation = Vector3.new(0, 0, 180)
  5261. Part126.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5262. BlockMesh127.Parent = Part126
  5263. BlockMesh127.Scale = Vector3.new(0.13333334, 0.866666734, 0.13333334)
  5264. BlockMesh127.Scale = Vector3.new(0.13333334, 0.866666734, 0.13333334)
  5265. Part128.Parent = Tool0
  5266. Part128.Material = Enum.Material.Metal
  5267. Part128.BrickColor = BrickColor.new("Black")
  5268. Part128.Rotation = Vector3.new(-180, 0, -180)
  5269. Part128.Anchored = true
  5270. Part128.FormFactor = Enum.FormFactor.Plate
  5271. Part128.Size = Vector3.new(1, 0.400000006, 1)
  5272. Part128.CFrame = CFrame.new(2.5, 0.426678985, 49.3766632, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  5273. Part128.BottomSurface = Enum.SurfaceType.Smooth
  5274. Part128.TopSurface = Enum.SurfaceType.Smooth
  5275. Part128.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5276. Part128.Position = Vector3.new(2.5, 0.426678985, 49.3766632)
  5277. Part128.Orientation = Vector3.new(0, 180, 0)
  5278. Part128.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5279. SpecialMesh129.Parent = Part128
  5280. SpecialMesh129.Scale = Vector3.new(0.13333334, 1, 0.13333334)
  5281. SpecialMesh129.MeshType = Enum.MeshType.Wedge
  5282. SpecialMesh129.Scale = Vector3.new(0.13333334, 1, 0.13333334)
  5283. Part130.Parent = Tool0
  5284. Part130.Material = Enum.Material.Metal
  5285. Part130.BrickColor = BrickColor.new("Dark stone grey")
  5286. Part130.Anchored = true
  5287. Part130.FormFactor = Enum.FormFactor.Plate
  5288. Part130.Size = Vector3.new(1, 0.400000006, 1)
  5289. Part130.CFrame = CFrame.new(2.5, 0.600012004, 48.9933319, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5290. Part130.BottomSurface = Enum.SurfaceType.Smooth
  5291. Part130.TopSurface = Enum.SurfaceType.Smooth
  5292. Part130.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5293. Part130.Position = Vector3.new(2.5, 0.600012004, 48.9933319)
  5294. Part130.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5295. SpecialMesh131.Parent = Part130
  5296. SpecialMesh131.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.100000001)
  5297. SpecialMesh131.MeshType = Enum.MeshType.Wedge
  5298. SpecialMesh131.Scale = Vector3.new(0.0666666701, 0.0666666701, 0.100000001)
  5299. ManualWeld132.Name = "Part-to-Shell Strong Joint"
  5300. ManualWeld132.Parent = Part130
  5301. ManualWeld132.C0 = CFrame.new(0.5, -0.200000003, -0.5, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  5302. ManualWeld132.C1 = CFrame.new(0.306667954, 0.493331909, -0.5, 4.37113883e-08, -1, 4.37113883e-08, 0, -4.37113883e-08, -1, 1, 4.37113883e-08, -1.91068547e-15)
  5303. ManualWeld132.Part0 = Part130
  5304. ManualWeld132.Part1 = Part15
  5305. Part133.Parent = Tool0
  5306. Part133.Material = Enum.Material.Metal
  5307. Part133.BrickColor = BrickColor.new("Lime green")
  5308. Part133.Rotation = Vector3.new(-180, 0, -180)
  5309. Part133.Anchored = true
  5310. Part133.FormFactor = Enum.FormFactor.Plate
  5311. Part133.Size = Vector3.new(1, 0.400000006, 1)
  5312. Part133.CFrame = CFrame.new(2.55000305, 1.16001296, 48.1933289, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  5313. Part133.BottomSurface = Enum.SurfaceType.Smooth
  5314. Part133.TopSurface = Enum.SurfaceType.Smooth
  5315. Part133.Color = Color3.new(0, 1, 0)
  5316. Part133.Position = Vector3.new(2.55000305, 1.16001296, 48.1933289)
  5317. Part133.Orientation = Vector3.new(0, 180, 0)
  5318. Part133.Color = Color3.new(0, 1, 0)
  5319. SpecialMesh134.Parent = Part133
  5320. SpecialMesh134.Scale = Vector3.new(0.0333333351, 0.200000018, 0.0333333351)
  5321. SpecialMesh134.MeshType = Enum.MeshType.Wedge
  5322. SpecialMesh134.Scale = Vector3.new(0.0333333351, 0.200000018, 0.0333333351)
  5323. Part135.Parent = Tool0
  5324. Part135.Material = Enum.Material.Metal
  5325. Part135.BrickColor = BrickColor.new("Black")
  5326. Part135.Rotation = Vector3.new(180, 90, 0)
  5327. Part135.Anchored = true
  5328. Part135.FormFactor = Enum.FormFactor.Plate
  5329. Part135.Size = Vector3.new(1, 0.400000006, 1)
  5330. Part135.CFrame = CFrame.new(2.38333106, 0.766678989, 47.409996, 0, 0, 1, 0, -1, 0, 1, 0, -0)
  5331. Part135.BottomSurface = Enum.SurfaceType.Smooth
  5332. Part135.TopSurface = Enum.SurfaceType.Smooth
  5333. Part135.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5334. Part135.Position = Vector3.new(2.38333106, 0.766678989, 47.409996)
  5335. Part135.Orientation = Vector3.new(0, 90, 180)
  5336. Part135.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5337. SpecialMesh136.Parent = Part135
  5338. SpecialMesh136.Scale = Vector3.new(0.666666687, 0.633333325, 0.0333333351)
  5339. SpecialMesh136.MeshType = Enum.MeshType.Wedge
  5340. SpecialMesh136.Scale = Vector3.new(0.666666687, 0.633333325, 0.0333333351)
  5341. Part137.Parent = Tool0
  5342. Part137.Material = Enum.Material.Metal
  5343. Part137.BrickColor = BrickColor.new("Dark stone grey")
  5344. Part137.Anchored = true
  5345. Part137.FormFactor = Enum.FormFactor.Plate
  5346. Part137.Size = Vector3.new(1, 0.400000006, 1)
  5347. Part137.CFrame = CFrame.new(2.5, 1.14001095, 48.1433334, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5348. Part137.BottomSurface = Enum.SurfaceType.Smooth
  5349. Part137.TopSurface = Enum.SurfaceType.Smooth
  5350. Part137.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5351. Part137.Position = Vector3.new(2.5, 1.14001095, 48.1433334)
  5352. Part137.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5353. BlockMesh138.Parent = Part137
  5354. BlockMesh138.Scale = Vector3.new(0.0666666701, 0.0333333351, 0.0666666701)
  5355. BlockMesh138.Scale = Vector3.new(0.0666666701, 0.0333333351, 0.0666666701)
  5356. Part139.Parent = Tool0
  5357. Part139.Material = Enum.Material.Metal
  5358. Part139.BrickColor = BrickColor.new("Dark stone grey")
  5359. Part139.Anchored = true
  5360. Part139.FormFactor = Enum.FormFactor.Plate
  5361. Part139.Size = Vector3.new(1, 0.400000006, 1)
  5362. Part139.CFrame = CFrame.new(2.44999695, 1.16001296, 48.1433334, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5363. Part139.BottomSurface = Enum.SurfaceType.Smooth
  5364. Part139.TopSurface = Enum.SurfaceType.Smooth
  5365. Part139.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5366. Part139.Position = Vector3.new(2.44999695, 1.16001296, 48.1433334)
  5367. Part139.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5368. BlockMesh140.Parent = Part139
  5369. BlockMesh140.Scale = Vector3.new(0.0333333351, 0.200000018, 0.0666666701)
  5370. BlockMesh140.Scale = Vector3.new(0.0333333351, 0.200000018, 0.0666666701)
  5371. Part141.Parent = Tool0
  5372. Part141.Material = Enum.Material.Metal
  5373. Part141.BrickColor = BrickColor.new("Black")
  5374. Part141.Anchored = true
  5375. Part141.FormFactor = Enum.FormFactor.Plate
  5376. Part141.Size = Vector3.new(1, 0.400000006, 1)
  5377. Part141.CFrame = CFrame.new(2.5, 0.833347976, 50.1766624, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5378. Part141.BottomSurface = Enum.SurfaceType.Smooth
  5379. Part141.TopSurface = Enum.SurfaceType.Smooth
  5380. Part141.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5381. Part141.Position = Vector3.new(2.5, 0.833347976, 50.1766624)
  5382. Part141.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5383. BlockMesh142.Parent = Part141
  5384. BlockMesh142.Scale = Vector3.new(0.200000003, 0.433333367, 1.06666672)
  5385. BlockMesh142.Scale = Vector3.new(0.200000003, 0.433333367, 1.06666672)
  5386. Part143.Parent = Tool0
  5387. Part143.Material = Enum.Material.Metal
  5388. Part143.BrickColor = BrickColor.new("Lime green")
  5389. Part143.Rotation = Vector3.new(-180, 0, -180)
  5390. Part143.Anchored = true
  5391. Part143.FormFactor = Enum.FormFactor.Plate
  5392. Part143.Size = Vector3.new(1, 0.400000006, 1)
  5393. Part143.CFrame = CFrame.new(2.44999695, 1.16001296, 48.1933289, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  5394. Part143.BottomSurface = Enum.SurfaceType.Smooth
  5395. Part143.TopSurface = Enum.SurfaceType.Smooth
  5396. Part143.Color = Color3.new(0, 1, 0)
  5397. Part143.Position = Vector3.new(2.44999695, 1.16001296, 48.1933289)
  5398. Part143.Orientation = Vector3.new(0, 180, 0)
  5399. Part143.Color = Color3.new(0, 1, 0)
  5400. SpecialMesh144.Parent = Part143
  5401. SpecialMesh144.Scale = Vector3.new(0.0333333351, 0.200000018, 0.0333333351)
  5402. SpecialMesh144.MeshType = Enum.MeshType.Wedge
  5403. SpecialMesh144.Scale = Vector3.new(0.0333333351, 0.200000018, 0.0333333351)
  5404. Part145.Parent = Tool0
  5405. Part145.Material = Enum.Material.Metal
  5406. Part145.BrickColor = BrickColor.new("Dark stone grey")
  5407. Part145.Rotation = Vector3.new(0, 0, -180)
  5408. Part145.Anchored = true
  5409. Part145.FormFactor = Enum.FormFactor.Plate
  5410. Part145.Size = Vector3.new(1, 0.400000006, 1)
  5411. Part145.CFrame = CFrame.new(2.5, 0.680011988, 48.659996, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5412. Part145.BottomSurface = Enum.SurfaceType.Smooth
  5413. Part145.TopSurface = Enum.SurfaceType.Smooth
  5414. Part145.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5415. Part145.Position = Vector3.new(2.5, 0.680011988, 48.659996)
  5416. Part145.Orientation = Vector3.new(0, 0, 180)
  5417. Part145.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5418. BlockMesh146.Parent = Part145
  5419. BlockMesh146.Scale = Vector3.new(0.0666666701, 0.333333343, 0.166666672)
  5420. BlockMesh146.Scale = Vector3.new(0.0666666701, 0.333333343, 0.166666672)
  5421. Part147.Parent = Tool0
  5422. Part147.Material = Enum.Material.Metal
  5423. Part147.BrickColor = BrickColor.new("Dark stone grey")
  5424. Part147.Anchored = true
  5425. Part147.FormFactor = Enum.FormFactor.Plate
  5426. Part147.Size = Vector3.new(1, 0.400000006, 1)
  5427. Part147.CFrame = CFrame.new(2.55000305, 1.16001296, 48.1433334, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5428. Part147.BottomSurface = Enum.SurfaceType.Smooth
  5429. Part147.TopSurface = Enum.SurfaceType.Smooth
  5430. Part147.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5431. Part147.Position = Vector3.new(2.55000305, 1.16001296, 48.1433334)
  5432. Part147.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5433. BlockMesh148.Parent = Part147
  5434. BlockMesh148.Scale = Vector3.new(0.0333333351, 0.200000018, 0.0666666701)
  5435. BlockMesh148.Scale = Vector3.new(0.0333333351, 0.200000018, 0.0666666701)
  5436. Part149.Parent = Tool0
  5437. Part149.Material = Enum.Material.Metal
  5438. Part149.BrickColor = BrickColor.new("Black")
  5439. Part149.Rotation = Vector3.new(-180, -90, 0)
  5440. Part149.Anchored = true
  5441. Part149.FormFactor = Enum.FormFactor.Plate
  5442. Part149.Size = Vector3.new(1, 0.400000006, 1)
  5443. Part149.CFrame = CFrame.new(2.61666894, 0.766678989, 47.409996, 0, 0, -1, 0, -1, -0, -1, 0, -0)
  5444. Part149.BottomSurface = Enum.SurfaceType.Smooth
  5445. Part149.TopSurface = Enum.SurfaceType.Smooth
  5446. Part149.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5447. Part149.Position = Vector3.new(2.61666894, 0.766678989, 47.409996)
  5448. Part149.Orientation = Vector3.new(0, -90, 180)
  5449. Part149.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5450. SpecialMesh150.Parent = Part149
  5451. SpecialMesh150.Scale = Vector3.new(0.666666687, 0.633333325, 0.0333333351)
  5452. SpecialMesh150.MeshType = Enum.MeshType.Wedge
  5453. SpecialMesh150.Scale = Vector3.new(0.666666687, 0.633333325, 0.0333333351)
  5454. Part151.Parent = Tool0
  5455. Part151.Material = Enum.Material.Metal
  5456. Part151.Rotation = Vector3.new(-90, 0, 0)
  5457. Part151.Anchored = true
  5458. Part151.FormFactor = Enum.FormFactor.Plate
  5459. Part151.Size = Vector3.new(1, 0.800000012, 1)
  5460. Part151.CFrame = CFrame.new(2.5, 0.740013003, 46.6900024, 1, 0, -0, 0, 0, 1, 0, -1, 0)
  5461. Part151.BottomSurface = Enum.SurfaceType.Smooth
  5462. Part151.TopSurface = Enum.SurfaceType.Smooth
  5463. Part151.Position = Vector3.new(2.5, 0.740013003, 46.6900024)
  5464. Part151.Orientation = Vector3.new(-90, 0, 0)
  5465. CylinderMesh152.Parent = Part151
  5466. CylinderMesh152.Scale = Vector3.new(0.166666672, 0.883333385, 0.13333334)
  5467. CylinderMesh152.Scale = Vector3.new(0.166666672, 0.883333385, 0.13333334)
  5468. Part153.Parent = Tool0
  5469. Part153.Material = Enum.Material.Metal
  5470. Part153.BrickColor = BrickColor.new("Dark stone grey")
  5471. Part153.Rotation = Vector3.new(0, 0, -180)
  5472. Part153.Anchored = true
  5473. Part153.FormFactor = Enum.FormFactor.Plate
  5474. Part153.Size = Vector3.new(1, 0.400000006, 1)
  5475. Part153.CFrame = CFrame.new(2.5, 0.700012028, 48.5599976, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5476. Part153.BottomSurface = Enum.SurfaceType.Smooth
  5477. Part153.TopSurface = Enum.SurfaceType.Smooth
  5478. Part153.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5479. Part153.Position = Vector3.new(2.5, 0.700012028, 48.5599976)
  5480. Part153.Orientation = Vector3.new(0, 0, 180)
  5481. Part153.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5482. BlockMesh154.Parent = Part153
  5483. BlockMesh154.Scale = Vector3.new(0.0666666701, 0.233333334, 0.0333333351)
  5484. BlockMesh154.Scale = Vector3.new(0.0666666701, 0.233333334, 0.0333333351)
  5485. ManualWeld155.Name = "Part-to-Handle Strong Joint"
  5486. ManualWeld155.Parent = Part153
  5487. ManualWeld155.C0 = CFrame.new(-0.5, -0.200000003, 0.5, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5488. ManualWeld155.C1 = CFrame.new(0.500000238, 0.240011632, -0.117003441, -1, -4.10676591e-07, 0, 4.10676591e-07, -1, 7.13453232e-07, -2.92998536e-13, 7.13453232e-07, 1)
  5489. ManualWeld155.Part0 = Part153
  5490. ManualWeld155.Part1 = Part12
  5491. Part156.Parent = Tool0
  5492. Part156.Material = Enum.Material.Metal
  5493. Part156.BrickColor = BrickColor.new("Dark stone grey")
  5494. Part156.Anchored = true
  5495. Part156.FormFactor = Enum.FormFactor.Plate
  5496. Part156.Size = Vector3.new(1, 0.400000006, 2)
  5497. Part156.CFrame = CFrame.new(2.5, 1.12667894, 47.409996, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5498. Part156.BottomSurface = Enum.SurfaceType.Smooth
  5499. Part156.TopSurface = Enum.SurfaceType.Smooth
  5500. Part156.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5501. Part156.Position = Vector3.new(2.5, 1.12667894, 47.409996)
  5502. Part156.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5503. BlockMesh157.Parent = Part156
  5504. BlockMesh157.Scale = Vector3.new(0.0666666701, 0.0333333351, 0.766666651)
  5505. BlockMesh157.Scale = Vector3.new(0.0666666701, 0.0333333351, 0.766666651)
  5506. Part158.Parent = Tool0
  5507. Part158.Material = Enum.Material.Metal
  5508. Part158.BrickColor = BrickColor.new("Black")
  5509. Part158.Rotation = Vector3.new(-180, 0, 0)
  5510. Part158.Anchored = true
  5511. Part158.FormFactor = Enum.FormFactor.Plate
  5512. Part158.Size = Vector3.new(1, 0.400000006, 1)
  5513. Part158.CFrame = CFrame.new(2.5, 0.686679006, 49.3599968, 1, 0, 0, 0, -1, 0, 0, 0, -1)
  5514. Part158.BottomSurface = Enum.SurfaceType.Smooth
  5515. Part158.TopSurface = Enum.SurfaceType.Smooth
  5516. Part158.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5517. Part158.Position = Vector3.new(2.5, 0.686679006, 49.3599968)
  5518. Part158.Orientation = Vector3.new(0, 180, 180)
  5519. Part158.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5520. SpecialMesh159.Parent = Part158
  5521. SpecialMesh159.Scale = Vector3.new(0.13333334, 0.300000012, 0.100000001)
  5522. SpecialMesh159.MeshType = Enum.MeshType.Wedge
  5523. SpecialMesh159.Scale = Vector3.new(0.13333334, 0.300000012, 0.100000001)
  5524. Part160.Parent = Tool0
  5525. Part160.Material = Enum.Material.Metal
  5526. Part160.Rotation = Vector3.new(-90, 0, -180)
  5527. Part160.Anchored = true
  5528. Part160.FormFactor = Enum.FormFactor.Plate
  5529. Part160.Size = Vector3.new(1, 1.60000002, 1)
  5530. Part160.CFrame = CFrame.new(2.5, 1.02001297, 47.4300003, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  5531. Part160.BottomSurface = Enum.SurfaceType.Smooth
  5532. Part160.TopSurface = Enum.SurfaceType.Smooth
  5533. Part160.Position = Vector3.new(2.5, 1.02001297, 47.4300003)
  5534. Part160.Orientation = Vector3.new(-90, -180, 0)
  5535. CylinderMesh161.Parent = Part160
  5536. CylinderMesh161.Scale = Vector3.new(0.200000003, 1.10833335, 0.200000003)
  5537. CylinderMesh161.Scale = Vector3.new(0.200000003, 1.10833335, 0.200000003)
  5538. Part162.Parent = Tool0
  5539. Part162.Material = Enum.Material.Metal
  5540. Part162.BrickColor = BrickColor.new("Dark stone grey")
  5541. Part162.Rotation = Vector3.new(-180, 0, -180)
  5542. Part162.Anchored = true
  5543. Part162.FormFactor = Enum.FormFactor.Plate
  5544. Part162.Size = Vector3.new(1, 0.400000006, 1)
  5545. Part162.CFrame = CFrame.new(2.5, 1.12667894, 48.2433319, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  5546. Part162.BottomSurface = Enum.SurfaceType.Smooth
  5547. Part162.TopSurface = Enum.SurfaceType.Smooth
  5548. Part162.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5549. Part162.Position = Vector3.new(2.5, 1.12667894, 48.2433319)
  5550. Part162.Orientation = Vector3.new(0, 180, 0)
  5551. Part162.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5552. SpecialMesh163.Parent = Part162
  5553. SpecialMesh163.Scale = Vector3.new(0.0666666701, 0.0333333351, 0.13333334)
  5554. SpecialMesh163.MeshType = Enum.MeshType.Wedge
  5555. SpecialMesh163.Scale = Vector3.new(0.0666666701, 0.0333333351, 0.13333334)
  5556. Part164.Parent = Tool0
  5557. Part164.Material = Enum.Material.Metal
  5558. Part164.BrickColor = BrickColor.new("Lime green")
  5559. Part164.Rotation = Vector3.new(-180, 0, -180)
  5560. Part164.Anchored = true
  5561. Part164.FormFactor = Enum.FormFactor.Plate
  5562. Part164.Size = Vector3.new(1, 0.400000006, 1)
  5563. Part164.CFrame = CFrame.new(2.5, 1.15334594, 46.6266632, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  5564. Part164.BottomSurface = Enum.SurfaceType.Smooth
  5565. Part164.TopSurface = Enum.SurfaceType.Smooth
  5566. Part164.Color = Color3.new(0, 1, 0)
  5567. Part164.Position = Vector3.new(2.5, 1.15334594, 46.6266632)
  5568. Part164.Orientation = Vector3.new(0, 180, 0)
  5569. Part164.Color = Color3.new(0, 1, 0)
  5570. SpecialMesh165.Parent = Part164
  5571. SpecialMesh165.Scale = Vector3.new(0.0666666701, 0.166666672, 0.0333333351)
  5572. SpecialMesh165.MeshType = Enum.MeshType.Wedge
  5573. SpecialMesh165.Scale = Vector3.new(0.0666666701, 0.166666672, 0.0333333351)
  5574. Part166.Parent = Tool0
  5575. Part166.Material = Enum.Material.Metal
  5576. Part166.BrickColor = BrickColor.new("Dark stone grey")
  5577. Part166.Anchored = true
  5578. Part166.FormFactor = Enum.FormFactor.Plate
  5579. Part166.Size = Vector3.new(1, 0.400000006, 1)
  5580. Part166.CFrame = CFrame.new(2.5, 1.05334496, 46.5099945, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5581. Part166.BottomSurface = Enum.SurfaceType.Smooth
  5582. Part166.TopSurface = Enum.SurfaceType.Smooth
  5583. Part166.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5584. Part166.Position = Vector3.new(2.5, 1.05334496, 46.5099945)
  5585. Part166.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5586. SpecialMesh167.Parent = Part166
  5587. SpecialMesh167.Scale = Vector3.new(0.0666666701, 0.666666687, 0.0666666701)
  5588. SpecialMesh167.MeshType = Enum.MeshType.Wedge
  5589. SpecialMesh167.Scale = Vector3.new(0.0666666701, 0.666666687, 0.0666666701)
  5590. Part168.Parent = Tool0
  5591. Part168.Material = Enum.Material.Metal
  5592. Part168.Rotation = Vector3.new(-90, 0, -180)
  5593. Part168.Anchored = true
  5594. Part168.FormFactor = Enum.FormFactor.Plate
  5595. Part168.Size = Vector3.new(1, 1.20000005, 1)
  5596. Part168.CFrame = CFrame.new(2.5, 0.870019972, 46.4633331, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  5597. Part168.BottomSurface = Enum.SurfaceType.Smooth
  5598. Part168.TopSurface = Enum.SurfaceType.Smooth
  5599. Part168.Position = Vector3.new(2.5, 0.870019972, 46.4633331)
  5600. Part168.Orientation = Vector3.new(-90, -180, 0)
  5601. CylinderMesh169.Parent = Part168
  5602. CylinderMesh169.Scale = Vector3.new(0.100000001, 0.966666579, 0.100000001)
  5603. CylinderMesh169.Scale = Vector3.new(0.100000001, 0.966666579, 0.100000001)
  5604. Part170.Parent = Tool0
  5605. Part170.Material = Enum.Material.Metal
  5606. Part170.BrickColor = BrickColor.new("Dark stone grey")
  5607. Part170.Rotation = Vector3.new(0, 0, -180)
  5608. Part170.Anchored = true
  5609. Part170.FormFactor = Enum.FormFactor.Plate
  5610. Part170.Size = Vector3.new(1, 0.400000006, 2)
  5611. Part170.CFrame = CFrame.new(2.5, 0.833347976, 48.8266602, -1, 0, 0, 0, -1, 0, 0, 0, 1)
  5612. Part170.BottomSurface = Enum.SurfaceType.Smooth
  5613. Part170.TopSurface = Enum.SurfaceType.Smooth
  5614. Part170.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5615. Part170.Position = Vector3.new(2.5, 0.833347976, 48.8266602)
  5616. Part170.Orientation = Vector3.new(0, 0, 180)
  5617. Part170.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5618. BlockMesh171.Parent = Part170
  5619. BlockMesh171.Scale = Vector3.new(0.13333334, 0.433333367, 0.816666663)
  5620. BlockMesh171.Scale = Vector3.new(0.13333334, 0.433333367, 0.816666663)
  5621. Part172.Parent = Tool0
  5622. Part172.Material = Enum.Material.Metal
  5623. Part172.BrickColor = BrickColor.new("Dark stone grey")
  5624. Part172.Anchored = true
  5625. Part172.FormFactor = Enum.FormFactor.Plate
  5626. Part172.Size = Vector3.new(1, 0.400000006, 1)
  5627. Part172.CFrame = CFrame.new(2.5, 0.780013978, 47.5266647, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5628. Part172.BottomSurface = Enum.SurfaceType.Smooth
  5629. Part172.TopSurface = Enum.SurfaceType.Smooth
  5630. Part172.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5631. Part172.Position = Vector3.new(2.5, 0.780013978, 47.5266647)
  5632. Part172.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5633. BlockMesh173.Parent = Part172
  5634. BlockMesh173.Scale = Vector3.new(0.200000003, 0.700000048, 0.966666639)
  5635. BlockMesh173.Scale = Vector3.new(0.200000003, 0.700000048, 0.966666639)
  5636. Part174.Parent = Tool0
  5637. Part174.Material = Enum.Material.Metal
  5638. Part174.BrickColor = BrickColor.new("Black")
  5639. Part174.Anchored = true
  5640. Part174.FormFactor = Enum.FormFactor.Plate
  5641. Part174.Size = Vector3.new(1, 0.400000006, 2)
  5642. Part174.CFrame = CFrame.new(2.5, 1.00668001, 49.8766632, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  5643. Part174.BottomSurface = Enum.SurfaceType.Smooth
  5644. Part174.TopSurface = Enum.SurfaceType.Smooth
  5645. Part174.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5646. Part174.Position = Vector3.new(2.5, 1.00668001, 49.8766632)
  5647. Part174.Color = Color3.new(0.105882, 0.164706, 0.207843)
  5648. BlockMesh175.Parent = Part174
  5649. BlockMesh175.Scale = Vector3.new(0.200000003, 0.433333367, 0.833333313)
  5650. BlockMesh175.Scale = Vector3.new(0.200000003, 0.433333367, 0.833333313)
  5651. Part176.Parent = Tool0
  5652. Part176.Material = Enum.Material.Metal
  5653. Part176.BrickColor = BrickColor.new("Dark stone grey")
  5654. Part176.Rotation = Vector3.new(90, 0, 0)
  5655. Part176.Anchored = true
  5656. Part176.FormFactor = Enum.FormFactor.Plate
  5657. Part176.Size = Vector3.new(1, 0.800000012, 1)
  5658. Part176.CFrame = CFrame.new(2.5, 1.00335801, 48.6766663, 1, 0, 0, 0, 0, -1, 0, 1, 0)
  5659. Part176.BottomSurface = Enum.SurfaceType.Smooth
  5660. Part176.TopSurface = Enum.SurfaceType.Smooth
  5661. Part176.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5662. Part176.Position = Vector3.new(2.5, 1.00335801, 48.6766663)
  5663. Part176.Orientation = Vector3.new(90, 0, 0)
  5664. Part176.Color = Color3.new(0.388235, 0.372549, 0.384314)
  5665. CylinderMesh177.Parent = Part176
  5666. CylinderMesh177.Scale = Vector3.new(0.200000003, 0.900000036, 0.200000003)
  5667. CylinderMesh177.Scale = Vector3.new(0.200000003, 0.900000036, 0.200000003)
  5668. ManualWeld178.Name = "Part-to-Handle Strong Joint"
  5669. ManualWeld178.Parent = Part176
  5670. ManualWeld178.C0 = CFrame.new(-0.5, 0.400000006, 0.5, -1, 0, 0, 0, 0, 1, 0, 1, -0)
  5671. ManualWeld178.C1 = CFrame.new(-0.5, -0.156641901, -0.100334167, -1, -4.10676591e-07, 0, 4.10676591e-07, -1, 7.13453232e-07, -2.92998536e-13, 7.13453232e-07, 1)
  5672. ManualWeld178.Part0 = Part176
  5673. ManualWeld178.Part1 = Part12
  5674. for i,v in pairs(mas:GetChildren()) do
  5675. v.Parent = game:GetService("Players").LocalPlayer.Backpack
  5676. pcall(function() v:MakeJoints() end)
  5677. end
  5678. mas:Destroy()
  5679. for i,v in pairs(cors) do
  5680. spawn(function()
  5681. pcall(v)
  5682. end)
  5683. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement