· 8 years ago · Apr 16, 2018, 07:40 AM
1
2--Made by 1ndrew THROW THOSE FLAMES
3function sandbox(var,func)
4 local env = getfenv(func)
5 local newenv = setmetatable({},{
6 __index = function(self,k)
7 if k=="script" then
8 return var
9 else
10 return env[k]
11 end
12 end,
13 })
14 setfenv(func,newenv)
15 return func
16end
17cors = {}
18mas = Instance.new("Model",game:GetService("Lighting"))
19Tool0 = Instance.new("Tool")
20IntValue1 = Instance.new("IntValue")
21IntValue2 = Instance.new("IntValue")
22Part3 = Instance.new("Part")
23CylinderMesh4 = Instance.new("CylinderMesh")
24LocalScript5 = Instance.new("LocalScript")
25IntValue6 = Instance.new("IntValue")
26ScreenGui7 = Instance.new("ScreenGui")
27ImageLabel8 = Instance.new("ImageLabel")
28Frame9 = Instance.new("Frame")
29ImageLabel10 = Instance.new("ImageLabel")
30Frame11 = Instance.new("Frame")
31TextLabel12 = Instance.new("TextLabel")
32TextLabel13 = Instance.new("TextLabel")
33TextLabel14 = Instance.new("TextLabel")
34TextLabel15 = Instance.new("TextLabel")
35TextLabel16 = Instance.new("TextLabel")
36Frame17 = Instance.new("Frame")
37Frame18 = Instance.new("Frame")
38TextLabel19 = Instance.new("TextLabel")
39TextLabel20 = Instance.new("TextLabel")
40TextLabel21 = Instance.new("TextLabel")
41Frame22 = Instance.new("Frame")
42TextLabel23 = Instance.new("TextLabel")
43TextLabel24 = Instance.new("TextLabel")
44TextLabel25 = Instance.new("TextLabel")
45Frame26 = Instance.new("Frame")
46TextLabel27 = Instance.new("TextLabel")
47Frame28 = Instance.new("Frame")
48Frame29 = Instance.new("Frame")
49Frame30 = Instance.new("Frame")
50Frame31 = Instance.new("Frame")
51Frame32 = Instance.new("Frame")
52Frame33 = Instance.new("Frame")
53Frame34 = Instance.new("Frame")
54Frame35 = Instance.new("Frame")
55Frame36 = Instance.new("Frame")
56Frame37 = Instance.new("Frame")
57Frame38 = Instance.new("Frame")
58Frame39 = Instance.new("Frame")
59Frame40 = Instance.new("Frame")
60Frame41 = Instance.new("Frame")
61Frame42 = Instance.new("Frame")
62Frame43 = Instance.new("Frame")
63Frame44 = Instance.new("Frame")
64Frame45 = Instance.new("Frame")
65Frame46 = Instance.new("Frame")
66Frame47 = Instance.new("Frame")
67Frame48 = Instance.new("Frame")
68Frame49 = Instance.new("Frame")
69Frame50 = Instance.new("Frame")
70Frame51 = Instance.new("Frame")
71Frame52 = Instance.new("Frame")
72Frame53 = Instance.new("Frame")
73Frame54 = Instance.new("Frame")
74ImageLabel55 = Instance.new("ImageLabel")
75TextLabel56 = Instance.new("TextLabel")
76TextLabel57 = Instance.new("TextLabel")
77Frame58 = Instance.new("Frame")
78TextLabel59 = Instance.new("TextLabel")
79TextLabel60 = Instance.new("TextLabel")
80TextLabel61 = Instance.new("TextLabel")
81TextLabel62 = Instance.new("TextLabel")
82Frame63 = Instance.new("Frame")
83Frame64 = Instance.new("Frame")
84TextLabel65 = Instance.new("TextLabel")
85TextLabel66 = Instance.new("TextLabel")
86TextLabel67 = Instance.new("TextLabel")
87TextLabel68 = Instance.new("TextLabel")
88ImageLabel69 = Instance.new("ImageLabel")
89TextLabel70 = Instance.new("TextLabel")
90TextLabel71 = Instance.new("TextLabel")
91TextLabel72 = Instance.new("TextLabel")
92TextLabel73 = Instance.new("TextLabel")
93Frame74 = Instance.new("Frame")
94TextLabel75 = Instance.new("TextLabel")
95TextLabel76 = Instance.new("TextLabel")
96Frame77 = Instance.new("Frame")
97ImageLabel78 = Instance.new("ImageLabel")
98TextLabel79 = Instance.new("TextLabel")
99Script80 = Instance.new("Script")
100ParticleEmitter81 = Instance.new("ParticleEmitter")
101ParticleEmitter82 = Instance.new("ParticleEmitter")
102PointLight83 = Instance.new("PointLight")
103Script84 = Instance.new("Script")
104IntValue85 = Instance.new("IntValue")
105IntValue86 = Instance.new("IntValue")
106IntValue87 = Instance.new("IntValue")
107Part88 = Instance.new("Part")
108SpecialMesh89 = Instance.new("SpecialMesh")
109Part90 = Instance.new("Part")
110CylinderMesh91 = Instance.new("CylinderMesh")
111Part92 = Instance.new("Part")
112SpecialMesh93 = Instance.new("SpecialMesh")
113Part94 = Instance.new("Part")
114SpecialMesh95 = Instance.new("SpecialMesh")
115Part96 = Instance.new("Part")
116SpecialMesh97 = Instance.new("SpecialMesh")
117Part98 = Instance.new("Part")
118CylinderMesh99 = Instance.new("CylinderMesh")
119Part100 = Instance.new("Part")
120CylinderMesh101 = Instance.new("CylinderMesh")
121Part102 = Instance.new("Part")
122BlockMesh103 = Instance.new("BlockMesh")
123Sound104 = Instance.new("Sound")
124Part105 = Instance.new("Part")
125SpecialMesh106 = Instance.new("SpecialMesh")
126Part107 = Instance.new("Part")
127CylinderMesh108 = Instance.new("CylinderMesh")
128Part109 = Instance.new("Part")
129SpecialMesh110 = Instance.new("SpecialMesh")
130Part111 = Instance.new("Part")
131SpecialMesh112 = Instance.new("SpecialMesh")
132Part113 = Instance.new("Part")
133SpecialMesh114 = Instance.new("SpecialMesh")
134Part115 = Instance.new("Part")
135CylinderMesh116 = Instance.new("CylinderMesh")
136Part117 = Instance.new("Part")
137CylinderMesh118 = Instance.new("CylinderMesh")
138Part119 = Instance.new("Part")
139CylinderMesh120 = Instance.new("CylinderMesh")
140Part121 = Instance.new("Part")
141SpecialMesh122 = Instance.new("SpecialMesh")
142Part123 = Instance.new("Part")
143SpecialMesh124 = Instance.new("SpecialMesh")
144Part125 = Instance.new("Part")
145SpecialMesh126 = Instance.new("SpecialMesh")
146Part127 = Instance.new("Part")
147BlockMesh128 = Instance.new("BlockMesh")
148Part129 = Instance.new("Part")
149CylinderMesh130 = Instance.new("CylinderMesh")
150Part131 = Instance.new("Part")
151CylinderMesh132 = Instance.new("CylinderMesh")
152Part133 = Instance.new("Part")
153CylinderMesh134 = Instance.new("CylinderMesh")
154Part135 = Instance.new("Part")
155SpecialMesh136 = Instance.new("SpecialMesh")
156Part137 = Instance.new("Part")
157CylinderMesh138 = Instance.new("CylinderMesh")
158Part139 = Instance.new("Part")
159CylinderMesh140 = Instance.new("CylinderMesh")
160Part141 = Instance.new("Part")
161CylinderMesh142 = Instance.new("CylinderMesh")
162Part143 = Instance.new("Part")
163CylinderMesh144 = Instance.new("CylinderMesh")
164Part145 = Instance.new("Part")
165SpecialMesh146 = Instance.new("SpecialMesh")
166Part147 = Instance.new("Part")
167CylinderMesh148 = Instance.new("CylinderMesh")
168Part149 = Instance.new("Part")
169BlockMesh150 = Instance.new("BlockMesh")
170Part151 = Instance.new("Part")
171CylinderMesh152 = Instance.new("CylinderMesh")
172Part153 = Instance.new("Part")
173CylinderMesh154 = Instance.new("CylinderMesh")
174Part155 = Instance.new("Part")
175SpecialMesh156 = Instance.new("SpecialMesh")
176Part157 = Instance.new("Part")
177SpecialMesh158 = Instance.new("SpecialMesh")
178Part159 = Instance.new("Part")
179CylinderMesh160 = Instance.new("CylinderMesh")
180Part161 = Instance.new("Part")
181CylinderMesh162 = Instance.new("CylinderMesh")
182Part163 = Instance.new("Part")
183CylinderMesh164 = Instance.new("CylinderMesh")
184Part165 = Instance.new("Part")
185SpecialMesh166 = Instance.new("SpecialMesh")
186Part167 = Instance.new("Part")
187CylinderMesh168 = Instance.new("CylinderMesh")
188Part169 = Instance.new("Part")
189SpecialMesh170 = Instance.new("SpecialMesh")
190Part171 = Instance.new("Part")
191CylinderMesh172 = Instance.new("CylinderMesh")
192Part173 = Instance.new("Part")
193SpecialMesh174 = Instance.new("SpecialMesh")
194Part175 = Instance.new("Part")
195SpecialMesh176 = Instance.new("SpecialMesh")
196ParticleEmitter177 = Instance.new("ParticleEmitter")
197ParticleEmitter178 = Instance.new("ParticleEmitter")
198Part179 = Instance.new("Part")
199CylinderMesh180 = Instance.new("CylinderMesh")
200Part181 = Instance.new("Part")
201SpecialMesh182 = Instance.new("SpecialMesh")
202Part183 = Instance.new("Part")
203CylinderMesh184 = Instance.new("CylinderMesh")
204Part185 = Instance.new("Part")
205CylinderMesh186 = Instance.new("CylinderMesh")
206Part187 = Instance.new("Part")
207CylinderMesh188 = Instance.new("CylinderMesh")
208Part189 = Instance.new("Part")
209BlockMesh190 = Instance.new("BlockMesh")
210Part191 = Instance.new("Part")
211BlockMesh192 = Instance.new("BlockMesh")
212Part193 = Instance.new("Part")
213SpecialMesh194 = Instance.new("SpecialMesh")
214Part195 = Instance.new("Part")
215BlockMesh196 = Instance.new("BlockMesh")
216WedgePart197 = Instance.new("WedgePart")
217SpecialMesh198 = Instance.new("SpecialMesh")
218WedgePart199 = Instance.new("WedgePart")
219SpecialMesh200 = Instance.new("SpecialMesh")
220Part201 = Instance.new("Part")
221BlockMesh202 = Instance.new("BlockMesh")
222Part203 = Instance.new("Part")
223BlockMesh204 = Instance.new("BlockMesh")
224WedgePart205 = Instance.new("WedgePart")
225SpecialMesh206 = Instance.new("SpecialMesh")
226Part207 = Instance.new("Part")
227SpecialMesh208 = Instance.new("SpecialMesh")
228Part209 = Instance.new("Part")
229CylinderMesh210 = Instance.new("CylinderMesh")
230WedgePart211 = Instance.new("WedgePart")
231SpecialMesh212 = Instance.new("SpecialMesh")
232Part213 = Instance.new("Part")
233BlockMesh214 = Instance.new("BlockMesh")
234Part215 = Instance.new("Part")
235CylinderMesh216 = Instance.new("CylinderMesh")
236Part217 = Instance.new("Part")
237BlockMesh218 = Instance.new("BlockMesh")
238SpotLight219 = Instance.new("SpotLight")
239ParticleEmitter220 = Instance.new("ParticleEmitter")
240Part221 = Instance.new("Part")
241CylinderMesh222 = Instance.new("CylinderMesh")
242Part223 = Instance.new("Part")
243CylinderMesh224 = Instance.new("CylinderMesh")
244Tool0.Name = "Scorcher"
245Tool0.Parent = mas
246Tool0.CanBeDropped = false
247IntValue1.Name = "LethalGrenades"
248IntValue1.Parent = Tool0
249IntValue1.Value = 3
250IntValue2.Name = "Fire"
251IntValue2.Parent = Tool0
252IntValue2.Value = 200
253Part3.Name = "Metal"
254Part3.Parent = Tool0
255Part3.Material = Enum.Material.Metal
256Part3.BrickColor = BrickColor.new("Mid gray")
257Part3.Rotation = Vector3.new(180, 0, 90)
258Part3.Anchored = true
259Part3.CanCollide = false
260Part3.FormFactor = Enum.FormFactor.Custom
261Part3.Size = Vector3.new(0.400000006, 0.200000003, 0.400000006)
262Part3.CFrame = CFrame.new(24.0999908, 0.989997029, 46.3001709, 0, -1, -0, -1, 0, -0, 0, 0, -1)
263Part3.BackSurface = Enum.SurfaceType.SmoothNoOutlines
264Part3.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
265Part3.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
266Part3.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
267Part3.RightSurface = Enum.SurfaceType.SmoothNoOutlines
268Part3.TopSurface = Enum.SurfaceType.SmoothNoOutlines
269Part3.Color = Color3.new(0.803922, 0.803922, 0.803922)
270Part3.Position = Vector3.new(24.0999908, 0.989997029, 46.3001709)
271Part3.Orientation = Vector3.new(0, -180, -90)
272Part3.Color = Color3.new(0.803922, 0.803922, 0.803922)
273CylinderMesh4.Parent = Part3
274CylinderMesh4.Scale = Vector3.new(1, 1.20000005, 1)
275CylinderMesh4.Scale = Vector3.new(1, 1.20000005, 1)
276LocalScript5.Name = "Gun_Main"
277LocalScript5.Parent = Tool0
278table.insert(cors,sandbox(LocalScript5,function()
279
280repeat wait() until game.Players.LocalPlayer.Character
281repeat wait() until game.Players.LocalPlayer.Character:IsDescendantOf(game.Workspace)
282wait(1 / 20)
283
284--------------------------------------------------------------------------------------
285--------------------[ IGNORE MODEL ]--------------------------------------------------
286--------------------------------------------------------------------------------------
287
288local Ignore_Code = script:WaitForChild("Ignore_Code")
289
290repeat wait() until Ignore_Code.Value ~= 0
291
292local Ignore_Model = game.Workspace:WaitForChild("Ignore_Model_"..Ignore_Code.Value)
293
294--------------------------------------------------------------------------------------
295--------------------[ CONSTANTS ]-----------------------------------------------------
296--------------------------------------------------------------------------------------
297
298local Gun = script.Parent
299local Handle = Gun:WaitForChild("Handle")
300local AimPart = Gun:WaitForChild("AimPart")
301local Main = Gun:WaitForChild("Main")
302
303local Ammo = Gun:WaitForChild("Fire")
304local ClipSize = Gun:WaitForChild("ClipSize")
305local StoredAmmo = Gun:WaitForChild("StoredFire")
306
307local LethalGrenades = Gun:WaitForChild("LethalGrenades")
308local TacticalGrenades = Gun:WaitForChild("TacticalGrenades")
309
310local S = {
311
312
313 GunName = "Scorcher"; --This is the name that will be displayed on the Tool
314 Description = "Gasoline"; --This will be the text that is displayed above the tool when the mouse is hovering over it
315
316
317 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
318 true, and Burst and Auto can't both be true)]]
319 Semi = false; --Set this true if you want the gun to be semi-automatic. (Pistols, Snipers, etc)
320 Auto = true; --Set this true if you want the gun to be fully automatic. (Assault Rifles, Submachine guns, machine guns, etc)
321 Burst = false; --Set this true if you want the gun to be burst fire. (Battle rifles, assault rifles, etc)
322 Shot = false; --Set this true if you want the gun to be a shotgun. (NOTE: Shot and auto can both be true)
323 Explosive = false; --Set this true if you want the projectiles to be explosive. (Rocket launchers, grenade launchers, etc)
324 };
325
326
327 BurstAmount = 3; --This is how many bullets will be fired in one burst (if Burst is true)
328 BurstTime = 0.2; --This is how long it takes for a burst to complete
329 BurstWait = 0.1; --This is how much time you have to wait before you can fire another burst
330
331
332 ShotAmount = 5; --This is how many bullets will be fired in one shot (if Shot is true)
333
334
335 ExplosionRadius = 20; --This is the radius of the explosion when the bullet hits a target. (If Explosive is true)
336 ExplosionPressure = 5e5; --This is the pressure of the explosion when the bullet hits the target
337 ExplosionType = Enum.ExplosionType.NoCraters; --This is the type of explosion
338 --[[
339 (0 or "NoCraters" or Enum.ExplosionType.NoCraters) means that the explosion will not damage terrain
340 (1 or "Craters" or Enum.ExplosionType.Craters) means that the explosion will leave craters in terrain
341 (2 or "CratersAndDebris" or Enum.ExplosionType.CratersAndDebris) means that the explosion will leave craters and debris in terrain
342 --]]
343 ExplosionSound = "http://www.roblox.com/asset/?id=142070127"; --This is what the sound of the explosion will be
344 ExplosionSoundPitch = 1; --This is what the pitch of the explosion sound will be
345 ExplosionSoundVolume = 1; --This is what the volume of the explosion sound will be
346 RayCastExplosions = true; --[[This is whether or not explosions will have raycasting. If this is true, humanoids behind walls
347 won't be damaged. If this is false, any humanoid within the radius will be damaged. (NOTE: RangeBasedDamage has to be true in
348 order for explosions to have raycasting)]]
349 RangeBasedDamage = true; --[[This is whether or not will depend on how far the object is from the center of the explosion. If this
350 is true, the farther a humanoid is from the blast center, the less damage it'll take. If this is false, any object within
351 the explosion's radius will have its joints broken]]
352
353
354 PlayerArms = true; --This is whether or not the fake arms will look like the Player's arms
355 FakeArmTransparency = 0; --This is the transparency of the fake arms
356 FakeArmRealBodyColor = true; --This is whether or not the color of the fake arm will be the color of the player's real arms
357 FakeArmColor = BrickColor.new("Pastel brown"); --This is what the color of the fake arms will be if FakeArmRealBodyColor is false
358
359
360 ArmC1_UnAimed = { --This table contains the CFrames of the arms when the gun is not aimed
361 Left = CFrame.new(0.1, 1.5, -0.3) * CFrame.Angles(0, 0, math.rad(-50)); --This is the cframe of the left arm
362 Right = CFrame.new(0.4, 0.25, -0.3) * CFrame.Angles(0, 0, math.rad(25)); --This is the cframe of the right arm
363 };
364 ArmC1_Aimed = { --This table contains the CFrames of the arms when the gun is aimed
365 Left = CFrame.new(-0.1, 1.2, 0.1) * CFrame.Angles(0, 0, math.rad(-35)); --This is the cframe of the left arm
366 Right = CFrame.new(0.3, 0.707, -0.01) * CFrame.Angles(0, 0, math.rad(50)); --This is the cframe of the right arm
367 };
368
369
370 PlayerAnimations = true; --This is whether or not the player will have custom animations
371 AimAnimation = true; --This is whether or not there is an animation for aiming down the sights
372 ReloadAnimation = true; --This is whether or not there is an animation for reloading
373 StanceAnimation = true; --This is whether or not there is an animation for changing stance
374
375
376 AimSpeed = 0.15; --This is how long the gun will take to fully aim down the sights
377 MaxZoom = 40; --This is the FOV that the Camera will have when the gun is fully aimed down
378 HoldMouseOrKeyToADS = true; --This is whether or not you have to hold the right mouse or the ADS key to ADS
379
380
381 GuiScope = false; --This is whether or not your Scope will be a gui instead of a normal sight
382 GuiId = "http://www.roblox.com/asset/?id=160682367"; --This is the ImageId of the GuiScope
383 ScopeSway = .1; --This is the sway, in radians, of the camera
384
385
386 ScopeSteadyTime = 8; --This is how long you can hold your breath to steady the scope
387 SteadyCooldownTime = 4; --This is how long it takes to fully retake your breath
388 UnSteadyOnFire = true; --This is whether or not the camera will become unsteady when you fire the gun
389
390
391 FireRate = 3000; --This is how many bullets per minute the gun will fire
392 BulletRange = 70; --This is how far the bullet will travel before it is no longer effective
393
394
395 InstantHit = false; --[[This is whether or not the bullet will hit a target instantly. If it is false, the bullet will travel at a
396 specific speed till it hits a target]]
397 BulletVelocity = 100; --This is how fast the bullet will travel in studs per second
398
399
400 Damage = 60; --This is the base damage. That means that this is the least amount of damage that will be inflicted
401 Multipliers = { --[[These are the damage multipliers. There's a spread of +0.1. That means that if the multiplier is 1, the actual
402 multiplier will range from 1 - 1.1]]
403 Chest = 1; --This is what the damage will be multiplied by if the bullet hits the chest
404 Head = 1.5; --This is what the damage will be multiplied by if the bullet hits the head or a hat
405 Limbs = .5; --This is what the damage will be multiplied by if the bullet hits a limb (Arms or legs)
406 };
407
408
409 AllowFriendlyFire = false; --This is whether or not you can damage teammates
410 CanDamageNPCs = true; --This is whether or not you can damage NPC's (Zombies, fake players, anything with a humanoid)
411
412
413 RotateWhileSitting = false; --This is whether or not your player will rotate when you are sitting down
414
415
416 CanKnife = false; --This is whether or not you can knife
417 KnifeMeshId = "http://www.roblox.com/asset/?id=121944778"; --This is the Mesh of the knife
418 KnifeTextureId = "http://www.roblox.com/asset/?id=121944805"; --This is the Texture of the knife
419 KnifeCooldown = 0.5; --This is how long you have to wait before you can knife again
420
421
422 Throwables = false; --This is whether or not you have grenades
423 TrajectoryAssist = true; --This is whether or not the script will show you the flight path of the grenade before you throw it
424 DetonationTime = 0.5; --[[This is how long the grenade will wait to detonate (If DetonateOnHit is false, this is how long the
425 grenade will wait after it's thrown. If DetonateOnHit is true, this is how long the grenade will wait after it hits something]]
426 TimerStartOnHit = true; --This is whether or not the timer will start when the grenade hits something
427 GrenadeColor = BrickColor.new("Black"); --This is the color of the grenade
428 GrenadeSize = Vector3.new(0.8, 0.8, 0.8); --This is the size of the grenade (Doesn't apply to throwing knives)
429
430
431 GrenadeBlastRadius = 12; --This is the blast radius of the explosion (Doesn't apply to non-explosive grenades)
432 GrenadeBlastPressure = 5e5; --This is what the blast pressure of the explosion (Doesn't apply to non-explosive grenades)
433 GrenadeExplosionType = Enum.ExplosionType.NoCraters; --This is the type of explosion (Doesn't apply to non-explosive grenades)
434 --[[
435 (0 or "NoCraters" or Enum.ExplosionType.NoCraters) means that the explosion will not damage terrain
436 (1 or "Craters" or Enum.ExplosionType.Craters) means that the explosion will leave craters in terrain
437 (2 or "CratersAndDebris" or Enum.ExplosionType.CratersAndDebris) means that the explosion will leave craters and debris in terrain
438 --]]
439 LethalGrenadeDamage = 150; --This is max damage that the grenade will do
440 LethalGrenadeThrowVelocity = 170; --This is the speed at which the lethal grenade is thrown
441 GrenadeRayCastExplosions = true; --[[This is whether or not grenade explosions will have raycasting. If this is true, humanoids
442 behind walls won't be damaged. If this is false, any humanoid within the radius will be damaged. (NOTE: GrenadeRangeBasedDamage
443 has to be true in order for explosions to have raycasting)]]
444 GrenadeRangeBasedDamage = true; --[[This is whether or not will depend on how far the object is from the center of the explosion.
445 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
446 within the explosion's radius will have its joints broken]]
447 LethalGrenadeType = 1; --This is the lethal grenade type
448 --[[
449 Type 1: Frag grenade [An explosive grenade]
450 Type 2: Sticky [An explosive grenade that sticks to a surface]
451 Type 3: Throwing Knife [A throwable knife]
452 --]]
453
454 TacticalGrenadeThrowVelocity = 200; --This is the speed at which the tactical grenade is thrown
455 GrenadeEffectRadius = 70; --[[This is the radius of the effect of the grenade. If the Grenade is a smoke, this is the radius of
456 the smoke]]
457 GrenadeEffectTime = 10; --[[This is the how long the grenade effect will last. If the grenade is a smoke, this is how long the
458 smoke will linger]]
459 TacticalGrenadeType = 1; --This is the tactical grenade type
460 --[[
461 Type 1: Smoke grenade [A grenade that creates a cloud of smoke]
462 --]]
463
464
465 GrenadeTrail = false; --This is whether or not the grenade will have a trail
466 GrenadeTrailColor = BrickColor.new("Black"); --This is the color of the grenade trail
467 GrenadeTrailTransparency = 0.6; --This is the transparency of the trail
468 GrenadeTrailThickness = 0.3; --This is the thickness of the trail
469 GrenadeTrailVisibleTime = 0.1; --This is how long the trail will be visible for
470 GrenadeTrailDisappearTime = 0.2; --This is how long it will take for the trail to disappear
471
472
473 BulletColor = BrickColor.new("Bright orange"); --This is the color of the bullet
474 BulletTransparency = 0.9; --This is the transparency of the bullet
475 BulletTReflectance = 0;
476 BulletSize = Vector3.new(1, 1, 1); --This is the actual size of the bullet
477 BulletMeshSize = Vector3.new(0, 0, 0); --This is the mesh size of the bullet.
478 --BulletSize * BulletMeshSize = How big the bullet looks
479
480
481 BulletTrail = true; --This is whether or not there will be a trail behind the bullet
482 TrailColor = BrickColor.new("Fossil"); --This is the color of the bullet trail
483 TrailTransparency = 1; --This is the transparency of the trail
484 TrailThickness = 0.2; --This is the thickness of the trail
485 TrailVisibleTime = 25; --This is how long the trail will be visible for
486 TrailDisappearTime = 10; --This is how long it will take for the trail to disappear
487
488
489 BulletHoles = true; --This is whether or not bullet holes will appear where you shot
490 BulletHoleTexture = "http://www.roblox.com/asset/?id=36494217"; --This is the texture of the bullet hole
491 BulletHoleSize = 1; --This is how big the bullet hole will be in studs
492 BulletHoleVisibleTime = 3; --This is how long the bullet hole will be visible for
493 BulletHoleDisappearTime = 10; --This is how long it will take for the bullet hole to disappear
494
495
496 Shockwaves = true; --This is whether or not a shockwave will appear where you shot. (A sphere that appears when the bullet hits)
497 ShockwaveRadius = 0.3; --This is the radius of the shockwave. (If the gun type is explosion, this radius will be the blast radius)
498 ShockwaveColor = BrickColor.new("Light stone grey"); --This is the color of the shockwave
499 ShockwaveDuration = 0.2; --This is how long the shockwave will take to disappear
500
501
502 Penetration = 0; --[[This is how many studs a bullet can penetrate into a wall. So if penetration is 2 and the wall is 3 studs
503 thick, the bullet won't come out the other side]]
504
505
506 BulletDropPerSecond = 120; --This is the bullet's acceleration downward per second (196.2 is normal roblox gravity)
507
508
509 Recoil = {
510 Aimed = 0.2; --This is the recoil the gun will have when the gun is aimed down
511 Hipfire = 1; --This is the recoil the gun will have when the gun is fired from the hip
512 };
513 Spread = { --[[This spread values are how many degrees offset / 20 the bullets from the center the bullets will travel. So a spread
514 of 20 would mean that the bullet's max spread in any direction is 1 degree from the center]]
515 Aimed = 0; --This is the spread when the gun is aimed down. it isn't affected by the multiplier.
516 Hipfire = 20; --This is the base spread when the gun is fired from the hip
517 Max = 40; --This is the highest the spread can be when fired
518 Multiplier = 1.1; --This is how much the spread will be multiplied by when fired. It only affects the Hipfire spread
519 Walking = 0; --This is the spread while walking. It isn't affected by the multiplier
520 };
521
522
523 ReloadTime = 6.5; --This is how long it takes to reload the gun
524 AutoReload = true; --This is whether or not the gun will reload automatically when the ammo reaches 0
525
526
527 SprintTime = 0; --This is the maximum time you can sprint
528 StaminaCoolTime = 0; --This is how long it takes for your stamina to fully recharge
529
530
531 DolphinDive = false; --This is whether or not you can dolphin dive (Run and crouch at the same time to dive)
532 DiveRechargeTime = 1; --This is how long you have to wait till you can dive or run again after you've dived
533
534
535 CanChangeStance = true; --This is whether or not you can change stance. That means whether or not you can crouch or go prone
536 StanceChangeSpeed = 0.25; --This is how quickly you change stance
537 StandOnDeselect = true; --This is whether or not you stand up when you deselect the tool
538
539
540 BaseWalkSpeed = 12; --This is the base walkspeed
541 SprintSpeed = 12; --This is the walkspeed when you're sprinting
542 AimedWalkSpeed = 8; --[[This is the base walkspeed when the gun is aimed down. If you crouch or go prone, the speed will change
543 based on the AimedWalkSpeed to BaseWalkSpeed ratio]]
544 CrouchWalkSpeed = 6; --This is the walkspeed when you're crouched
545 ProneWalkSpeed = 2; --This is the walkspeed when you're prone
546
547
548 --NOTE: For extra keys, go here: http://wiki.roblox.com/index.php?title=Taking_keyboard_input
549 LowerStanceKey = "c"; --This is the key you press to lower your stance (Stand > Crouch > Prone)
550 RaiseStanceKey = "x"; --This is the key you press to raise your stance (Prone > Crouch > Stand)
551 SwitchFireKey = "v"; --This is the key you press to switch fire modes
552 ReloadKey = "r"; --This is the key you press to reload
553 SprintKey = string.char(48); --This is the key you press to sprint
554 KnifeKey = "f"; --This is the key you press to knife
555 LethalGrenadeKey = "g"; --This is the key you press to throw the lethal grenade
556 TacticalGrenadeKey = "t"; --This is the key you press to throw the tactical grenade
557 ADSKey = "q"; --This is the key you press to ADS. If you want ADS to just be right mouse, then make this key ""
558 ScopeSteadyKey = string.char(48); --This is the key you press to steady the scope
559
560
561}
562
563local Player = game.Players.LocalPlayer
564local Character = Player.Character
565local Humanoid = Character:WaitForChild("Humanoid")
566local Torso = Character:WaitForChild("Torso")
567local Head = Character:WaitForChild("Head")
568local HRP = Character:WaitForChild("HumanoidRootPart")
569
570local Neck = Torso:WaitForChild("Neck")
571
572local LArm = Character:WaitForChild("Left Arm")
573local RArm = Character:WaitForChild("Right Arm")
574local LLeg = Character:WaitForChild("Left Leg")
575local RLeg = Character:WaitForChild("Right Leg")
576
577local M2 = Player:GetMouse()
578local Main_Gui = script:WaitForChild("Main_Gui")
579
580local RS = game:GetService("RunService").RenderStepped
581
582local Camera = game.Workspace.CurrentCamera
583
584local ABS, HUGE, FLOOR, CEIL = math.abs, math.huge, math.floor, math.ceil
585local RAD, SIN, ATAN, COS = math.rad, math.sin, math.atan2, math.cos
586local VEC3 = Vector3.new
587local CF, CFANG = CFrame.new, CFrame.Angles
588local INSERT = table.insert
589
590local MaxStamina = S.SprintTime * 60
591local MaxSteadyTime = S.ScopeSteadyTime * 60
592
593local LethalIcons = {
594 "http://www.roblox.com/asset/?id=194849880";
595 "http://www.roblox.com/asset/?id=195727791";
596 "http://www.roblox.com/asset/?id=195728137";
597}
598
599local TacticalIcons = {
600 "http://www.roblox.com/asset/?id=195728473";
601 "http://www.roblox.com/asset/?id=195728693";
602}
603
604local Ignore = {
605 Character;
606 Ignore_Model;
607}
608
609local StanceOffset = {
610 VEC3(0, 0, 0);
611 VEC3(0, -1, 0);
612 VEC3(0, -3, 0);
613}
614
615local Shoulders = {
616 Right = Torso:WaitForChild("Right Shoulder");
617 Left = Torso:WaitForChild("Left Shoulder")
618}
619
620local ArmC0 = {
621 CF(-1.5, 0, 0) * CFANG(RAD(90), 0, 0);
622 CF(1.5, 0, 0) * CFANG(RAD(90), 0, 0);
623}
624
625local Sine = function(X)
626 return SIN(RAD(X))
627end
628
629local Linear = function(X)
630 return (X / 90)
631end
632
633--------------------------------------------------------------------------------------
634--------------------[ VARIABLES ]-----------------------------------------------------
635--------------------------------------------------------------------------------------
636
637local Selected = false
638
639local Idleing = false
640local Walking = false
641local Running = false
642
643local Aimed = false
644local Aiming = false
645
646local Reloading = false
647local BreakReload = false
648
649local Knifing = false
650local ThrowingGrenade = false
651
652local MB1_Down = false
653
654local CanFire = true
655
656local KnifeReady = true
657
658local CanRun = true
659local RunTween = false
660local Run_Key_Pressed = false
661local ChargingStamina = false
662
663local AimingIn = false
664local AimingOut = false
665
666local Stamina = S.SprintTime * 60
667local CurrentSteadyTime = S.ScopeSteadyTime * 60
668
669local CameraSteady = false
670local TakingBreath = false
671
672local Grip = nil
673local Aimed_GripCF = nil
674
675local Gui_Clone = nil
676
677local CurrentSpread = S.Spread.Hipfire
678local CurrentRecoil = S.Recoil.Hipfire
679
680local AmmoInClip = 0
681
682local Stance = 0
683local StanceSway = 1
684local CameraSway = 1
685
686local HeadRot = 0
687local ArmTilt = 0
688
689local LastBeat = 0
690
691local Parts = {}
692
693local Connections = {}
694
695local PrevNeckCF = {
696 C0 = nil;
697 C1 = nil;
698}
699
700local Keys = {}
701
702--------------------------------------------------------------------------------------
703--------------------[ PRE-LOADING ]---------------------------------------------------
704--------------------------------------------------------------------------------------
705
706local ContentProvider = game:GetService("ContentProvider")
707ContentProvider:Preload(S.ExplosionSound)
708ContentProvider:Preload(S.KnifeMeshId)
709ContentProvider:Preload(S.KnifeTextureId)
710ContentProvider:Preload(S.BulletHoleTexture)
711
712--------------------------------------------------------------------------------------
713--------------------[ ANIMATIONS ]----------------------------------------------------
714--------------------------------------------------------------------------------------
715
716local AnimAng = {0, 0, 0, 0, 0}
717
718local AnimCF = function(State, Ang)
719 if State ~= "Running" then
720 if (not Aimed) then
721 if State == "Idleing" then
722 return CF(
723 RAD(SIN(Ang)) / 2 * StanceSway,
724 1 + RAD(SIN(Ang * 5 / 2)) / 2 * StanceSway, 0
725 )
726 elseif State == "Walking" then
727 return CF(
728 RAD(SIN(Ang)) * 2 * StanceSway,
729 1 + RAD(ABS(SIN(Ang))) * 2 * StanceSway, 0
730 ) * CFANG(0, RAD(SIN(Ang)) / 3, 0)
731 end
732 elseif Aimed then
733 if State == "Idleing" then
734 return CF(
735 RAD(SIN(Ang)) / 4 * StanceSway,
736 1 + RAD(SIN(Ang * 5 / 2)) / 4 * StanceSway, 0
737 )
738 elseif State == "Walking" then
739 return CF(
740 RAD(SIN(Ang)) / 3 * StanceSway,
741 1 + RAD(ABS(SIN(Ang))) / 3 * StanceSway, 0
742 )
743 end
744 end
745 elseif State == "Running" then
746 return CF(
747 SIN(Ang) / 6 * StanceSway,
748 0.9 + ABS(SIN(Ang)) / 5 * StanceSway, 0
749 ) * CFANG(0, -RAD(SIN(Ang)) * 7, 0)
750 end
751end
752
753function Animate()
754 local IsIdleing = false
755 local IsWalking = false
756 local IsRunning = false
757 spawn(function()
758 while Selected do
759 IsIdleing = Idleing and (not Walking) and (not Reloading) and (not Knifing) and (not ThrowingGrenade) and Selected
760 IsWalking = (not Idleing) and Walking and (not Running) and (not Reloading) and (not Knifing) and (not ThrowingGrenade) and Selected
761 IsRunning = (not Idleing) and Walking and Running and (not Aiming) and (not Knifing) and (not ThrowingGrenade) and Selected
762 RS:wait()
763 end
764 IsIdleing = false
765 IsWalking = false
766 IsRunning = false
767 end)
768 spawn(function()
769 if S.PlayerAnimations then
770 TweenJoint(LWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, 0.15)
771 TweenJoint(RWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, 0.15)
772 local PreviousArmTilt = ArmTilt
773 while Selected do
774 repeat RS:wait() until (ArmTilt ~= PreviousArmTilt) or (not Selected)
775 if (not IsRunning) and (not Aimed) and (not Reloading) and (not Knifing) and (not ThrowingGrenade) and Selected then
776 PreviousArmTilt = ArmTilt
777 TweenJoint(LWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, 0.15)
778 TweenJoint(RWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, 0.15)
779 end
780 RS:wait()
781 end
782 end
783 end)
784 spawn(function()
785 while Selected do
786 if IsIdleing then
787 if (not Aimed) and (not Aiming) then
788 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
789 UDim2.new(0, 70, 0, 70),
790 UDim2.new(0, -35, 0, -35),
791 Enum.EasingDirection.Out,
792 Enum.EasingStyle.Linear,
793 S.PlayerAnimations and 0.15 or 0,
794 true
795 )
796 if S.PlayerAnimations then
797 TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Sine, 0.15)
798 TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Sine, 0.15)
799 TweenJoint(AnimWeld, AnimCF("Idleing", AnimAng[1]), CF(), Sine, 0.15)
800 TweenJoint(Grip, Grip.C0, CFANG(0, RAD(20), 0), Sine, 0.15)
801 else
802 if (not LWeld:FindFirstChild("TweenCode"))
803 and (not RWeld:FindFirstChild("TweenCode"))
804 and (not ABWeld:FindFirstChild("TweenCode"))
805 and (not AnimWeld:FindFirstChild("TweenCode")) then
806 LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_UnAimed.Left
807 RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_UnAimed.Right
808 AnimWeld.C0 = CF(0, 1, 0)
809 Grip.C1 = CFANG(0, RAD(20), 0)
810 end
811 end
812 elseif Aimed and (not Aiming) then
813 if S.PlayerAnimations then
814 TweenJoint(LWeld, ArmC0[1], S.ArmC1_Aimed.Left, Sine, 0.15)
815 TweenJoint(RWeld, ArmC0[2], S.ArmC1_Aimed.Right, Sine, 0.15)
816 TweenJoint(AnimWeld, AnimCF("Idleing", AnimAng[2]), CF(), Sine, 0.15)
817 else
818 if (not LWeld:FindFirstChild("TweenCode"))
819 and (not RWeld:FindFirstChild("TweenCode"))
820 and (not ABWeld:FindFirstChild("TweenCode"))
821 and (not AnimWeld:FindFirstChild("TweenCode")) then
822 LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_Aimed.Left
823 RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_Aimed.Right
824 AnimWeld.C0 = CF(0, 1, 0)
825 Grip.C1 = Aimed_GripCF
826 end
827 end
828 end
829 if S.PlayerAnimations then
830 wait(0.15)
831 RunTween = false
832 while IsIdleing do
833 if (not LWeld:FindFirstChild("TweenCode"))
834 and (not RWeld:FindFirstChild("TweenCode"))
835 and (not ABWeld:FindFirstChild("TweenCode"))
836 and (not AnimWeld:FindFirstChild("TweenCode")) then
837 if (not Aimed) and (not Aiming) then
838 AnimWeld.C0 = AnimCF("Idleing", AnimAng[1])
839 AnimAng[1] = AnimAng[1] + 0.03 * StanceSway
840 elseif Aimed and (not Aiming) then
841 AnimWeld.C0 = AnimCF("Idleing", AnimAng[2])
842 AnimAng[2] = AnimAng[2] + 0.015 * StanceSway
843 end
844 end
845 RS:wait()
846 end
847 AnimAng[1], AnimAng[2] = 0, 0
848 end
849 end
850 if IsWalking then
851 if (not Aimed) and (not Aiming) then
852 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
853 UDim2.new(0, 150, 0, 150),
854 UDim2.new(0, -75, 0, -75),
855 Enum.EasingDirection.Out,
856 Enum.EasingStyle.Linear,
857 S.PlayerAnimations and 0.15 or 0,
858 true
859 )
860 if S.PlayerAnimations then
861 TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Sine, 0.15)
862 TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Sine, 0.15)
863 TweenJoint(AnimWeld, AnimCF("Walking", AnimAng[3]), CF(), Sine, 0.15)
864 TweenJoint(Grip, Grip.C0, CFANG(0, RAD(20), 0), Sine, 0.15)
865 else
866 if (not LWeld:FindFirstChild("TweenCode"))
867 and (not RWeld:FindFirstChild("TweenCode"))
868 and (not ABWeld:FindFirstChild("TweenCode"))
869 and (not AnimWeld:FindFirstChild("TweenCode")) then
870 LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_UnAimed.Left
871 RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_UnAimed.Right
872 AnimWeld.C0 = CF(0, 1, 0)
873 Grip.C1 = CFANG(0, RAD(20), 0)
874 end
875 end
876 elseif Aimed and (not Aiming) then
877 if S.PlayerAnimations then
878 TweenJoint(LWeld, ArmC0[1], S.ArmC1_Aimed.Left, Sine, 0.15)
879 TweenJoint(RWeld, ArmC0[2], S.ArmC1_Aimed.Right, Sine, 0.15)
880 TweenJoint(AnimWeld, AnimCF("Walking", AnimAng[4]), CF(), Sine, 0.15)
881 else
882 if (not LWeld:FindFirstChild("TweenCode"))
883 and (not RWeld:FindFirstChild("TweenCode"))
884 and (not ABWeld:FindFirstChild("TweenCode"))
885 and (not AnimWeld:FindFirstChild("TweenCode")) then
886 LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_Aimed.Left
887 RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_Aimed.Right
888 AnimWeld.C0 = CF(0, 1, 0)
889 Grip.C1 = Aimed_GripCF
890 end
891 end
892 end
893 if S.PlayerAnimations then
894 wait(0.15)
895 RunTween = false
896 while IsWalking do
897 if (not LWeld:FindFirstChild("TweenCode"))
898 and (not RWeld:FindFirstChild("TweenCode"))
899 and (not ABWeld:FindFirstChild("TweenCode"))
900 and (not AnimWeld:FindFirstChild("TweenCode"))then
901 if (not Aimed) and (not Aiming) then
902 AnimWeld.C0 = AnimCF("Walking", AnimAng[3])
903 AnimAng[3] = AnimAng[3] + 0.15 * StanceSway
904 elseif Aimed and (not Aiming) then
905 AnimWeld.C0 = AnimCF("Walking", AnimAng[4])
906 AnimAng[4] = AnimAng[4] + 0.1 * StanceSway
907 end
908 end
909 RS:wait()
910 end
911 AnimAng[3], AnimAng[4] = 0, 0
912 end
913 end
914 if IsRunning then
915 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
916 UDim2.new(0, 200, 0, 200),
917 UDim2.new(0, -100, 0, -100),
918 Enum.EasingDirection.Out,
919 Enum.EasingStyle.Linear,
920 S.PlayerAnimations and 0.15 or 0,
921 true
922 )
923 local LArmCF = CF(0, 0.7 - (SIN(AnimAng[5]) + 1)/15, 0)
924 local LArmAng = CFANG(RAD(ABS(COS(AnimAng[5]))) * 10 + RAD(35), RAD(-30), RAD((SIN(AnimAng[5]) + 1) * 15 - 40))
925 local RArmCF = CF(0, (SIN(AnimAng[5]) + 1)/2, 0)
926 local RArmAng = CFANG(RAD(ABS(COS(AnimAng[5]))) * 10 + RAD(20), 0, RAD(50 + (SIN(AnimAng[5]) + 1) * 5))
927 if S.PlayerAnimations then
928 TweenJoint(LWeld, ArmC0[1], LArmCF * LArmAng, Sine, 0.15)
929 TweenJoint(RWeld, ArmC0[2], RArmCF * RArmAng, Sine, 0.15)
930 TweenJoint(AnimWeld, AnimCF("Running", AnimAng[5]), CF(), Sine, 0.15)
931 TweenJoint(Grip, Grip.C0, CFANG(0, RAD(-5), 0), Sine, 0.15)
932 else
933 LWeld.C0, LWeld.C1 = ArmC0[1], LArmCF * LArmAng
934 RWeld.C0, RWeld.C1 = ArmC0[2], RArmCF * RArmAng
935 AnimWeld.C0 = CF(0, 0.9, 0)
936 Grip.C1 = CFANG(0, RAD(-5), 0)
937 end
938 if S.PlayerAnimations then
939 RunTween = true
940 wait(0.15)
941 while IsRunning do
942 if (not Aiming) then
943 AnimWeld.C0 = AnimCF("Running", AnimAng[5])
944 AnimAng[5] = AnimAng[5] + 0.18
945 end
946 RS:wait()
947 end
948 AnimAng[5] = 0
949 end
950 end
951 RS:wait()
952 end
953 end)
954end
955
956--------------------------------------------------------------------------------------
957--------------------[ GUN SETUP ]-----------------------------------------------------
958--------------------------------------------------------------------------------------
959
960Gun.Name = S.GunName
961Gun.ToolTip = S.Description
962
963--------------------------------------------------------------------------------------
964--------------------[ PRE-CONNECTIONS ]-----------------------------------------------
965--------------------------------------------------------------------------------------
966
967RS:connect(function()
968 local Forward = (Keys["w"] or Keys[string.char(17)])
969 local Backward = (Keys["s"] or Keys[string.char(18)])
970 local Right = (Keys["d"] or Keys[string.char(19)])
971 local Left = (Keys["a"] or Keys[string.char(20)])
972
973 if (Forward or Backward or Right or Left) then
974 Walking, Idleing = true, false
975 elseif (not (Forward and Backward and Right and Left)) then
976 Walking, Idleing = false, true
977 end
978end)
979
980M2.KeyDown:connect(function(Key) Keys[Key] = true end)
981M2.KeyUp:connect(function(Key) Keys[Key] = false end)
982
983--------------------------------------------------------------------------------------
984--------------------[ WELDING ]-------------------------------------------------------
985--------------------------------------------------------------------------------------
986
987spawn(function()
988 for _, v in pairs(Gun:GetChildren()) do
989 if v:IsA("BasePart") and v ~= Handle then
990 if v:FindFirstChild("MainWeld") then v.MainWeld:Destroy() end
991 if (not v:FindFirstChild("WeldCF")) then
992 local WeldCF = Instance.new("CFrameValue")
993 WeldCF.Name = "WeldCF"
994 WeldCF.Value = Handle.CFrame:toObjectSpace(v.CFrame)
995 WeldCF.Parent = v
996 end
997 INSERT(Parts, {Obj = v, Weld = nil})
998 v.Anchored = false
999 end
1000 end
1001 Handle.Anchored = false
1002end)
1003
1004--------------------------------------------------------------------------------------
1005--------------------[ MAIN PROGRAM ]--------------------------------------------------
1006--------------------------------------------------------------------------------------
1007
1008--------------------[ ARM CREATION FUNCTION ]-----------------------------------------
1009
1010function CreateArms()
1011 local Arms = {}
1012 for i = 0, 1 do
1013 local ArmModel = Instance.new("Model")
1014 ArmModel.Name = "ArmModel"
1015
1016 local Arm = Instance.new("Part")
1017 Arm.BrickColor = (S.FakeArmRealBodyColor and (i == 0 and LArm.BrickColor or RArm.BrickColor) or S.FakeArmColor)
1018 Arm.Transparency = S.FakeArmTransparency
1019 Arm.Name = "Arm"
1020 Arm.CanCollide = false
1021 Arm.Size = VEC3(1, 2, 1)
1022 Arm.Parent = ArmModel
1023 local ArmMesh = Instance.new("SpecialMesh")
1024 ArmMesh.MeshId = "rbxasset://fonts//rightarm.mesh"
1025 ArmMesh.MeshType = Enum.MeshType.FileMesh
1026 ArmMesh.Scale = VEC3(0.65, 1, 0.65)
1027 ArmMesh.Parent = Arm
1028
1029 local Sleeve1 = Instance.new("Part")
1030 Sleeve1.BrickColor = BrickColor.new("Sand green")
1031 Sleeve1.Name = "Sleeve1"
1032 Sleeve1.CanCollide = false
1033 Sleeve1.Size = VEC3(1, 2, 1)
1034 Sleeve1.Parent = ArmModel
1035 local Sleeve1Mesh = Instance.new("BlockMesh")
1036 Sleeve1Mesh.Offset = VEC3(0, 0.66, 0)
1037 Sleeve1Mesh.Scale = VEC3(0.656, 0.35, 0.656)
1038 Sleeve1Mesh.Parent = Sleeve1
1039 local Sleeve1Weld = Instance.new("Weld")
1040 Sleeve1Weld.Part0 = Arm
1041 Sleeve1Weld.Part1 = Sleeve1
1042 Sleeve1Weld.Parent = Arm
1043
1044 local Sleeve2 = Instance.new("Part")
1045 Sleeve2.BrickColor = BrickColor.new("Sand green")
1046 Sleeve2.Name = "Sleeve2"
1047 Sleeve2.CanCollide = false
1048 Sleeve2.Size = VEC3(1, 2, 1)
1049 Sleeve2.Parent = ArmModel
1050 local Sleeve2Mesh = Instance.new("BlockMesh")
1051 Sleeve2Mesh.Offset = VEC3(0, 0.46, 0)
1052 Sleeve2Mesh.Scale = VEC3(0.75, 0.1, 0.75)
1053 Sleeve2Mesh.Parent = Sleeve2
1054 local Sleeve2Weld = Instance.new("Weld")
1055 Sleeve2Weld.Part0 = Arm
1056 Sleeve2Weld.Part1 = Sleeve2
1057 Sleeve2Weld.Parent = Arm
1058
1059 local Glove1 = Instance.new("Part")
1060 Glove1.BrickColor = BrickColor.new("Black")
1061 Glove1.Name = "Glove1"
1062 Glove1.CanCollide = false
1063 Glove1.Size = VEC3(1, 2, 1)
1064 Glove1.Parent = ArmModel
1065 local Glove1Mesh = Instance.new("BlockMesh")
1066 Glove1Mesh.Offset = VEC3(0, -0.4, 0)
1067 Glove1Mesh.Scale = VEC3(0.657, 0.205, 0.657)
1068 Glove1Mesh.Parent = Glove1
1069 local Glove1Weld = Instance.new("Weld")
1070 Glove1Weld.Part0 = Arm
1071 Glove1Weld.Part1 = Glove1
1072 Glove1Weld.Parent = Arm
1073
1074 local Glove2 = Instance.new("Part")
1075 Glove2.BrickColor = BrickColor.new("Black")
1076 Glove2.Name = "Glove2"
1077 Glove2.CanCollide = false
1078 Glove2.Size = VEC3(1, 2, 1)
1079 Glove2.Parent = ArmModel
1080 local Glove2Mesh = Instance.new("BlockMesh")
1081 Glove2Mesh.Offset = VEC3(0, -0.335, 0)
1082 Glove2Mesh.Scale = VEC3(0.69, 0.105, 0.69)
1083 Glove2Mesh.Parent = Glove2
1084 local Glove2Weld = Instance.new("Weld")
1085 Glove2Weld.Part0 = Arm
1086 Glove2Weld.Part1 = Glove2
1087 Glove2Weld.Parent = Arm
1088
1089 local Glove3 = Instance.new("Part")
1090 Glove3.BrickColor = BrickColor.new("Black")
1091 Glove3.Name = "Glove3"
1092 Glove3.CanCollide = false
1093 Glove3.Size = VEC3(1, 2, 1)
1094 Glove3.Parent = ArmModel
1095 local Glove3Mesh = Instance.new("BlockMesh")
1096 Glove3Mesh.Offset = VEC3(0.2 * ((i * 2) - 1), -0.8, 0)
1097 Glove3Mesh.Scale = VEC3(0.257, 0.205, 0.657)
1098 Glove3Mesh.Parent = Glove3
1099 local Glove3Weld = Instance.new("Weld")
1100 Glove3Weld.Part0 = Arm
1101 Glove3Weld.Part1 = Glove3
1102 Glove3Weld.Parent = Arm
1103
1104 table.insert(Arms, {Model = ArmModel, ArmPart = Arm})
1105 end
1106 return Arms
1107end
1108
1109--------------------[ MATH FUNCTIONS ]------------------------------------------------
1110
1111function NumLerp(A, B, Alpha)
1112 return (A + ((B - A) * Alpha))
1113end
1114
1115function RAND(Min, Max, Accuracy)
1116 local Inverse = 1 / (Accuracy or 1)
1117 return (math.random(Min * Inverse, Max * Inverse) / Inverse)
1118end
1119
1120--------------------[ TWEEN FUNCTIONS ]-----------------------------------------------
1121
1122function TweenJoint(Joint, NewC0, NewC1, Alpha, Duration)
1123 coroutine.resume(coroutine.create(function()
1124 local TweenIndicator = nil --At the current moment, this is how the script determines whether the function is already tweening a joint
1125 local NewCode = math.random(-1e9, 1e9) --This creates a random code between -1000000000 and 1000000000
1126 if (not Joint:FindFirstChild("TweenCode")) then --If the joint isn't being tweened, then
1127 TweenIndicator = Instance.new("IntValue")
1128 TweenIndicator.Name = "TweenCode"
1129 TweenIndicator.Value = NewCode
1130 TweenIndicator.Parent = Joint
1131 else
1132 TweenIndicator = Joint.TweenCode
1133 TweenIndicator.Value = NewCode --If the joint is already being tweened, this will change the code, and the tween loop will stop
1134 end
1135 local MatrixCFrame = function(CFPos, CFTop, CFBack)
1136 local CFRight = CFTop:Cross(CFBack)
1137 return CF(
1138 CFPos.x, CFPos.y, CFPos.z,
1139 CFRight.x, CFTop.x, CFBack.x,
1140 CFRight.y, CFTop.y, CFBack.y,
1141 CFRight.z, CFTop.z, CFBack.z
1142 )
1143 end
1144 local LerpCF = function(StartCF, EndCF, Alpha)
1145 local StartTop = (StartCF * CFANG(RAD(90), 0, 0)).lookVector
1146 local StartBack = -StartCF.lookVector
1147 local EndTop = (EndCF * CFANG(RAD(90), 0, 0)).lookVector
1148 local EndBack = -EndCF.lookVector
1149 local StartPos = StartCF.p
1150 local EndPos = EndCF.p
1151 local NewCF = MatrixCFrame(
1152 StartPos:lerp(EndPos, Alpha),
1153 StartTop:lerp(EndTop, Alpha),
1154 StartBack:lerp(EndBack, Alpha)
1155 )
1156 return NewCF
1157 end
1158 local StartC0 = Joint.C0
1159 local StartC1 = Joint.C1
1160 local X = 0
1161 while true do
1162 local NewX = X + math.min(1.5 / math.max(Duration, 0), 90)
1163 X = (NewX > 90 and 90 or NewX)
1164 if TweenIndicator.Value ~= NewCode then break end --This makes sure that another tween wasn't called on the same joint
1165 if (not Selected) then break end --This stops the tween if the tool is deselected
1166 if NewC0 then Joint.C0 = LerpCF(StartC0, NewC0, Alpha(X)) end
1167 if NewC1 then Joint.C1 = LerpCF(StartC1, NewC1, Alpha(X)) end
1168 if X == 90 then break end
1169 RS:wait() --This makes the for loop step every 1/60th of a second
1170 end
1171 if TweenIndicator.Value == NewCode then --If this tween functions was the last one called on a joint then it will remove the code
1172 TweenIndicator:Destroy()
1173 end
1174 end))
1175end
1176
1177function RotCamera(RotX, RotY, SmoothRot, Duration)
1178 spawn(function()
1179 if SmoothRot then
1180 local TweenIndicator = nil
1181 local NewCode = math.random(-1e9, 1e9)
1182 if (not Camera:FindFirstChild("TweenCode")) then
1183 TweenIndicator = Instance.new("IntValue")
1184 TweenIndicator.Name = "TweenCode"
1185 TweenIndicator.Value = NewCode
1186 TweenIndicator.Parent = Camera
1187 else
1188 TweenIndicator = Camera.TweenCode
1189 TweenIndicator.Value = NewCode
1190 end
1191
1192 local Step = math.min(1.5 / math.max(Duration, 0), 90)
1193 local X = 0
1194 while true do
1195 local NewX = X + Step
1196 X = (NewX > 90 and 90 or NewX)
1197 if TweenIndicator.Value ~= NewCode then break end
1198 if (not Selected) then break end
1199
1200 local CamRot = Camera.CoordinateFrame - Camera.CoordinateFrame.p
1201 local CamDist = (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude
1202 local NewCamCF = CF(Camera.Focus.p) * CamRot * CFANG(RotX / (90 / Step), RotY / (90 / Step), 0)
1203 Camera.CoordinateFrame = CF(NewCamCF.p, NewCamCF.p + NewCamCF.lookVector) * CF(0, 0, CamDist)
1204
1205 if X == 90 then break end
1206 RS:wait()
1207 end
1208
1209 if TweenIndicator.Value == NewCode then
1210 TweenIndicator:Destroy()
1211 end
1212 else
1213 local CamRot = Camera.CoordinateFrame - Camera.CoordinateFrame.p
1214 local CamDist = (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude
1215 local NewCamCF = CF(Camera.Focus.p) * CamRot * CFANG(RotX, RotY, 0)
1216 Camera.CoordinateFrame = CF(NewCamCF.p, NewCamCF.p + NewCamCF.lookVector) * CF(0, 0, CamDist)
1217 end
1218 end)
1219end
1220
1221--------------------[ GUI SETUP FUNCTION ]--------------------------------------------
1222
1223function ConvertKey(Key)
1224 if Key == string.char(8) then
1225 return "BKSPCE"
1226 elseif Key == string.char(9) then
1227 return "TAB"
1228 elseif Key == string.char(13) then
1229 return "ENTER"
1230 elseif Key == string.char(17) then
1231 return "UP"
1232 elseif Key == string.char(18) then
1233 return "DOWN"
1234 elseif Key == string.char(19) then
1235 return "RIGHT"
1236 elseif Key == string.char(20) then
1237 return "LEFT"
1238 elseif Key == string.char(22) then
1239 return "HOME"
1240 elseif Key == string.char(23) then
1241 return "END"
1242 elseif Key == string.char(27) then
1243 return "F2"
1244 elseif Key == string.char(29) then
1245 return "F4"
1246 elseif Key == string.char(30) then
1247 return "F5"
1248 elseif Key == string.char(32) or Key == " " then
1249 return "F7"
1250 elseif Key == string.char(33) or Key == "!" then
1251 return "F8"
1252 elseif Key == string.char(34) or Key == '"' then
1253 return "F9"
1254 elseif Key == string.char(35) or Key == "#" then
1255 return "F10"
1256 elseif Key == string.char(37) or Key == "%" then
1257 return "F12"
1258 elseif Key == string.char(47) or Key == "/" then
1259 return "R-SHIFT"
1260 elseif Key == string.char(48) or Key == "0" then
1261 return "L-SHIFT"
1262 elseif Key == string.char(49) or Key == "1" then
1263 return "R-CTRL"
1264 elseif Key == string.char(50) or Key == "2" then
1265 return "L-CTRL"
1266 elseif Key == string.char(51) or Key == "3" then
1267 return "R-ALT"
1268 elseif Key == string.char(52) or Key == "4" then
1269 return "L-ALT"
1270 else
1271 return string.upper(Key)
1272 end
1273end
1274
1275function CreateControlFrame(Key, Desc, Num)
1276 local Controls = Gui_Clone:WaitForChild("HUD"):WaitForChild("Controls")
1277
1278 local C = Instance.new("Frame")
1279 C.BackgroundTransparency = ((Num % 2) == 1 and 0.7 or 1)
1280 C.BorderSizePixel = 0
1281 C.Name = "C"..Num
1282 C.Position = UDim2.new(0, 0, 0, Num * 20)
1283 C.Size = UDim2.new(1, 0, 0, 20)
1284
1285 local K = Instance.new("TextLabel")
1286 K.BackgroundTransparency = 1
1287 K.Name = "Key"
1288 K.Size = UDim2.new(0, 45, 1, 0)
1289 K.Font = Enum.Font.ArialBold
1290 K.FontSize = Enum.FontSize.Size14
1291 K.Text = Key
1292 K.TextColor3 = Color3.new(1, 1, 1)
1293 K.TextScaled = (string.len(Key) > 5)
1294 K.TextWrapped = (string.len(Key) > 5)
1295 K.Parent = C
1296
1297 local D = Instance.new("TextLabel")
1298 D.BackgroundTransparency = 1
1299 D.Name = "Desc"
1300 D.Position = UDim2.new(0, 50, 0, 0)
1301 D.Size = UDim2.new(1, -50, 1, 0)
1302 D.Font = Enum.Font.ArialBold
1303 D.FontSize = Enum.FontSize.Size14
1304 D.Text = "- "..Desc
1305 D.TextColor3 = Color3.new(85, 1, 255)
1306 D.TextXAlignment = Enum.TextXAlignment.Left
1307 D.Parent = C
1308
1309 C.Parent = Controls
1310end
1311
1312function SetUpGui()
1313 local HUD = Gui_Clone:WaitForChild("HUD")
1314 local Scope = Gui_Clone:WaitForChild("Scope")
1315 local Grenades = HUD:WaitForChild("Grenades")
1316 local Controls = HUD:WaitForChild("Controls")
1317 local CurrentNum = 1
1318
1319 if S.CanChangeStance then
1320 local Dive = (S.DolphinDive and " / Dive" or "")
1321 CreateControlFrame(ConvertKey(S.LowerStanceKey), "Lower Stance"..Dive, CurrentNum)
1322 CurrentNum = CurrentNum + 1
1323
1324 CreateControlFrame(ConvertKey(S.RaiseStanceKey), "Raise Stance", CurrentNum)
1325 CurrentNum = CurrentNum + 1
1326 end
1327
1328 CreateControlFrame(ConvertKey(S.ReloadKey), "Reload", CurrentNum)
1329 CurrentNum = CurrentNum + 1
1330
1331 if S.CanKnife then
1332 CreateControlFrame(ConvertKey(S.KnifeKey), "Knife", CurrentNum)
1333 CurrentNum = CurrentNum + 1
1334 end
1335
1336 if S.Throwables then
1337 CreateControlFrame(ConvertKey(S.LethalGrenadeKey), "Throw Lethal", CurrentNum)
1338 CurrentNum = CurrentNum + 1
1339
1340 CreateControlFrame(ConvertKey(S.TacticalGrenadeKey), "Throw Tactical", CurrentNum)
1341 CurrentNum = CurrentNum + 1
1342 else
1343 Grenades.Visible = false
1344 HUD.Position = UDim2.new(1, -200, 1, -100)
1345 HUD.Size = UDim2.new(0, 175, 0, 50)
1346 end
1347
1348 CreateControlFrame(ConvertKey(S.SprintKey), "Sprint", CurrentNum)
1349 CurrentNum = CurrentNum + 1
1350
1351 if S.ADSKey ~= "" then
1352 local Hold = (S.HoldMouseOrKeyToADS and "HOLD " or "")
1353 CreateControlFrame(Hold..ConvertKey(S.ADSKey).." OR R-MOUSE", "Aim Down Sights", CurrentNum)
1354 CurrentNum = CurrentNum + 1
1355 end
1356
1357 Controls.Size = UDim2.new(1, 0, 0, CurrentNum * 20)
1358 Controls.Position = UDim2.new(0, 0, 0, -(CurrentNum * 20) - 80)
1359
1360 if S.GuiScope then
1361 Scope:WaitForChild("Img").Image = S.GuiId
1362 Scope:WaitForChild("Steady").Text = "Hold "..ConvertKey(S.ScopeSteadyKey).." to Steady"
1363 end
1364
1365 HUD:WaitForChild("Grenades"):WaitForChild("Lethals"):WaitForChild("Icon").Image = LethalIcons[S.LethalGrenadeType]
1366 HUD:WaitForChild("Grenades"):WaitForChild("Tacticals"):WaitForChild("Icon").Image = TacticalIcons[S.TacticalGrenadeType]
1367end
1368
1369--------------------[ FIRING FUNCTIONS ]----------------------------------------------
1370
1371function Fire_Gun()
1372 local FireSound = Handle:FindFirstChild("FireSound")
1373 local FlashFX = Main:FindFirstChild("FlashFX")
1374 local FireFX = Main:FindFirstChild("Fire")
1375
1376 if FireSound then FireSound:Play() end
1377
1378 local MockSpread = (
1379 ((not Aimed) and CurrentSpread <= S.Spread.Max and Idleing)
1380 and CurrentSpread * S.Spread.Multiplier or CurrentSpread
1381 )
1382 CurrentSpread = (MockSpread >= S.Spread.Max and S.Spread.Max or MockSpread)
1383
1384 ----------------------------------------------------------------------------------
1385 for _ = 1, (S.GunType.Shot and S.ShotAmount or 1) do
1386 local BSpread = CFANG(
1387 RAD(RAND(-CurrentSpread, CurrentSpread) / 20),
1388 RAD(RAND(-CurrentSpread, CurrentSpread) / 20),
1389 RAD(RAND(-CurrentSpread, CurrentSpread) / 20)
1390 )
1391 local OriginCF = (Aimed and (S.GuiScope and Head.CFrame or Handle.CFrame) or Head.CFrame)
1392 local OriginPos = Main.CFrame.p
1393 local Direction = (CF(OriginCF.p, OriginCF.p + OriginCF.lookVector) * BSpread).lookVector
1394
1395 if S.InstantHit then
1396 local HitObj, HitPos = AdvRayCast(Main.CFrame.p, Direction, S.BulletRange)
1397 local HitHumanoid = nil
1398 if HitObj then
1399 if S.GunType.Explosive then
1400 if S.ExplosionSound ~= "" then
1401 local SoundPart = Instance.new("Part")
1402 SoundPart.Transparency = 1
1403 SoundPart.Anchored = true
1404 SoundPart.CanCollide = false
1405 SoundPart.CFrame = CFrame.new(HitPos)
1406 SoundPart.Parent = game.Workspace
1407
1408 local Sound = Instance.new("Sound")
1409 Sound.Pitch = S.ExplosionSoundPitch
1410 Sound.SoundId = S.ExplosionSound
1411 Sound.Volume = S.ExplosionSoundVolume
1412 Sound.Parent = SoundPart
1413 Sound:Play()
1414
1415 delay(1 / 20, function()
1416 SoundPart:Destroy()
1417 end)
1418 end
1419 CreateBulletHole(HitPos, HitObj)
1420 CreateShockwave(HitPos, S.ExplosionRadius)
1421 local E = Instance.new("Explosion")
1422 E.BlastPressure = S.ExplosionPressure
1423 E.BlastRadius = S.ExplosionRadius
1424 E.DestroyJointRadiusPercent = (S.RangeBasedDamage and 0 or 1)
1425 E.ExplosionType = S.ExplosionType
1426 E.Position = HitPos
1427 E.Hit:connect(function(HObj, HDist)
1428 if HObj.Name == "Torso" and (not HObj:IsDescendantOf(Character)) then
1429 if S.RangeBasedDamage then
1430 local Dir = (HObj.Position - HitPos).unit
1431 local H, P = AdvRayCast(HitPos - Dir, Dir, 999)
1432 local RayHitHuman = H:IsDescendantOf(HObj.Parent)
1433 if (S.RayCastExplosions and RayHitHuman) or (not S.RayCastExplosions) then
1434 local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
1435 if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
1436 local DistFactor = HDist / S.ExplosionRadius
1437 local DistInvert = math.max(1 - DistFactor,0)
1438 local NewDamage = DistInvert * S.Damage
1439
1440 local CreatorTag = Instance.new("ObjectValue")
1441 CreatorTag.Value = Player
1442 CreatorTag.Name = "creator"
1443 CreatorTag.Parent = HitHumanoid
1444 HitHumanoid:TakeDamage(NewDamage)
1445 MarkHit()
1446 end
1447 end
1448 else
1449 local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
1450 if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
1451 local CreatorTag = Instance.new("ObjectValue")
1452 CreatorTag.Value = Player
1453 CreatorTag.Name = "creator"
1454 CreatorTag.Parent = HitHumanoid
1455 MarkHit()
1456 end
1457 end
1458 end
1459 end)
1460 E.Parent = game.Workspace
1461 else
1462 HitHumanoid = Damage(HitObj, HitPos)
1463 end
1464 end
1465 local FinalHitPos = HitPos
1466 if S.Penetration > 0 and (not S.GunType.Explosive) then
1467 FinalHitPos = PenetrateWall(HitPos, Direction, HitHumanoid, OriginPos)
1468 end
1469 if S.BulletTrail and S.TrailTransparency ~= 1 then
1470 local Trail = Instance.new("Part")
1471 Trail.BrickColor = S.TrailColor
1472 Trail.Transparency = S.TrailTransparency
1473 Trail.Anchored = true
1474 Trail.CanCollide = false
1475 Trail.Size = VEC3(1, 1, 1)
1476 local Mesh = Instance.new("BlockMesh")
1477 Mesh.Offset = VEC3(0, 0, -(FinalHitPos - OriginPos).magnitude / 2)
1478 Mesh.Scale = VEC3(S.TrailThickness, S.TrailThickness, (FinalHitPos - OriginPos).magnitude)
1479 Mesh.Parent = Trail
1480 Trail.Parent = Gun_Ignore
1481 Trail.CFrame = CF(OriginPos, FinalHitPos)
1482 delay(S.TrailVisibleTime, function()
1483 if S.TrailDisappearTime > 0 then
1484 local X = 0
1485 while true do
1486 if X == 90 then break end
1487 if (not Selected) then break end
1488 local NewX = X + (1.5 / S.TrailDisappearTime)
1489 X = (NewX > 90 and 90 or NewX)
1490 local Alpha = X / 90
1491 Trail.Transparency = NumLerp(S.TrailTransparency, 1, Alpha)
1492 RS:wait()
1493 end
1494 Trail:Destroy()
1495 else
1496 Trail:Destroy()
1497 end
1498 end)
1499 end
1500 else
1501 local Bullet = CreateBullet(Direction)
1502 local LastPos = Main.CFrame.p
1503 local TotalDistTraveled = 0
1504 local HitHumanoid = nil
1505 spawn(function()
1506 while true do
1507 RS:wait()
1508 if TotalDistTraveled >= S.BulletRange then
1509 Bullet:Destroy()
1510 break
1511 end
1512 local DistTraveled = (Bullet.Position - LastPos).magnitude
1513 local HitObj, HitPos = AdvRayCast(LastPos, (Bullet.Position - LastPos).unit, DistTraveled)
1514 if HitObj then
1515 if S.GunType.Explosive then
1516 if S.ExplosionSound ~= "" then
1517 local Sound = Instance.new("Sound")
1518 Sound.Pitch = S.ExplosionSoundPitch
1519 Sound.SoundId = S.ExplosionSound
1520 Sound.Volume = S.ExplosionSoundVolume
1521 Sound.Parent = Bullet
1522 Sound:Play()
1523 end
1524 CreateBulletHole(HitPos, HitObj)
1525 CreateShockwave(HitPos, S.ExplosionRadius)
1526 local E = Instance.new("Explosion")
1527 E.BlastPressure = S.ExplosionPressure
1528 E.BlastRadius = S.ExplosionRadius
1529 E.DestroyJointRadiusPercent = (S.RangeBasedDamage and 0 or 1)
1530 E.ExplosionType = S.ExplosionType
1531 E.Position = HitPos
1532 E.Hit:connect(function(HObj, HDist)
1533 if HObj.Name == "Torso" and (not HObj:IsDescendantOf(Character)) then
1534 if S.RangeBasedDamage then
1535 local Dir = (HObj.Position - HitPos).unit
1536 local H, P = AdvRayCast(HitPos - Dir, Dir, 999)
1537 local RayHitHuman = H:IsDescendantOf(HObj.Parent)
1538 if (S.RayCastExplosions and RayHitHuman) or (not S.RayCastExplosions) then
1539 local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
1540 if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
1541 local DistFactor = HDist / S.ExplosionRadius
1542 local DistInvert = math.max(1 - DistFactor,0)
1543 local NewDamage = DistInvert * S.Damage
1544
1545 local CreatorTag = Instance.new("ObjectValue")
1546 CreatorTag.Value = Player
1547 CreatorTag.Name = "creator"
1548 CreatorTag.Parent = HitHumanoid
1549 HitHumanoid:TakeDamage(NewDamage)
1550 MarkHit()
1551 end
1552 end
1553 else
1554 local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
1555 if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
1556 local CreatorTag = Instance.new("ObjectValue")
1557 CreatorTag.Value = Player
1558 CreatorTag.Name = "creator"
1559 CreatorTag.Parent = HitHumanoid
1560 MarkHit()
1561 end
1562 end
1563 end
1564 end)
1565 E.Parent = game.Workspace
1566 else
1567 HitHumanoid = Damage(HitObj, HitPos)
1568 end
1569 if S.Penetration > 0 and (not S.GunType.Explosive) then
1570 PenetrateWall(HitPos, (Bullet.Position - LastPos).unit, HitHumanoid, OriginPos, Bullet)
1571 else
1572 Bullet:Destroy()
1573 end
1574 break
1575 else
1576 LastPos = Bullet.Position
1577 TotalDistTraveled = TotalDistTraveled + DistTraveled
1578 end
1579 end
1580 end)
1581
1582 if S.BulletTrail and S.TrailTransparency ~= 1 then
1583 spawn(function()
1584 local LastPos2 = nil
1585 while true do
1586 if LastPos2 then
1587 if (not Bullet:IsDescendantOf(game)) then break end
1588 Bullet.CFrame = CFrame.new(Bullet.CFrame.p, Bullet.CFrame.p + Bullet.Velocity)
1589 local Trail = Instance.new("Part")
1590 local Flame = Instance.new("Fire")
1591 Flame.Parent = Bullet
1592 Flame.Heat = 0
1593 Flame.Size = 10
1594 Trail.BrickColor = S.TrailColor
1595 Trail.Transparency = S.TrailTransparency
1596 Trail.Anchored = true
1597 Trail.CanCollide = false
1598 Trail.Size = VEC3(1, 1, 1)
1599 local Mesh = Instance.new("BlockMesh")
1600 Mesh.Offset = VEC3(0, 0, -(Bullet.Position - LastPos2).magnitude / 2)
1601 Mesh.Scale = VEC3(S.TrailThickness, S.TrailThickness, (Bullet.Position - LastPos2).magnitude)
1602 Mesh.Parent = Trail
1603 Trail.Parent = Gun_Ignore
1604 Trail.CFrame = CF(LastPos2, Bullet.Position)
1605 delay(S.TrailVisibleTime, function()
1606 if S.TrailDisappearTime > 0 then
1607 local X = 0
1608 while true do
1609 if X == 90 then break end
1610 if (not Selected) then break end
1611 local NewX = X + (1.5 / S.TrailDisappearTime)
1612 X = (NewX > 90 and 90 or NewX)
1613 local Alpha = X / 90
1614 Trail.Transparency = NumLerp(S.TrailTransparency, 1, Alpha)
1615 RS:wait()
1616 end
1617 Trail:Destroy()
1618 else
1619 Trail:Destroy()
1620 end
1621 end)
1622 LastPos2 = Bullet.Position
1623 else
1624 LastPos2 = Main.CFrame.p
1625 end
1626 RS:wait()
1627 end
1628 end)
1629 end
1630 end
1631 end
1632
1633 ----------------------------------------------------------------------------------
1634
1635 local RecoilX = RAD(CurrentRecoil * RAND(1, 1.5, 0.1)) * StanceSway
1636 local RecoilY = RAD(CurrentRecoil * RAND(-2, 2, 0.1)) * StanceSway
1637 RotCamera(RecoilX, RecoilY, true, 0.06)
1638 delay(0.05, function()
1639 RotCamera(-RecoilX / 5, -RecoilY / 5, true, 0.1)
1640 end)
1641 if Idleing and (not Walking) and (not Aimed) then
1642 local SpreadScale = (CurrentSpread / S.Spread.Max) * 50
1643 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
1644 UDim2.new(0, 70 + 2 * SpreadScale, 0, 70 + 2 * SpreadScale),
1645 UDim2.new(0, -35 - SpreadScale, 0, -35 - SpreadScale),
1646 "Out", "Linear", 0.1, true
1647 )
1648 end
1649
1650 local KickSide = (
1651 (
1652 {
1653 CurrentRecoil * (RAND(1, 5, 1) / 150);
1654 CurrentRecoil * (RAND(1, 5, 1) / -150)
1655 }
1656 )[math.random(1, 2)]
1657 ) * StanceSway
1658 local KickBack = CurrentRecoil * StanceSway * 0.3
1659 local KickUp = RAD(90 + (CurrentRecoil * RAND(1.3, 1.4, 0.01) * StanceSway))
1660 TweenJoint(AnimWeld, CF(KickSide, 1, -KickBack), CFANG(KickUp - RAD(90), 0, 0), Linear, 1 / 12)
1661
1662 if FlashFX then FlashFX.Enabled = true end
1663 if FireFX then FireFX.Enabled = true end
1664 wait(.01)
1665 if FlashFX then FlashFX.Enabled = false end
1666 if FireFX then FireFX.Enabled = false end
1667
1668 delay(1 / 30, function()
1669 if Idleing and (not Walking) and (not Aimed) then
1670 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
1671 UDim2.new(0, 70, 0, 70),
1672 UDim2.new(0, -35, 0, -35),
1673 "Out", "Linear", S.AimSpeed, (not Aimed)
1674 )
1675 end
1676 if (not Aiming) and (not RunTween) then
1677 TweenJoint(AnimWeld, CF(0, 1, 0), CF(), Linear, 0.15)
1678 end
1679 if FlashFX then FlashFX.Enabled = false end
1680 if FlashGui then FlashGui.Enabled = false end
1681 end)
1682end
1683
1684function MarkHit()
1685 spawn(function()
1686 if Gui_Clone:IsDescendantOf(game) then
1687 Gui_Clone.HitMarker.Visible = true
1688 local StartMark = tick()
1689 LastMark = StartMark
1690 wait(0.5)
1691 if LastMark <= StartMark then
1692 Gui_Clone.HitMarker.Visible = false
1693 end
1694 end
1695 end)
1696end
1697
1698--------------------[ ADS FUNCTIONS ]-------------------------------------------------
1699
1700function AimGun()
1701 if (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude > 1 or Reloading or Knifing or ThrowingGrenade then return end
1702 local Scope = Gui_Clone:WaitForChild("Scope"):WaitForChild("Img")
1703 local Steady = Gui_Clone:WaitForChild("Scope"):WaitForChild("Steady")
1704 Aimed = true
1705 Aiming = true
1706 CurrentRecoil = S.Recoil.Aimed
1707 CurrentSpread = S.Spread.Aimed
1708 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
1709 UDim2.new(),
1710 UDim2.new(),
1711 Enum.EasingDirection.Out,
1712 Enum.EasingStyle.Sine,
1713 S.AimAnimation and S.AimSpeed or 0,
1714 true
1715 )
1716 if S.AimAnimation then
1717 local CurrentFOV = Camera.FieldOfView
1718 local CurrentCameraOffset = Humanoid.CameraOffset
1719 local CurrentTrans = Scope.BackgroundTransparency
1720 TweenJoint(LWeld, ArmC0[1], S.ArmC1_Aimed.Left, Sine, S.AimSpeed)
1721 TweenJoint(RWeld, ArmC0[2], S.ArmC1_Aimed.Right, Sine, S.AimSpeed)
1722 TweenJoint(AnimWeld, CF(0, 1, 0), CF(), Sine, S.AimSpeed)
1723 TweenJoint(Grip, Grip.C0, Aimed_GripCF, Sine, S.AimSpeed)
1724 TweenJoint(LWeld2, CF(), CF(), Sine, S.AimSpeed)
1725 TweenJoint(RWeld2, CF(), CF(), Sine, S.AimSpeed)
1726 local X = 0
1727 while true do
1728 local NewX = X + 1.5 / S.AimSpeed
1729 X = (NewX > 90 and 90 or NewX)
1730 if (not Aimed) then break end
1731 if (not Selected) then break end
1732 local Alpha = 1 - COS(RAD(X))
1733 Camera.FieldOfView = NumLerp(CurrentFOV, S.MaxZoom, Alpha)
1734 if S.GuiScope then
1735 Scope.BackgroundTransparency = NumLerp(CurrentTrans, 0, Alpha)
1736 end
1737 if X == 90 then break end
1738 RS:wait()
1739 end
1740 else
1741 LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_Aimed.Left
1742 RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_Aimed.Right
1743 AnimWeld.C0 = CF(0, 1, 0)
1744 Grip.C1 = Aimed_GripCF
1745 LWeld2.C1, RWeld2.C1 = CF(), CF()
1746 Camera.FieldOfView = S.MaxZoom
1747 end
1748 Aiming = (not Aimed)
1749 if (not Aiming) and S.GuiScope then
1750 spawn(function()
1751 Steady.Visible = true
1752 Scope.BackgroundTransparency = 1
1753 Scope.ImageTransparency = 0
1754
1755 local Gun_Model = Instance.new("Model")
1756 Gun_Model.Name = "Gun_Model"
1757 for _, Obj in pairs(Gun:GetChildren()) do
1758 if Obj:IsA("BasePart") then
1759 local ObjClone = Obj:Clone()
1760 ObjClone.Parent = Gun_Model
1761
1762 local W = Instance.new("Weld")
1763 W.Part0 = ObjClone
1764 W.Part1 = Obj
1765 W.Parent = ObjClone
1766
1767 local PrevTrans = Instance.new("NumberValue")
1768 PrevTrans.Name = "PrevTrans"
1769 PrevTrans.Value = Obj.Transparency
1770 PrevTrans.Parent = Obj
1771
1772 Obj.Transparency = 1
1773 end
1774 end
1775 Gun_Model.Parent = Character
1776 end)
1777 spawn(function()
1778 while Aimed do
1779 local Ang = (CameraSteady and 0 or (Idleing and AnimAng[2] or AnimAng[4]))
1780 if CameraSway ~= 0 then
1781 local OffsetX, OffsetY = 0, 0
1782 if Idleing then
1783 OffsetX = (RAD(COS(Ang * 5 * (CameraSway ^ 0.4))) / 40) * (CameraSway ^ 1.2) * StanceSway * S.ScopeSway
1784 OffsetY = (RAD(COS(Ang * 2 * (CameraSway ^ 0.4))) / 40) * (CameraSway ^ 1.2) * StanceSway * S.ScopeSway
1785 else
1786 OffsetX = (RAD(COS(Ang * 3/2 * (CameraSway ^ 0.4))) / 25) * (CameraSway ^ 1.2) * StanceSway * S.ScopeSway
1787 OffsetY = (RAD(COS(Ang * 3/5 * (CameraSway ^ 0.4))) / 25) * (CameraSway ^ 1.2) * StanceSway * S.ScopeSway
1788 end
1789 RotCamera(OffsetX, OffsetY)
1790 end
1791 RS:wait()
1792 end
1793 end)
1794 end
1795end
1796
1797function UnAimGun(Exception)
1798 local Scope = Gui_Clone:WaitForChild("Scope"):WaitForChild("Img")
1799 local Steady = Gui_Clone:WaitForChild("Scope"):WaitForChild("Steady")
1800 if (not Exception) then
1801 if (not Aimed) then return end
1802 if (Reloading and Exception) or Knifing and (not ThrowingGrenade) then return end
1803 CurrentRecoil = S.Recoil.Hipfire
1804 CurrentSpread = ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
1805 if Walking and Aimed then
1806 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
1807 UDim2.new(0, 150, 0, 150),
1808 UDim2.new(0, -75, 0, -75),
1809 Enum.EasingDirection.Out,
1810 Enum.EasingStyle.Linear,
1811 S.AimAnimation and S.AimSpeed or 0,
1812 true
1813 )
1814 elseif Idleing then
1815 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
1816 UDim2.new(0, 70, 0, 70),
1817 UDim2.new(0, -35, 0, -35),
1818 Enum.EasingDirection.Out,
1819 Enum.EasingStyle.Linear,
1820 S.AimAnimation and S.AimSpeed or 0,
1821 true
1822 )
1823 end
1824 Aimed = false
1825 Aiming = true
1826 if S.GuiScope then
1827 spawn(function()
1828 local Gun_Model = Character:FindFirstChild("Gun_Model")
1829 if Gun_Model then
1830 Gun_Model:Destroy()
1831 end
1832
1833 for _, Obj in pairs(Gun:GetChildren()) do
1834 if Obj:IsA("BasePart") then
1835 local PrevTrans = Obj:FindFirstChild("PrevTrans")
1836
1837 Obj.Transparency = PrevTrans.Value
1838 PrevTrans:Destroy()
1839 end
1840 end
1841 end)
1842 end
1843 if S.AimAnimation then
1844 local CurrentFOV = Camera.FieldOfView
1845 local CurrentCameraOffset = Humanoid.CameraOffset
1846 local CurrentTrans = (Scope.BackgroundTransparency == 1 and (S.GuiScope and 0 or 1) or Scope.BackgroundTransparency)
1847 Scope.ImageTransparency = 1
1848 Steady.Visible = false
1849 TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Sine, S.AimSpeed)
1850 TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Sine, S.AimSpeed)
1851 TweenJoint(Grip, Grip.C0, CFANG(0, RAD(20), 0), Sine, S.AimSpeed)
1852 if S.PlayerAnimations then
1853 TweenJoint(LWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, S.AimSpeed)
1854 TweenJoint(RWeld2, CF(), CFANG(0, RAD(ArmTilt), 0), Sine, S.AimSpeed)
1855 end
1856 local X = 0
1857 while true do
1858 local NewX = X + 1.5 / S.AimSpeed
1859 X = (NewX > 90 and 90 or NewX)
1860 if Aimed then break end
1861 if (not Selected) then break end
1862 local Alpha = 1 - COS(RAD(X))
1863 Camera.FieldOfView = NumLerp(CurrentFOV, 70, Alpha)
1864 Scope.BackgroundTransparency = NumLerp(CurrentTrans, 1, Alpha)
1865 if X == 90 then break end
1866 RS:wait()
1867 end
1868 else
1869 Scope.BackgroundTransparency = 1
1870 Scope.ImageTransparency = 1
1871 Steady.Visible = false
1872 LWeld.C0, LWeld.C1 = ArmC0[1], S.ArmC1_UnAimed.Left
1873 RWeld.C0, RWeld.C1 = ArmC0[2], S.ArmC1_UnAimed.Right
1874 Grip.C1 = CFANG(0, RAD(20), 0)
1875 LWeld2.C1, RWeld2.C1 = CFANG(0, RAD(ArmTilt), 0), CFANG(0, RAD(ArmTilt), 0)
1876 Camera.FieldOfView = 70
1877 end
1878 Aiming = Aimed
1879 else
1880 if S.GuiScope then
1881 spawn(function()
1882 local Gun_Model = Character:FindFirstChild("Gun_Model")
1883 if Gun_Model then
1884 Gun_Model:Destroy()
1885 end
1886
1887 for _, Obj in pairs(Gun:GetChildren()) do
1888 if Obj:IsA("BasePart") then
1889 local PrevTrans = Obj:FindFirstChild("PrevTrans")
1890
1891 Obj.Transparency = PrevTrans.Value
1892 PrevTrans:Destroy()
1893 end
1894 end
1895 end)
1896 end
1897 spawn(function()
1898 Aimed = false
1899 Aiming = false
1900 CurrentRecoil = S.Recoil.Hipfire
1901 CurrentSpread = ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
1902 if (not Walking) then
1903 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
1904 UDim2.new(0, 70, 0, 70),
1905 UDim2.new(0, -35, 0, -35),
1906 Enum.EasingDirection.Out,
1907 Enum.EasingStyle.Linear,
1908 S.AimAnimation and S.AimSpeed or 0,
1909 true
1910 )
1911 else
1912 Gui_Clone.CrossHair.Box:TweenSizeAndPosition(
1913 UDim2.new(0, 150, 0, 150),
1914 UDim2.new(0, -75, 0, -75),
1915 Enum.EasingDirection.Out,
1916 Enum.EasingStyle.Linear,
1917 S.AimAnimation and S.AimSpeed or 0,
1918 true
1919 )
1920 end
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 if LWeld:FindFirstChild("TweenCode") then LWeld.TweenCode:Destroy() end
1927 if RWeld:FindFirstChild("TweenCode") then RWeld.TweenCode:Destroy() end
1928 if Grip:FindFirstChild("TweenCode") then Grip.TweenCode:Destroy() end
1929 if LWeld2:FindFirstChild("TweenCode") then LWeld2.TweenCode:Destroy() end
1930 if RWeld2:FindFirstChild("TweenCode") then RWeld2.TweenCode:Destroy() end
1931 if S.AimAnimation then
1932 local X = 0
1933 while true do
1934 local NewX = X + 1.5 / S.AimSpeed
1935 X = (NewX > 90 and 90 or NewX)
1936 if Aimed then break end
1937 if (not Selected) then break end
1938 local Alpha = 1 - COS(RAD(X))
1939 Camera.FieldOfView = NumLerp(CurrentFOV, 70, Alpha)
1940 Scope.BackgroundTransparency = NumLerp(CurrentTrans, 1, Alpha)
1941 if X == 90 then break end
1942 RS:wait()
1943 end
1944 else
1945 Scope.BackgroundTransparency = 1
1946 Scope.ImageTransparency = 1
1947 Steady.Visible = false
1948 Camera.FieldOfView = 70
1949 end
1950 end)
1951 end
1952end
1953
1954--------------------[ TEXTURE CREATION FUNCTIONS ]------------------------------------
1955
1956function CreateBullet(Direction)
1957 local Origin = Gun.Main.CFrame.p
1958 local BulletMass = S.BulletSize.X * S.BulletSize.Y * S.BulletSize.Z
1959 local BulletCF = CF(Origin, Origin + Direction)
1960 local Bullet = Instance.new("Part")
1961 Bullet.BrickColor = S.BulletColor
1962 Bullet.Name = "Bullet"
1963 Bullet.CanCollide = false
1964 Bullet.FormFactor = "Custom"
1965 Bullet.Size = S.BulletSize
1966 Bullet.BottomSurface = "Smooth"
1967 Bullet.TopSurface = "Smooth"
1968 local Mesh = Instance.new("BlockMesh")
1969 Mesh.Scale = S.BulletMeshSize
1970 Mesh.Parent = Bullet
1971 local BF = Instance.new("BodyForce")
1972 BF.force = VEC3(0, BulletMass * (196.2 - S.BulletDropPerSecond), 0)
1973 BF.Parent = Bullet
1974 Bullet.Parent = Gun_Ignore
1975 Bullet.CFrame = BulletCF + Direction * 3
1976 Bullet.Velocity = Direction * S.BulletVelocity
1977 return Bullet
1978end
1979
1980function CreateBulletHole(HitPos, HitObj)
1981 local SurfaceCF = GetHitSurfaceCFrame(HitPos, HitObj)
1982 local SurfaceDir = CF(HitObj.CFrame.p, SurfaceCF.p)
1983 local SurfaceDist = SurfaceDir.lookVector * (HitObj.CFrame.p - SurfaceCF.p).magnitude / 2
1984 local SurfaceOffset = HitPos - SurfaceCF.p + SurfaceDist
1985 local SurfaceCFrame = SurfaceDir + SurfaceDist + SurfaceOffset
1986 local HitMark = Instance.new("Part")
1987 local Fire = script.Fire
1988 local Dust = script.Dust
1989 local Light = script.Light
1990 local Burn = script.Burn
1991 HitMark.BrickColor = BrickColor.new("Black")
1992 HitMark.Transparency = 1
1993 HitMark.Anchored = true
1994 HitMark.CanCollide = false
1995 HitMark.FormFactor = "Custom"
1996 HitMark.Size = VEC3(10, 10, 0.2)
1997 HitMark.TopSurface = 0
1998 HitMark.BottomSurface = 0
1999 local FireC = Fire:clone()
2000 FireC.Parent = HitMark
2001 FireC.Enabled = true
2002 local DustC = Dust:clone()
2003 DustC.Parent = HitMark
2004 DustC.Enabled = true
2005 local LightC = Light:clone()
2006 LightC.Parent = HitMark
2007 local BurnC = Burn:clone()
2008 BurnC.Parent = HitMark
2009 BurnC.Disabled = false
2010 local Mesh = Instance.new("BlockMesh")
2011 Mesh.Offset = VEC3(0, 0, -0.05)
2012 Mesh.Scale = VEC3(S.BulletHoleSize, S.BulletHoleSize, 0)
2013 Mesh.Parent = HitMark
2014 local Decal = Instance.new("Decal")
2015 Decal.Face = Enum.NormalId.Front
2016 Decal.Texture = S.BulletHoleTexture
2017 Decal.Parent = HitMark
2018 HitMark.Parent = Gun_Ignore
2019 HitMark.CFrame = SurfaceCFrame
2020 if (not HitObj.Anchored) then
2021 local Weld = Instance.new("Weld", HitMark)
2022 Weld.Part0 = HitObj
2023 Weld.Part1 = HitMark
2024 Weld.C0 = HitObj.CFrame:toObjectSpace(SurfaceCFrame)
2025 HitMark.Anchored = false
2026 end
2027 delay(S.BulletHoleVisibleTime, function()
2028 if S.BulletHoleDisappearTime > 0 then
2029 local X = 0
2030 while true do
2031 if X == 90 then break end
2032 if (not Selected) then break end
2033 local NewX = X + (1.5 / S.BulletHoleDisappearTime)
2034 X = (NewX > 90 and 90 or NewX)
2035 local Alpha = X / 90
2036 Decal.Transparency = NumLerp(0, 1, Alpha)
2037 RS:wait()
2038 end
2039 HitMark:Destroy()
2040 else
2041 HitMark:Destroy()
2042 end
2043 end)
2044end
2045
2046function CreateShockwave(Center, Radius)
2047 local Shockwave = Instance.new("Part")
2048 Shockwave.BrickColor = S.ShockwaveColor
2049 Shockwave.Material = Enum.Material.SmoothPlastic
2050 Shockwave.Name = "Shockwave"
2051 Shockwave.Anchored = true
2052 Shockwave.CanCollide = false
2053 Shockwave.FormFactor = Enum.FormFactor.Symmetric
2054 Shockwave.Size = VEC3(1, 1, 1)
2055 Shockwave.BottomSurface = Enum.SurfaceType.Smooth
2056 Shockwave.TopSurface = Enum.SurfaceType.Smooth
2057 local Mesh = Instance.new("SpecialMesh")
2058 Mesh.MeshType = Enum.MeshType.Sphere
2059 Mesh.Scale = VEC3()
2060 Mesh.Parent = Shockwave
2061 Shockwave.Parent = Gun_Ignore
2062 Shockwave.CFrame = CF(Center)
2063 spawn(function()
2064 for i = 0, 1, (1 / (60 * S.ShockwaveDuration)) do
2065 local Scale = 2 * Radius * i
2066 Mesh.Scale = VEC3(Scale, Scale, Scale)
2067 Shockwave.Transparency = i
2068 RS:wait()
2069 end
2070 Shockwave:Destroy()
2071 end)
2072end
2073
2074--------------------[ HIT HANDLING FUNCTIONS ]----------------------------------------
2075
2076function Damage(HitObj, HitPos)
2077 local HeadVal = S.Multipliers.Head
2078 local ChestVal = S.Multipliers.Chest
2079 local LimbsVal = S.Multipliers.Limbs
2080 if Humanoid.Health ~= 0 then
2081 if HitObj and HitObj.Parent then
2082 local HumanoidFound = false
2083 local HitHumanoid = nil
2084 if HitObj.Parent.ClassName == "Hat" then
2085 if FindFirstClass(HitObj.Parent.Parent, "Humanoid") then
2086 HitHumanoid = FindFirstClass(HitObj.Parent.Parent, "Humanoid")
2087 HumanoidFound = true
2088 if HitHumanoid.Health > 0 then
2089 if IsEnemy(HitHumanoid) then
2090 local CreatorTag = Instance.new("ObjectValue")
2091 CreatorTag.Value = Player
2092 CreatorTag.Name = "creator"
2093 CreatorTag.Parent = HitHumanoid
2094 HitHumanoid:TakeDamage(S.Damage * RAND(HeadVal, HeadVal + 0.1, 0.01))
2095 MarkHit()
2096 end
2097 end
2098 end
2099 else
2100 if FindFirstClass(HitObj.Parent, "Humanoid") then
2101 HitHumanoid = FindFirstClass(HitObj.Parent, "Humanoid")
2102 HumanoidFound = true
2103 if HitHumanoid.Health > 0 then
2104 if IsEnemy(HitHumanoid) then
2105 local CreatorTag = Instance.new("ObjectValue")
2106 CreatorTag.Value = Player
2107 CreatorTag.Name = "creator"
2108 CreatorTag.Parent = HitHumanoid
2109 local ChosenDamage = 0
2110 if HitObj.Name == "Head" then
2111 ChosenDamage = S.Damage * RAND(HeadVal, HeadVal + 0.1, 0.01)
2112 elseif HitObj.Name == "Torso" then
2113 ChosenDamage = S.Damage * RAND(ChestVal, ChestVal + 0.1, 0.01)
2114 else
2115 ChosenDamage = S.Damage * RAND(LimbsVal, LimbsVal + 0.1, 0.01)
2116 end
2117 HitHumanoid:TakeDamage(ChosenDamage)
2118 MarkHit()
2119 end
2120 end
2121 end
2122 end
2123 if (not HumanoidFound) then
2124 if S.BulletHoles then
2125 CreateBulletHole(HitPos, HitObj)
2126 end
2127 if S.Shockwaves then
2128 CreateShockwave(HitPos, S.ShockwaveRadius)
2129 end
2130 end
2131 return HitHumanoid
2132 end
2133 end
2134end
2135
2136function PenetrateWall(HitPos, Direction, HitHumanoid, OriginPos, Bullet)
2137 local HitDist = (HitPos - OriginPos).magnitude
2138 local Thickness, Wall, WallHitPos = 0, nil, nil
2139 for i = 0.1, S.Penetration, 0.1 do
2140 local WallRay = Ray.new(HitPos + (Direction * i), -Direction)
2141 local TempWall, TempWallHitPos = game.Workspace:FindPartOnRayWithIgnoreList(WallRay, Ignore)
2142 if TempWall then
2143 Thickness = i
2144 Wall, WallHitPos = TempWall, TempWallHitPos
2145 break
2146 end
2147 end
2148 if Wall then
2149 CreateBulletHole(WallHitPos, Wall)
2150 if S.InstantHit then
2151 local HitObj2, HitPos2 = nil, nil
2152 if HitHumanoid then
2153 HitObj2, HitPos2 = AdvRayCast(WallHitPos, Direction, S.BulletRange - HitDist, {HitHumanoid.Parent,unpack(Ignore)})
2154 else
2155 HitObj2, HitPos2 = AdvRayCast(WallHitPos, Direction, S.BulletRange - HitDist)
2156 end
2157 Damage(HitObj2, HitPos2)
2158 return HitPos2
2159 else
2160 local LastPos = WallHitPos
2161 local TotalDistTraveled = 0
2162 spawn(function()
2163 while true do
2164 RS:wait()
2165 if TotalDistTraveled >= S.BulletRange - HitDist then
2166 Bullet:Destroy()
2167 break
2168 end
2169 local DistTraveled = (Bullet.Position - LastPos).magnitude
2170 local NewDirection = (Bullet.Position - LastPos).unit
2171 local TempHitObj, TempHitPos = nil, nil
2172 if HitHumanoid then
2173 TempHitObj, TempHitPos = AdvRayCast(LastPos, NewDirection, DistTraveled, {HitHumanoid.Parent,unpack(Ignore)})
2174 else
2175 TempHitObj, TempHitPos = AdvRayCast(LastPos, NewDirection, DistTraveled)
2176 end
2177 if TempHitObj then
2178 Damage(TempHitObj, TempHitPos)
2179 Bullet:Destroy()
2180 return TempHitPos
2181 else
2182 LastPos = Bullet.Position
2183 TotalDistTraveled = TotalDistTraveled + DistTraveled
2184 end
2185 end
2186 end)
2187 end
2188 else
2189 if Bullet then Bullet:Destroy() end
2190 return HitPos
2191 end
2192end
2193
2194function IsEnemy(Human)
2195 local Plyr = game.Players:GetPlayerFromCharacter(Human.Parent)
2196 if (not Plyr) then return S.CanDamageNPCs end
2197 return S.AllowFriendlyFire or (Plyr.TeamColor ~= Player.TeamColor or Plyr.Neutral)
2198end
2199
2200--------------------[ RELOAD FUNCTIONS ]----------------------------------------------
2201
2202function ReloadAnim()
2203 TweenJoint(LWeld2, CF(), CF(), Sine, 0.15)
2204 TweenJoint(RWeld2, CF(), CF(), Sine, 0.15)
2205 local Speed = S.ReloadTime / 2
2206 local Mag_Parts = {}
2207
2208 for _, Obj in pairs(Gun:GetChildren()) do
2209 if Obj.Name == "Mag" and Obj:IsA("BasePart") then
2210 INSERT(Mag_Parts, {Original = Obj, Clone1 = Obj:Clone(), Clone2 = Obj:Clone()})
2211 end
2212 end
2213
2214 local W1 = nil
2215 local W2 = nil
2216
2217 local SequenceTable = {
2218
2219 function()
2220
2221 for Index, Mag in pairs(Mag_Parts) do
2222 Mag.Original.Transparency = 1
2223 Mag.Clone1.Parent = Gun_Ignore
2224 Mag.Clone1.CanCollide = true
2225
2226 if Index ~= 1 then
2227 local W = Instance.new("Weld")
2228 W.Part0 = Mag_Parts[1].Clone1
2229 W.Part1 = Mag.Clone1
2230 W.C0 = Mag_Parts[1].Clone1.CFrame:toObjectSpace(Mag.Clone1.CFrame)
2231 W.Parent = Mag_Parts[1].Clone1
2232 end
2233 end
2234
2235 W1 = Instance.new("Weld")
2236 W1.Part0 = Mag_Parts[1].Clone1
2237 W1.Part1 = Handle
2238 W1.C0 = Mag_Parts[1].Original.CFrame:toObjectSpace(Handle.CFrame)
2239 W1.Parent = Mag_Parts[1].Clone1
2240
2241 TweenJoint(LWeld, ArmC0[1], CF(0, 0.61, 0) * CFANG(RAD(70), 0, 0), Linear, 0.5 * Speed)
2242 TweenJoint(RWeld, ArmC0[2], CF(0.4, 0.09, -0.21) * CFANG(RAD(-20), RAD(3), 0), Linear, 0.5 * Speed)
2243 TweenJoint(Grip, Grip.C0, CFANG(0, RAD(10), 0), Linear, 0.5 * Speed)
2244 wait(0.5 * Speed)
2245
2246 end;
2247
2248 function()
2249
2250 TweenJoint(RWeld, ArmC0[2], CF(0.4, -0.01, -0.31) * CFANG(RAD(-22), RAD(3), 0), Sine, 0.3 * Speed)
2251 wait(0.2 * Speed)
2252
2253 end;
2254
2255 function()
2256
2257 W1:Destroy()
2258 Mag_Parts[1].Clone1.Velocity = Handle.Velocity + Handle.CFrame:vectorToWorldSpace(VEC3(0,-1,0)) * 20
2259 spawn(function()
2260 while Mag_Parts[1].Clone1.Velocity.magnitude > 0.1 do wait() end
2261 for _, Mag in pairs(Mag_Parts) do
2262 Mag.Clone1.Anchored = true
2263 Mag.Clone1:BreakJoints()
2264 end
2265 end)
2266
2267 for Index, Mag in pairs(Mag_Parts) do
2268 Mag.Clone2.Parent = Gun_Ignore
2269
2270 if Index ~= 1 then
2271 local W = Instance.new("Weld")
2272 W.Part0 = Mag_Parts[1].Clone2
2273 W.Part1 = Mag.Clone2
2274 W.C0 = Mag_Parts[1].Clone2.CFrame:toObjectSpace(Mag.Clone2.CFrame)
2275 W.Parent = Mag_Parts[1].Clone2
2276 end
2277 end
2278
2279 W2 = Instance.new("Weld")
2280 W2.Part0 = FakeLArm
2281 W2.Part1 = Mag_Parts[1].Clone2
2282 W2.C0 = CF(0, -1, 0) * CFANG(RAD(-90), 0, 0)
2283 W2.Parent = FakeLArm
2284 wait(0.1)
2285
2286 end;
2287
2288 function()
2289
2290 local FakeLArmCF = LWeld.Part0.CFrame * ArmC0[1] * (CF(0.3, 1.85, -0.31) * CFANG(RAD(-20), RAD(30), RAD(-60))):inverse()
2291 local FakeRArmCF = RWeld.Part0.CFrame * ArmC0[2] * (CF(0.4, -0.1, -0.21) * CFANG(RAD(-20), RAD(5), RAD(10))):inverse()
2292 local HandleCF = FakeRArm.CFrame:toObjectSpace(Grip.Part0.CFrame * Grip.C0)
2293 local Mag_Original_CF = Handle.CFrame:toObjectSpace(Mag_Parts[1].Original.CFrame)
2294 local MagC0 = FakeLArmCF:toObjectSpace(FakeRArmCF * HandleCF * Mag_Original_CF)
2295
2296 TweenJoint(LWeld, ArmC0[1], CF(0.3, 1.85, -0.31) * CFANG(RAD(-20), RAD(30), RAD(-60)), Sine, 0.6 * Speed)
2297 TweenJoint(RWeld, ArmC0[2], CF(0.4, -0.1, -0.21) * CFANG(RAD(-20), RAD(5), RAD(10)), Sine, 0.6 * Speed)
2298 TweenJoint(Grip, Grip.C0, CF(), Sine, 0.6 * Speed)
2299 TweenJoint(W2, MagC0, CF(), Sine, 0.6 * Speed)
2300 wait(0.7 * Speed)
2301
2302 end;
2303
2304 function()
2305
2306 for _, Mag in pairs(Mag_Parts) do
2307 Mag.Original.Transparency = 0
2308 Mag.Clone2:Destroy()
2309 end
2310
2311 TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Sine, 0.5 * Speed)
2312 TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Sine, 0.5 * Speed)
2313 TweenJoint(Grip, Grip.C0, CFANG(0, RAD(20), 0), Sine, 0.5 * Speed)
2314 wait(0.5 * Speed)
2315
2316 end;
2317
2318 }
2319
2320 for _,ReloadFunction in pairs(SequenceTable) do
2321 if BreakReload then
2322 break
2323 end
2324 ReloadFunction()
2325 end
2326
2327 if W1 then W1:Destroy() end
2328 if W2 then W2:Destroy() end
2329 for _, Mag in pairs(Mag_Parts) do
2330 Mag.Clone1:Destroy()
2331 Mag.Clone2:Destroy()
2332 end
2333end
2334
2335function Reload()
2336 Running = false
2337 if Ammo.Value < ClipSize.Value and (not Reloading) and StoredAmmo.Value > 0 then
2338 AmmoInClip = (AmmoInClip == 0 and Ammo.Value or AmmoInClip)
2339 Ammo.Value = 0
2340 Reloading = true
2341 if Aimed then UnAimGun(S.ReloadAnimation) end
2342 Gui_Clone.CrossHair.Reload.Visible = true
2343 if Handle:FindFirstChild("ReloadSound") then Handle.ReloadSound:Play() end
2344 if S.ReloadAnimation then
2345 wait()
2346 ReloadAnim()
2347 else
2348 local StartReload = tick()
2349 while true do
2350 if BreakReload then break end
2351 if (tick() - StartReload) >= S.ReloadTime then break end
2352 RS:wait()
2353 end
2354 end
2355 if (not BreakReload) then
2356 if StoredAmmo.Value >= ClipSize.Value then
2357 Ammo.Value = ClipSize.Value
2358 if AmmoInClip > 0 then
2359 StoredAmmo.Value = StoredAmmo.Value - (ClipSize.Value - AmmoInClip)
2360 else
2361 StoredAmmo.Value = StoredAmmo.Value - ClipSize.Value
2362 end
2363 elseif StoredAmmo.Value < ClipSize.Value and StoredAmmo.Value > 0 then
2364 Ammo.Value = StoredAmmo.Value
2365 StoredAmmo.Value = 0
2366 end
2367 end
2368 BreakReload = false
2369 Reloading = false
2370 if Selected then
2371 AmmoInClip = 0
2372 Gui_Clone.CrossHair.Reload.Visible = false
2373 end
2374 end
2375end
2376
2377--------------------[ EXTERNAL DATA LOCATING FUNCTIONS ]-----------------------------
2378
2379function FindFirstClass(Object, Class)
2380 local FoundObject = nil
2381 for _, Obj in pairs(Object:GetChildren()) do
2382 if Obj.ClassName == Class then
2383 FoundObject = Obj
2384 break
2385 end
2386 end
2387 return FoundObject
2388end
2389
2390function IsIgnored(Obj)
2391 for _,v in pairs(Ignore) do
2392 if Obj == v or Obj:IsDescendantOf(v) then
2393 return true
2394 end
2395 end
2396 return false
2397end
2398
2399function GetHitSurfaceCFrame(HitPos,Obj)
2400 local SurfaceCF = {
2401 {"Back",Obj.CFrame * CF(0,0,Obj.Size.z)};
2402 {"Bottom",Obj.CFrame * CF(0,-Obj.Size.y,0)};
2403 {"Front",Obj.CFrame * CF(0,0,-Obj.Size.z)};
2404 {"Left",Obj.CFrame * CF(-Obj.Size.x,0,0)};
2405 {"Right",Obj.CFrame * CF(Obj.Size.x,0,0)};
2406 {"Top",Obj.CFrame * CF(0,Obj.Size.y,0)}
2407 }
2408 local ClosestDist = HUGE
2409 local ClosestSurface = nil
2410 for _,v in pairs(SurfaceCF) do
2411 local SurfaceDist = (HitPos - v[2].p).magnitude
2412 if SurfaceDist < ClosestDist then
2413 ClosestDist = SurfaceDist
2414 ClosestSurface = v
2415 end
2416 end
2417 return ClosestSurface[2]
2418end
2419
2420function AdvRayCast(Origin, Direction, Dist, CustomIgnore)
2421 local NewIgnore = (CustomIgnore and CustomIgnore or Ignore)
2422 local NewRay = Ray.new(Origin, Direction * (Dist > 999 and 999 or Dist))
2423 local HitObj, HitPos = game.Workspace:FindPartOnRayWithIgnoreList(NewRay, NewIgnore)
2424 local LastPos = HitPos
2425 local FinalHitObj, FinalHitPos = nil, nil
2426 local RepTimes = math.floor(Dist / 999)
2427 if (not HitObj) and (Dist > 999) then
2428 for i = 0, RepTimes do
2429 local NewDist = (i == RepTimes and (Dist - (LastPos - Origin).magnitude) or 999)
2430 local Ray2 = Ray.new(LastPos, Direction * NewDist)
2431 local HitObj2, HitPos2 = game.Workspace:FindPartOnRayWithIgnoreList(Ray2, NewIgnore)
2432 if i ~= RepTimes then
2433 if HitObj2 then
2434 FinalHitObj, FinalHitPos = HitObj2, HitPos2
2435 break
2436 end
2437 elseif i == RepTimes then
2438 FinalHitObj, FinalHitPos = HitObj2, HitPos2
2439 end
2440 LastPos = HitPos2
2441 end
2442 return FinalHitObj, FinalHitPos
2443 elseif HitObj or (Dist <= 999) then
2444 return HitObj, HitPos
2445 end
2446end
2447
2448--------------------[ KNIFING FUNCTION ]----------------------------------------------
2449
2450function KnifeAnim()
2451 local Connection = nil
2452 local Blade = Instance.new("Part")
2453 Blade.BrickColor = BrickColor.new("Really black")
2454 Blade.Name = "Blade"
2455 Blade.CanCollide = false
2456 Blade.FormFactor = Enum.FormFactor.Custom
2457 Blade.Size = VEC3(0.5, 2.5, 1)
2458 local Mesh = Instance.new("SpecialMesh")
2459 Mesh.MeshId = S.KnifeMeshId
2460 Mesh.MeshType = Enum.MeshType.FileMesh
2461 Mesh.Scale = VEC3(0.7, 0.7, 0.7)
2462 Mesh.TextureId = S.KnifeTextureId
2463 Mesh.Parent = Blade
2464 Blade.Parent = Gun_Ignore
2465 local BladeWeld = Instance.new("Weld")
2466 BladeWeld.Part0 = Blade
2467 BladeWeld.Part1 = FakeLArm
2468 BladeWeld.C0 = CFANG(RAD(-90), 0, RAD(180))
2469 BladeWeld.C1 = CF(0, -1, 0.75)
2470 BladeWeld.Parent = Blade
2471 Connection = Blade.Touched:connect(function(Obj)
2472 if Obj then
2473 local HitHumanoid = FindFirstClass(Obj.Parent, "Humanoid")
2474 if HitHumanoid and IsEnemy(HitHumanoid) then
2475 local CreatorTag = Instance.new("ObjectValue")
2476 CreatorTag.Name = "creator"
2477 CreatorTag.Value = Player
2478 CreatorTag.Parent = HitHumanoid
2479 HitHumanoid:TakeDamage(HitHumanoid.MaxHealth)
2480 MarkHit()
2481 end
2482 end
2483 end)
2484 TweenJoint(LWeld2, CF(), CFANG(0, RAD(90), 0), Linear, 0.05)
2485 TweenJoint(LWeld, ArmC0[1], CF(-0.1, 0.2, -0.1) * CFANG(0, 0, RAD(-20)), Linear, 0.05)
2486 TweenJoint(RWeld, ArmC0[2], CFANG(RAD(-30), 0, 0), Linear, 0.1)
2487 TweenJoint(Grip, Grip.C0, CF(), Linear, 0.1)
2488 spawn(function()
2489 local Force = HRP.CFrame.lookVector * 8e4
2490 local BF = Instance.new("BodyForce")
2491 BF.force = Force
2492 BF.Parent = HRP
2493 delay(0.03, function()
2494 BF.force = -Force / 2
2495 wait(0.03)
2496 BF:Destroy()
2497 end)
2498 end)
2499 wait(0.05)
2500 RotCamera(RAD(6), 0, true, 0.1)
2501 delay(0.1, function()
2502 RotCamera(RAD(-2), 0, true, 0.05)
2503 end)
2504 TweenJoint(LWeld, ArmC0[1], CF(0.8, 1.7, 0.2) * CFANG(0, 0, RAD(-80)), Linear, 0.06)
2505 wait(0.2)
2506 Connection:disconnect()
2507 wait(0.2)
2508 TweenJoint(LWeld2, CF(), CF(), Linear, 0.15)
2509 TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Linear, 0.15)
2510 TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Linear, 0.15)
2511 Blade:Destroy()
2512end
2513
2514--------------------[ GRENADE FUNCTIONS ]---------------------------------------------
2515
2516function CreateGrenade()
2517 local Grenade = Instance.new("Model")
2518
2519 local Center = Instance.new("Part")
2520 Center.BrickColor = S.GrenadeColor
2521 Center.Name = "Center"
2522 Center.CanCollide = false
2523 Center.Elasticity = 0
2524 Center.FormFactor = Enum.FormFactor.Custom
2525 Center.Size = S.GrenadeSize
2526 Center.BottomSurface = Enum.SurfaceType.Smooth
2527 Center.TopSurface = Enum.SurfaceType.Smooth
2528 Center.Parent = Grenade
2529
2530 local Mesh1 = Instance.new("SpecialMesh")
2531 Mesh1.MeshType = Enum.MeshType.Sphere
2532 Mesh1.Parent = Center
2533
2534 return Grenade
2535end
2536
2537function CreateKnife()
2538 local Knife = Instance.new("Part")
2539 Knife.BrickColor = S.GrenadeColor
2540 Knife.Name = "Knife"
2541 Knife.CanCollide = false
2542 Knife.FormFactor = Enum.FormFactor.Custom
2543 Knife.Size = VEC3(1, 1, 3)
2544
2545 local Mesh = Instance.new("SpecialMesh")
2546 Mesh.MeshId = "http://www.roblox.com/asset/?id=12221720"
2547 Mesh.MeshType = Enum.MeshType.FileMesh
2548 Mesh.Scale = VEC3(0.5, 0.5, 0.5)
2549 Mesh.Parent = Knife
2550
2551 return Knife
2552end
2553
2554function CreateTarget()
2555 local Target = Instance.new("Model")
2556
2557 local Center = Instance.new("Part")
2558 Center.BrickColor = BrickColor.new("Bright red")
2559 Center.Material = Enum.Material.SmoothPlastic
2560 Center.Transparency = 0.3
2561 Center.Name = "Center"
2562 Center.Anchored = true
2563 Center.CanCollide = false
2564 Center.FormFactor = Enum.FormFactor.Custom
2565 Center.Size = VEC3(4, 0.2, 4)
2566 Center.Parent = Target
2567 local CylinderMesh = Instance.new("CylinderMesh")
2568 CylinderMesh.Parent = Center
2569
2570 local Line = Instance.new("Part")
2571 Line.BrickColor = BrickColor.new("Bright red")
2572 Line.Transparency = 0.3
2573 Line.Name = "Line"
2574 Line.CFrame = Center.CFrame * CFrame.new(0, 5.1, 0)
2575 Line.Anchored = true
2576 Line.CanCollide = false
2577 Line.FormFactor = Enum.FormFactor.Custom
2578 Line.Size = VEC3(0.4, 10, 0.4)
2579 Line.BottomSurface = Enum.SurfaceType.Smooth
2580 Line.TopSurface = Enum.SurfaceType.Smooth
2581 Line.Parent = Target
2582
2583 return Target
2584end
2585
2586function DetonateExplosive(Grenade)
2587 CreateShockwave(Grenade.Position, S.GrenadeBlastRadius)
2588 local GrenadePos = Grenade.Position
2589 local E = Instance.new("Explosion")
2590 E.BlastPressure = S.GrenadeBlastPressure
2591 E.BlastRadius = S.GrenadeBlastRadius
2592 E.DestroyJointRadiusPercent = (S.GrenadeRangeBasedDamage and 0 or 1)
2593 E.ExplosionType = S.GrenadeExplosionType
2594 E.Position = GrenadePos
2595 E.Hit:connect(function(HObj, HDist)
2596 if HObj.Name == "Torso" and (not HObj:IsDescendantOf(Character)) then
2597 if S.GrenadeRangeBasedDamage then
2598 local ClosestPart = nil
2599 local ClosestDist = math.huge
2600
2601 for _, P in pairs(HObj.Parent:GetChildren()) do
2602 if P:IsA("BasePart") then
2603 local Dist = (GrenadePos - P.Position).magnitude
2604 if Dist < ClosestDist then
2605 ClosestPart = P
2606 ClosestDist = Dist
2607 end
2608 end
2609 end
2610
2611 local Dir = (ClosestPart.Position - GrenadePos).unit
2612 local H, P = AdvRayCast(GrenadePos, Dir, 999)
2613 local RayHitHuman = H:IsDescendantOf(HObj.Parent)
2614 if (S.GrenadeRayCastExplosions and RayHitHuman) or (not S.GrenadeRayCastExplosions) then
2615 local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
2616 if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
2617 local DistFactor = ClosestDist / S.GrenadeBlastRadius
2618 local DistInvert = math.max(1 - DistFactor,0)
2619 local NewDamage = DistInvert * S.LethalGrenadeDamage
2620
2621 local CreatorTag = Instance.new("ObjectValue")
2622 CreatorTag.Value = Player
2623 CreatorTag.Name = "creator"
2624 CreatorTag.Parent = HitHumanoid
2625 HitHumanoid:TakeDamage(NewDamage)
2626 MarkHit()
2627 end
2628 end
2629 else
2630 local HitHumanoid = FindFirstClass(HObj.Parent, "Humanoid")
2631 if HitHumanoid and HitHumanoid.Health > 0 and IsEnemy(HitHumanoid) then
2632 local CreatorTag = Instance.new("ObjectValue")
2633 CreatorTag.Value = Player
2634 CreatorTag.Name = "creator"
2635 CreatorTag.Parent = HitHumanoid
2636 MarkHit()
2637 end
2638 end
2639 end
2640 end)
2641 E.Parent = game.Workspace
2642
2643 wait()
2644
2645 Grenade.Parent:Destroy()
2646end
2647
2648function DetonateSmoke(Grenade)
2649 CreateShockwave(Grenade.Position, S.GrenadeEffectRadius)
2650 local GrenadePos = Grenade.Position
2651
2652 spawn(function()
2653 for i = 1, math.floor(S.GrenadeEffectRadius / 5) + RAND(5, 10) do
2654 local Size = RAND(S.GrenadeEffectRadius * 0.6, S.GrenadeEffectRadius * 0.8)
2655 local Dist = RAND(0, S.GrenadeEffectRadius - Size)
2656 local XRot, YRot = RAD(RAND(0, 180, 10)), RAD(RAND(0, 360, 10))
2657 local RotLV = (CFANG(0, YRot, 0) * CFANG(XRot, 0, 0)).lookVector
2658 local Pos = GrenadePos + (RotLV * VEC3(Dist, Dist / 2, Dist))
2659
2660 local Smoke = Instance.new("Part")
2661 Smoke.Transparency = 1
2662 Smoke.Name = "Smoke"
2663 Smoke.Anchored = true
2664 Smoke.CanCollide = false
2665 Smoke.FormFactor = Enum.FormFactor.Symmetric
2666 Smoke.Size = VEC3(1, 1, 1)
2667 Smoke.TopSurface = Enum.SurfaceType.Smooth
2668 Smoke.BottomSurface = Enum.SurfaceType.Smooth
2669
2670 local Mesh = Instance.new("SpecialMesh")
2671 Mesh.MeshType = Enum.MeshType.Sphere
2672 Mesh.Scale = VEC3(Size, Size, Size)
2673 Mesh.Parent = Smoke
2674
2675 Smoke.Parent = Gun_Ignore
2676 Smoke.CFrame = CF(Pos)
2677
2678 spawn(function()
2679 local Trans = RAND(0.3, 0.5, 0.01)
2680 for X = 0, 90, 2 do
2681 Smoke.CFrame = CF(GrenadePos:lerp(Pos, Sine(X)))
2682 Smoke.Transparency = NumLerp(1, Trans, Sine(X))
2683 RS:wait()
2684 end
2685
2686 wait(S.GrenadeEffectTime)
2687
2688 for X = 0, 90, 0.5 do
2689 Smoke.CFrame = CF(Pos:lerp(Pos + VEC3(0, 20, 0), 1 - COS(RAD(X))))
2690 Smoke.Transparency = NumLerp(Trans, 1, Sine(X))
2691 RS:wait()
2692 end
2693
2694 Smoke:Destroy()
2695 end)
2696
2697 if i % 3 == 0 then
2698 RS:wait()
2699 end
2700 end
2701 end)
2702
2703 wait()
2704
2705 Grenade.Parent:Destroy()
2706end
2707
2708function ThrowGrenade(Type)
2709 local Grenade0 = nil
2710 if S.TrajectoryAssist then
2711 spawn(function()
2712 local X = 0
2713 local Vel = (Type == 1 and S.LethalGrenadeThrowVelocity or S.TacticalGrenadeThrowVelocity)
2714
2715 local GetX = function(Ang, T)
2716 local Vx = Vel * math.cos(Ang)
2717 return Vx * T
2718 end
2719
2720 local GetY = function(Ang, T)
2721 local V0y = Vel * math.sin(Ang)
2722 local Vy = V0y + (-196.2 * T)
2723 return (Vy * T) - (-98.1 * T * T)
2724 end
2725
2726 local Target = CreateTarget()
2727 Target.Parent = game.Workspace
2728 Target.PrimaryPart = Target:WaitForChild("Center")
2729
2730 while (Keys[S.LethalGrenadeKey] or Keys[S.TacticalGrenadeKey]) and Selected do
2731 X = X + math.rad(10)
2732 for _,v in pairs(Target:GetChildren()) do
2733 v.Transparency = 0.2 + ((math.sin(X) + 1) / 5)
2734 end
2735
2736 local Lines = {}
2737 local LastX, LastY = nil, nil
2738 for T = 0, 10, 0.1 do
2739 local XPos = GetX(math.rad(7) - HeadRot, T)
2740 local YPos = GetY(math.rad(7) - HeadRot, T)
2741 if LastX and LastY then
2742 local LookV3 = HRP.CFrame.lookVector
2743 local LastPos = (Head.CFrame * CF(1.5, 0, 0)).p + (LookV3 * LastX) + VEC3(0, LastY, 0)
2744 local NewPos = (Head.CFrame * CF(1.5, 0, 0)).p + (LookV3 * XPos) + VEC3(0, YPos, 0)
2745 local LineCF = CF(LastPos, NewPos)
2746 local Dist = (LastPos - NewPos).magnitude
2747 local NewDist = Dist
2748
2749 local H, P = AdvRayCast(LastPos, (NewPos - LastPos), 1, {Camera, unpack(Ignore)})
2750 if H then
2751 NewDist = (P - LastPos).magnitude
2752
2753 local SurfaceCF = GetHitSurfaceCFrame(P, H)
2754 local SurfaceDir = CF(H.CFrame.p, SurfaceCF.p)
2755 local SurfaceDist = SurfaceDir.lookVector * (H.CFrame.p - SurfaceCF.p).magnitude / 2
2756 local SurfaceOffset = P - SurfaceCF.p + SurfaceDist
2757 local SurfaceCFrame = SurfaceDir + SurfaceDist + SurfaceOffset
2758
2759 Target:SetPrimaryPartCFrame(SurfaceCFrame * CFANG(RAD(-90), 0, 0))
2760
2761 Target.Parent = Camera
2762 else
2763 Target.Parent = nil
2764 end
2765
2766 local Line = Instance.new("Part")
2767 Line.BrickColor = BrickColor.Red()
2768 Line.Material = Enum.Material.SmoothPlastic
2769 Line.Transparency = 0.2 + ((math.sin(X) + 1) / 5)
2770 Line.Anchored = true
2771 Line.CanCollide = false
2772 Line.FormFactor = Enum.FormFactor.Custom
2773 Line.Size = Vector3.new(0.4, 0.4, NewDist)
2774 Line.TopSurface = Enum.SurfaceType.Smooth
2775 Line.BottomSurface = Enum.SurfaceType.Smooth
2776 Line.CFrame = LineCF + (LineCF.lookVector * NewDist / 2)
2777 Line.Parent = Camera
2778
2779 table.insert(Lines, Line)
2780
2781 LastX,LastY = XPos,YPos
2782
2783 if H then break end
2784 else
2785 LastX,LastY = XPos,YPos
2786 end
2787 end
2788
2789 wait()
2790
2791 for _,Line in pairs(Lines) do
2792 Line:Destroy()
2793 end
2794 end
2795
2796 Target:Destroy()
2797 end)
2798 end
2799
2800 local AnimTable = {
2801 function()
2802 TweenJoint(LWeld, CF(-1.5, 0, 0), CF(0, 0.6, 0), Linear, 0.2)
2803 TweenJoint(RWeld, CF(1.5, 0, 0) * CFANG(0, 0, RAD(-10)), CF(0, 0.6, 0), Linear, 0.2)
2804 TweenJoint(Grip, Grip.C0, CFANG(0, RAD(10), 0), Linear, 0.2)
2805 wait(0.3)
2806 end;
2807
2808 function()
2809 Grip.Part0 = Torso
2810 Grip.C1 = CF(-1, 0.5, -0.5)
2811
2812 if S.LethalGrenadeType == 3 and Type == 1 then
2813 Grenade0 = CreateKnife()
2814 Grenade0.Parent = Gun_Ignore
2815
2816 local Weld = Instance.new("Weld")
2817 Weld.Part0 = FakeRArm
2818 Weld.Part1 = Grenade0
2819 Weld.C0 = Grip.C0
2820 Weld.C1 = CF(0, 0, -0.5) * CFANG(RAD(90), RAD(90), 0)
2821 Weld.Parent = Grenade0
2822
2823 TweenJoint(LWeld2, CF(), CF(), Sine, 0.3)
2824 TweenJoint(RWeld2, CF(), CF(), Sine, 0.3)
2825 TweenJoint(LWeld, ArmC0[1], CF(0, 0.5, 0.1) * CFANG(RAD(90), 0, 0), Sine, 0.3)
2826 TweenJoint(RWeld, ArmC0[2], CF(0, 0.4, 0.1) * CFANG(RAD(-80), 0, 0), Sine, 0.3)
2827 wait(0.3)
2828 else
2829 Grenade0 = CreateGrenade()
2830 Grenade0.Parent = Gun_Ignore
2831
2832 local Weld = Instance.new("Weld")
2833 Weld.Part0 = FakeRArm
2834 Weld.Part1 = Grenade0:WaitForChild("Center")
2835 Weld.C0 = Grip.C0
2836 Weld.Parent = Grenade0:WaitForChild("Center")
2837
2838 TweenJoint(LWeld2, CF(), CFANG(0, RAD(80), 0), Linear, 0.25)
2839 TweenJoint(RWeld2, CF(), CFANG(0, RAD(-80), 0), Linear, 0.25)
2840 TweenJoint(LWeld, ArmC0[1], CF(-0.2, 0.8, 0.1) * CFANG(RAD(10), 0, RAD(-30)), Linear, 0.25)
2841 TweenJoint(RWeld, ArmC0[2], CF(0.2, 0.8, 0.1) * CFANG(RAD(10), 0, RAD(30)), Linear, 0.25)
2842 wait(0.3)
2843 end
2844 end;
2845
2846 function()
2847 repeat wait() until (not Keys[S.LethalGrenadeKey]) and (not Keys[S.TacticalGrenadeKey]) or (not Selected)
2848 end;
2849
2850 function()
2851 if S.LethalGrenadeType ~= 3 or Type == 2 then
2852 TweenJoint(LWeld2, CF(), CFANG(0, RAD(45), 0), Sine, 0.2)
2853 TweenJoint(RWeld2, CF(), CFANG(0, RAD(-45), 0), Sine, 0.2)
2854 TweenJoint(LWeld, ArmC0[1], CF(0, 0.8, 0.1), Sine, 0.2)
2855 TweenJoint(RWeld, ArmC0[2], CF(0, 0.8, 0.1), Sine, 0.2)
2856 wait(0.2)
2857 end
2858 end;
2859
2860 function()
2861 if S.LethalGrenadeType ~= 3 or Type == 2 then
2862 TweenJoint(LWeld2, CF(), CF(), Sine, 0.3)
2863 TweenJoint(RWeld2, CF(), CF(), Sine, 0.3)
2864 TweenJoint(LWeld, ArmC0[1], CF(0, 0.5, 0.1) * CFANG(RAD(90), 0, 0), Sine, 0.3)
2865 TweenJoint(RWeld, ArmC0[2], CF(0, 0.4, 0.1) * CFANG(RAD(-80), 0, 0), Sine, 0.3)
2866 wait(0.3)
2867 end
2868 end;
2869
2870 function()
2871 TweenJoint(RWeld, ArmC0[2], CF(0, 0.8, 0.1) * CFANG(RAD(-10), 0, 0), Sine, 0.1)
2872 wait(0.07)
2873 end;
2874
2875 function()
2876 local Main = nil
2877 Grenade0:Destroy()
2878
2879 if S.LethalGrenadeType == 3 and Type == 1 then
2880 local Grenade1 = CreateKnife()
2881 Main = Grenade1
2882
2883 Grenade1.Parent = Gun_Ignore
2884
2885 Main.CFrame = FakeRArm.CFrame * Grip.C0 * CF(0, 0.5, 0) * CFANG(RAD(-90), 0, RAD(90))
2886 Main.Velocity = Main.Velocity + ((Head.CFrame * CFANG(RAD(7), 0, 0)).lookVector * S.LethalGrenadeThrowVelocity)
2887 Main.RotVelocity = (Main.CFrame * CFANG(RAD(90), 0, 0)).lookVector * 20
2888 else
2889 local Grenade1 = CreateGrenade()
2890 Main = Grenade1:WaitForChild("Center")
2891
2892 local Sound = Instance.new("Sound")
2893 Sound.SoundId = (Type == 1 and "rbxassetid://180302005" or "rbxassetid://156283116")
2894 Sound.Volume = 1
2895 Sound.PlayOnRemove = true
2896 Sound.Parent = Main
2897
2898 Grenade1.Parent = Gun_Ignore
2899
2900 Main.CanCollide = true
2901 Main.CFrame = FakeRArm.CFrame * Grip.C0
2902 if Type == 1 then
2903 Main.Velocity = Main.Velocity + ((Head.CFrame * CFANG(RAD(7), 0, 0)).lookVector * S.LethalGrenadeThrowVelocity)
2904 elseif Type == 2 then
2905 Main.Velocity = Main.Velocity + ((Head.CFrame * CFANG(RAD(7), 0, 0)).lookVector * S.TacticalGrenadeThrowVelocity)
2906 end
2907 end
2908
2909 spawn(function()
2910 if Type == 1 then
2911 if S.LethalGrenadeType == 1 then
2912 if S.TimerStartOnHit then
2913 local Detonated = false
2914 Main.Touched:connect(function(Obj)
2915 if IsIgnored(Obj) or Detonated then return end
2916 Main.Velocity = Main.Velocity / 4
2917 Detonated = true
2918
2919 wait(S.DetonationTime)
2920
2921 DetonateExplosive(Main)
2922 end)
2923 else
2924 spawn(function()
2925 local Touched = false
2926 Main.Touched:connect(function(Obj)
2927 if IsIgnored(Obj) or Touched then return end
2928 Touched = true
2929 Main.Velocity = Main.Velocity / 4
2930 end)
2931 end)
2932 wait(S.DetonationTime)
2933 DetonateExplosive(Main)
2934 end
2935 elseif S.LethalGrenadeType == 2 then
2936 local Detonated = false
2937 local GrenadeCF = nil
2938 Main.Touched:connect(function(Obj)
2939 if IsIgnored(Obj) or Detonated then return end
2940 GrenadeCF = Main.CFrame
2941
2942 local W = Instance.new("Weld")
2943 W.Name = "Semtex"
2944 W.Part0 = Main
2945 W.Part1 = Obj
2946 W.C0 = GrenadeCF:toObjectSpace(Obj.CFrame)
2947 W.Parent = Main
2948
2949 Main.ChildRemoved:connect(function(C)
2950 if C.Name == "Semtex" then
2951 local W = Instance.new("Weld")
2952 W.Name = "Semtex"
2953 W.Part0 = Main
2954 W.Part1 = Obj
2955 W.C0 = GrenadeCF:toObjectSpace(Obj.CFrame)
2956 W.Parent = Main
2957 end
2958 end)
2959
2960 if S.TimerStartOnHit then
2961 Detonated = true
2962 wait(S.DetonationTime)
2963 DetonateExplosive(Main)
2964 end
2965 end)
2966
2967 if (not S.TimerStartOnHit) then
2968 wait(S.DetonationTime)
2969 Detonated = true
2970 DetonateExplosive(Main)
2971 end
2972 elseif S.LethalGrenadeType == 3 then
2973 local Touched = false
2974 Main.Touched:connect(function(Obj)
2975 if IsIgnored(Obj) or Touched then return end
2976 Touched = true
2977
2978 local W = Instance.new("Weld")
2979 W.Name = "Sticky"
2980 W.Part0 = Main
2981 W.Part1 = Obj
2982 W.C0 = Main.CFrame:toObjectSpace(Obj.CFrame)
2983 W.Parent = Main
2984
2985 Main.ChildRemoved:connect(function(C)
2986 if C.Name == "Sticky" then
2987 local W = Instance.new("Weld")
2988 W.Name = "Sticky"
2989 W.Part0 = Main
2990 W.Part1 = Obj
2991 W.C0 = Main.CFrame:toObjectSpace(Obj.CFrame)
2992 W.Parent = Main
2993 end
2994 end)
2995
2996 if Obj then
2997 if Obj.Parent.ClassName == "Hat" then
2998 local HitHumanoid = FindFirstClass(Obj.Parent.Parent, "Humanoid")
2999 if HitHumanoid and IsEnemy(HitHumanoid) then
3000 local CreatorTag = Instance.new("ObjectValue")
3001 CreatorTag.Name = "creator"
3002 CreatorTag.Value = Player
3003 CreatorTag.Parent = HitHumanoid
3004 HitHumanoid:TakeDamage(HitHumanoid.MaxHealth)
3005 MarkHit()
3006 end
3007 else
3008 local HitHumanoid = FindFirstClass(Obj.Parent, "Humanoid")
3009 if HitHumanoid and IsEnemy(HitHumanoid) then
3010 local CreatorTag = Instance.new("ObjectValue")
3011 CreatorTag.Name = "creator"
3012 CreatorTag.Value = Player
3013 CreatorTag.Parent = HitHumanoid
3014 HitHumanoid:TakeDamage(HitHumanoid.MaxHealth)
3015 MarkHit()
3016 end
3017 end
3018 end
3019
3020 wait(3)
3021
3022 Main:Destroy()
3023 end)
3024 end
3025 elseif Type == 2 then
3026 if S.TacticalGrenadeType == 1 then
3027 if S.TimerStartOnHit then
3028 local Detonated = false
3029 Main.Touched:connect(function(Obj)
3030 if IsIgnored(Obj) or Detonated then return end
3031 Main.Velocity = Main.Velocity / 2
3032 Detonated = true
3033
3034 wait(S.DetonationTime)
3035
3036 DetonateSmoke(Main)
3037 end)
3038 else
3039 spawn(function()
3040 local Touched = false
3041 Main.Touched:connect(function(Obj)
3042 if IsIgnored(Obj) or Touched then return end
3043 Touched = true
3044 Main.Velocity = Main.Velocity / 2
3045 end)
3046 end)
3047 wait(S.DetonationTime)
3048 DetonateSmoke(Main)
3049 end
3050 end
3051 end
3052 end)
3053
3054 if S.GrenadeTrail and S.GrenadeTrailTransparency ~= 1 then
3055 spawn(function()
3056 local LastPos = nil
3057 while true do
3058 if LastPos then
3059 if (not Main:IsDescendantOf(game))
3060 or (Main.Name == "Knife" and FindFirstClass(Main, "Weld")) then
3061 break
3062 end
3063 local Trail = Instance.new("Part")
3064 Trail.BrickColor = S.GrenadeTrailColor
3065 Trail.Transparency = S.GrenadeTrailTransparency
3066 Trail.Anchored = true
3067 Trail.CanCollide = false
3068 Trail.Size = VEC3(1, 1, 1)
3069 local Mesh = Instance.new("BlockMesh")
3070 Mesh.Offset = VEC3(0, 0, -(Main.Position - LastPos).magnitude / 2)
3071 Mesh.Scale = VEC3(S.GrenadeTrailThickness, S.GrenadeTrailThickness, (Main.Position - LastPos).magnitude)
3072 Mesh.Parent = Trail
3073 Trail.Parent = Gun_Ignore
3074 Trail.CFrame = CF(LastPos, Main.Position)
3075 delay(S.GrenadeTrailVisibleTime, function()
3076 if S.GrenadeTrailDisappearTime > 0 then
3077 local X = 0
3078 while true do
3079 if X == 90 then break end
3080 if (not Selected) then break end
3081 local NewX = X + (1.5 / S.GrenadeTrailDisappearTime)
3082 X = (NewX > 90 and 90 or NewX)
3083 local Alpha = X / 90
3084 Trail.Transparency = NumLerp(S.GrenadeTrailTransparency, 1, Alpha)
3085 RS:wait()
3086 end
3087 Trail:Destroy()
3088 else
3089 Trail:Destroy()
3090 end
3091 end)
3092 LastPos = Main.Position
3093 else
3094 LastPos = Main.Position
3095 end
3096 RS:wait()
3097 end
3098 end)
3099 end
3100 wait(0.2)
3101 end;
3102
3103 function()
3104 TweenJoint(RWeld, CF(1.5, 0, 0) * CFANG(0, 0, RAD(-10)), CF(0, 0.6, 0), Linear, 0.2)
3105 wait(0.3)
3106 end;
3107
3108 function()
3109 Grip.Part0 = RArm
3110 Grip.C1 = CFANG(0, RAD(20), 0)
3111
3112 TweenJoint(LWeld, ArmC0[1], S.ArmC1_UnAimed.Left, Linear, 0.2)
3113 TweenJoint(RWeld, ArmC0[2], S.ArmC1_UnAimed.Right, Linear, 0.2)
3114 wait(0.2)
3115 end;
3116 }
3117
3118 for _,F in pairs(AnimTable) do
3119 if (not Selected) then
3120 break
3121 end
3122 F()
3123 end
3124
3125 if (not Selected) and Grenade0 then
3126 Grenade0:Destroy()
3127 end
3128end
3129
3130--------------------[ CAMERA STEADYING FUNCTIONS ]------------------------------------
3131
3132function SteadyCamera()
3133 Gui_Clone.Scope.Steady.Text = "Steadying..."
3134 Gui_Clone.Scope.Steady.TextColor3 = Color3.new(1, 1, 0)
3135 CameraSteady = true
3136 local OriginalSway = CameraSway
3137 for X = 0, 90, 1.5 / 0.6 do
3138 if (not Run_Key_Pressed) then break end
3139 local Alpha = SIN(RAD(X))
3140 CameraSway = NumLerp(OriginalSway, 0, Alpha)
3141 RS:wait()
3142 end
3143 while Run_Key_Pressed and Aimed do
3144 if CurrentSteadyTime > 0 then
3145 local NewSteadyTime = CurrentSteadyTime - 1
3146 CurrentSteadyTime = (NewSteadyTime < 0 and 0 or NewSteadyTime)
3147 CameraSway = 0
3148 elseif CurrentSteadyTime == 0 then
3149 break
3150 end
3151 RS:wait()
3152 end
3153 CameraSteady = false
3154 spawn(function()
3155 for X = 0, 90, 1.5 / 0.2 do
3156 local Alpha = math.log10(X) / math.log10(90)
3157 CameraSway = NumLerp(0, 3, Alpha)
3158 RS:wait()
3159 end
3160 for X = 0, 90, 1.5 / S.ScopeSteadyTime do
3161 if CameraSteady then break end
3162 local Alpha = SIN(RAD(X))
3163 CameraSway = NumLerp(3, 1, Alpha)
3164 RS:wait()
3165 end
3166 end)
3167 RetakeBreath()
3168end
3169
3170function RetakeBreath()
3171 local Steady = Gui_Clone.Scope.Steady
3172 Steady.Text = "Re-taking Breath"
3173 Steady.TextColor3 = Color3.new(1, 0, 0)
3174 TakingBreath = true
3175 while TakingBreath do
3176 if CurrentSteadyTime < MaxSteadyTime then
3177 local NewSteadyTime = CurrentSteadyTime + (S.ScopeSteadyTime / S.SteadyCooldownTime)
3178 CurrentSteadyTime = (NewSteadyTime > MaxSteadyTime and MaxSteadyTime or NewSteadyTime)
3179 elseif CurrentSteadyTime >= MaxSteadyTime then
3180 break
3181 end
3182 RS:wait()
3183 end
3184 if TakingBreath then
3185 Steady.Text = "Hold "..ConvertKey(S.ScopeSteadyKey).." to Steady"
3186 Steady.TextColor3 = Color3.new(1, 1, 0)
3187 TakingBreath = false
3188 end
3189end
3190
3191--------------------[ SPRINTING FUNCTIONS ]-------------------------------------------
3192
3193function MonitorStamina()
3194 while Run_Key_Pressed do
3195 if (not Aimed) and (not Aiming) then
3196 break
3197 end
3198 RS:wait()
3199 end
3200 while Run_Key_Pressed and (not Aiming) and (not Aimed) and (not Knifing) and (not ThrowingGrenade) do
3201 local Forward = (Keys["w"] or Keys[string.char(17)])
3202 local Backward = (Keys["s"] or Keys[string.char(18)])
3203 if (Forward and (not Backward))
3204 and Walking and (Stamina > 0) then
3205 if Stance == 1 or Stance == 2 then Stand() end
3206 local NewStamina = Stamina - 1
3207 Stamina = (NewStamina < 0 and 0 or NewStamina)
3208 Running = true
3209 elseif (not (Forward and (not Backward)))
3210 or (not Walking) or (Stamina == 0) then
3211 break
3212 end
3213 RS:wait()
3214 end
3215 Running = false
3216 RechargeStamina()
3217end
3218
3219function RechargeStamina()
3220 ChargingStamina = true
3221 while ((not Run_Key_Pressed) or (Stamina < MaxStamina)) and (not Running) do
3222 if Stamina < MaxStamina then
3223 local NewStamina = Stamina + (S.SprintTime / S.StaminaCoolTime)
3224 Stamina = (NewStamina > MaxStamina and MaxStamina or NewStamina)
3225 elseif Stamina >= MaxStamina then
3226 break
3227 end
3228 RS:wait()
3229 end
3230 ChargingStamina = false
3231end
3232
3233--------------------[ STANCE FUNCTIONS ]----------------------------------------------
3234
3235function Stand(OnDeselected)
3236 local LHip = Torso["Left Hip"]
3237 local RHip = Torso["Right Hip"]
3238 local Root = HRP.RootJoint
3239 Stance = 0
3240 if S.StanceAnimation and (not OnDeselected) then
3241 spawn(function()
3242 local PreviousOffset = Humanoid.CameraOffset
3243 local PreviousRootP = Root.C0.p
3244 for X = 0, 90, 1.5 / S.StanceChangeSpeed do
3245 if Stance ~= 0 then break end
3246 local Alpha = Sine(X)
3247 Humanoid.CameraOffset = PreviousOffset:lerp(StanceOffset[1], Alpha)
3248 Root.C0 = CF(PreviousRootP:lerp(VEC3(), Alpha)) * CFANG(RAD(-90), 0, RAD(180))
3249 RS:wait()
3250 end
3251 end)
3252 TweenJoint(ABWeld, CF(), CF(), Sine, S.StanceChangeSpeed)
3253 TweenJoint(LHip, CF(-1, -1, 0) * CFANG(0, RAD(-90), 0), CF(-0.5, 1, 0) * CFANG(0, RAD(-90), 0), Sine, S.StanceChangeSpeed)
3254 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)
3255 elseif OnDeselected then
3256 Humanoid.CameraOffset = StanceOffset[1]
3257 ABWeld.C0 = CF()
3258 ABWeld.C1 = CF()
3259 LHip.C0 = CF(-1, -1, 0) * CFANG(0, RAD(-90), 0)
3260 LHip.C1 = CF(-0.5, 1, 0) * CFANG(0, RAD(-90), 0)
3261 RHip.C0 = CF(1, -1, 0) * CFANG(RAD(-180), RAD(90), 0)
3262 RHip.C1 = CF(0.5, 1, 0) * CFANG(RAD(-180), RAD(90), 0)
3263 Root.C0 = CFANG(RAD(-90), 0, RAD(180))
3264 end
3265end
3266
3267function Crouch()
3268 local LHip = Torso["Left Hip"]
3269 local RHip = Torso["Right Hip"]
3270 local Root = HRP.RootJoint
3271 Stance = 1
3272 if S.StanceAnimation then
3273 spawn(function()
3274 local PreviousOffset = Humanoid.CameraOffset
3275 local PreviousRootP = Root.C0.p
3276 for X = 0, 90, 1.5 / S.StanceChangeSpeed do
3277 if Stance ~= 1 then break end
3278 local Alpha = Sine(X)
3279 Humanoid.CameraOffset = PreviousOffset:lerp(StanceOffset[2], Alpha)
3280 Root.C0 = CF(PreviousRootP:lerp(VEC3(0, -1, 0), Alpha)) * CFANG(RAD(-90), 0, RAD(180))
3281 RS:wait()
3282 end
3283 end)
3284 TweenJoint(ABWeld, CF(0, 0, -1 / 16), CF(), Sine, S.StanceChangeSpeed)
3285 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)
3286 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)
3287 else
3288 Humanoid.CameraOffset = StanceOffset[2]
3289 ABWeld.C0 = CF(0, 0, -1 / 16)
3290 ABWeld.C1 = CF()
3291 LHip.C0 = CF(-1, -0.5, 0) * CFANG(0, RAD(-90), 0)
3292 LHip.C1 = CF(-0.5, 0.5, 1) * CFANG(0, RAD(-90), RAD(-90))
3293 RHip.C0 = CF(1, -0.5, 0.25) * CFANG(RAD(-180), RAD(90), 0)
3294 RHip.C1 = CF(0.5, 0.5, 1) * CFANG(RAD(-180), RAD(90), 0)
3295 Root.C0 = CF(0, -1, 0) * CFANG(RAD(-90), 0, RAD(180))
3296 end
3297end
3298
3299function Prone()
3300 local LHip = Torso["Left Hip"]
3301 local RHip = Torso["Right Hip"]
3302 local Root = HRP.RootJoint
3303 Stance = 2
3304 if S.StanceAnimation then
3305 spawn(function()
3306 local PreviousOffset = Humanoid.CameraOffset
3307 local PreviousRootP = Root.C0.p
3308 for X = 0, 90, 1.5 / S.StanceChangeSpeed do
3309 if Stance ~= 2 then break end
3310 local Alpha = Sine(X)
3311 Humanoid.CameraOffset = PreviousOffset:lerp(StanceOffset[3], Alpha)
3312 Root.C0 = CF(PreviousRootP:lerp(VEC3(0, -2.5, 1), Alpha)) * CFANG(RAD(180), 0, RAD(180))
3313 RS:wait()
3314 end
3315 end)
3316 TweenJoint(ABWeld, CF(0, 0, -1 / 8), CF(), Sine, S.StanceChangeSpeed)
3317 TweenJoint(LHip, CF(-1, -1, 0) * CFANG(0, RAD(-90), 0), CF(-0.5, 1, 0) * CFANG(0, RAD(-90), 0), Sine, S.StanceChangeSpeed)
3318 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)
3319 else
3320 Humanoid.CameraOffset = StanceOffset[3]
3321 ABWeld.C0 = CF(0, 0, -1 / 8)
3322 ABWeld.C1 = CF()
3323 LHip.C0 = CF(-1, -1, 0) * CFANG(0, RAD(-90), 0)
3324 LHip.C1 = CF(-0.5, 1, 0) * CFANG(0, RAD(-90), 0)
3325 RHip.C0 = CF(1, -1, 0) * CFANG(RAD(-180), RAD(90), 0)
3326 RHip.C1 = CF(0.5, 1, 0) * CFANG(RAD(-180), RAD(90), 0)
3327 Root.C0 = CF(0, -2.5, 1) * CFANG(RAD(180), 0, RAD(180))
3328 end
3329end
3330
3331function Dive(Speed)
3332 local DiveVelocity = (HRP.CFrame * CFANG(RAD(18),0,0)).lookVector * Speed * (35 / 16) * 4e3
3333 HRP.Velocity = VEC3()
3334 Torso.Velocity = VEC3()
3335 local BF = Instance.new("BodyForce")
3336 BF.force = DiveVelocity
3337 BF.Parent = HRP
3338 delay(0.05, function()
3339 Prone()
3340 local Start = tick()
3341 while true do
3342 wait()
3343 if (tick() - Start) > 0.1 then break end
3344 BF.force = -HRP.Velocity * 700
3345 end
3346 BF:Destroy()
3347 end)
3348end
3349
3350--------------------[ KEYBOARD FUNCTIONS ]--------------------------------------------
3351
3352function KeyDown(K)
3353 local Key = string.lower(K)
3354
3355 if Key == S.LowerStanceKey and S.CanChangeStance then
3356 if (not Running) then
3357 if Stance == 0 then
3358 Crouch()
3359 elseif Stance == 1 then
3360 Prone()
3361 end
3362 elseif S.DolphinDive then
3363 delay(1 / 30,function()
3364 CanRun = false
3365 Dive(S.BaseWalkSpeed)
3366 Run_Key_Pressed = false
3367 wait(S.DiveRechargeTime)
3368 CanRun = true
3369 end)
3370 end
3371 end
3372
3373 if Key == S.RaiseStanceKey and S.CanChangeStance then
3374 if (not Running) then
3375 if Stance == 2 then
3376 Crouch()
3377 elseif Stance == 1 then
3378 Stand()
3379 end
3380 end
3381 end
3382
3383 if Key == S.ADSKey then
3384 if S.HoldMouseOrKeyToADS then
3385 if (not AimingIn) and (not Aimed) then
3386 AimingIn = true
3387 AimGun()
3388 AimingIn = false
3389 end
3390 else
3391 if Aimed then
3392 UnAimGun()
3393 else
3394 AimGun()
3395 end
3396 end
3397 end
3398
3399 if Key == S.ReloadKey then
3400 if (not Reloading) and (not Running) then
3401 Reload()
3402 end
3403 end
3404
3405
3406 if Key == S.KnifeKey and S.CanKnife then
3407 if KnifeReady and (not Knifing) and (not ThrowingGrenade) then
3408 if Aimed then UnAimGun(true) end
3409 BreakReload = true
3410 Knifing = true
3411 KnifeReady = false
3412 KnifeAnim()
3413 BreakReload = false
3414 Knifing = false
3415 delay(S.KnifeCooldown, function()
3416 KnifeReady = true
3417 end)
3418 end
3419 end
3420
3421 if Key == S.LethalGrenadeKey and S.Throwables then
3422 if (not Knifing) and (not Running) and (not Aimed) and (not Aiming) and (not ThrowingGrenade) then
3423 if LethalGrenades.Value > 0 then
3424 LethalGrenades.Value = LethalGrenades.Value - 1
3425 ThrowingGrenade = true
3426 ThrowGrenade(1)
3427 ThrowingGrenade = false
3428 end
3429 end
3430 end
3431
3432 if Key == S.TacticalGrenadeKey and S.Throwables then
3433 if (not Knifing) and (not Running) and (not Aimed) and (not Aiming) and (not ThrowingGrenade) then
3434 if TacticalGrenades.Value > 0 then
3435 TacticalGrenades.Value = TacticalGrenades.Value - 1
3436 ThrowingGrenade = true
3437 ThrowGrenade(2)
3438 ThrowingGrenade = false
3439 end
3440 end
3441 end
3442
3443 if Key == S.SprintKey then
3444 Run_Key_Pressed = true
3445 if Aimed and (not Aiming) then
3446 TakingBreath = false
3447 SteadyCamera()
3448 end
3449 if CanRun then
3450 if (not Idleing) and Walking and (not Running) and (not Knifing) and (not ThrowingGrenade) then
3451 if Reloading then BreakReload = true end
3452 MonitorStamina()
3453 end
3454 end
3455 end
3456end
3457
3458function KeyUp(K)
3459 local Key = string.lower(K)
3460
3461 if Key == S.ADSKey then
3462 if S.HoldMouseOrKeyToADS then
3463 if (not AimingOut) and Aimed then
3464 AimingOut = true
3465 UnAimGun()
3466 AimingOut = false
3467 end
3468 end
3469 end
3470
3471 if Key == S.SprintKey then
3472 Run_Key_Pressed = false
3473 Running = false
3474 if (not ChargingStamina) then
3475 RechargeStamina()
3476 end
3477 end
3478end
3479
3480--------------------[ END FUNCTIONS ]-------------------------------------------------
3481
3482--------------------------------------------------------------------------------------
3483--------------------[ TOOL SELECTION AND DESELECTION ]--------------------------------
3484--------------------------------------------------------------------------------------
3485
3486function OnEquipped(M_Icon)
3487 wait(math.random(10, 40) / 100)
3488 if Humanoid.Health ~= 0 and (not Selected) and Gun.Parent == Character then
3489 Selected = true
3490
3491 BreakReload = false
3492
3493 --------------------[ FAILSAFE RESETING ]-------------------------------------
3494
3495 for _, GM in pairs(Ignore_Model:GetChildren()) do
3496 if GM.Name == "Gun_Ignore_"..Player.Name then
3497 GM:Destroy()
3498 end
3499 end
3500
3501 for _,c in pairs(Connections) do
3502 c:disconnect()
3503 end
3504
3505 Connections = {}
3506
3507 --------------------[ CREATING IGNORE MODELS ]--------------------------------
3508
3509 Gun_Ignore = Instance.new("Model")
3510 Gun_Ignore.Name = "Gun_Ignore_"..Player.Name
3511 Gun_Ignore.Parent = Ignore_Model
3512
3513 --------------------[ MODIFYING THE PLAYER ]----------------------------------
3514
3515 M_Icon.Icon = "rbxasset://textures\\Blank.png"
3516
3517 Gui_Clone = Main_Gui:Clone()
3518 Gui_Clone.Parent = Player.PlayerGui
3519
3520 SetUpGui()
3521
3522 Shoulders.Right.Part1 = nil
3523 Shoulders.Left.Part1 = nil
3524
3525 PrevNeckCF.C0 = Neck.C0
3526 PrevNeckCF.C1 = Neck.C1
3527
3528 BG = Instance.new("BodyGyro", HRP)
3529 BG.maxTorque = VEC3(HUGE, HUGE, HUGE)
3530 BG.Name = "BG"
3531 BG.P = 1e5
3532 BG.cframe = CF(Torso.CFrame.p, Torso.CFrame.p + Torso.CFrame.lookVector)
3533
3534 local PlayerFolder = Instance.new("Model")
3535 PlayerFolder.Name = "PlayerFolder"
3536 PlayerFolder.Parent = Gun_Ignore
3537
3538 local AnimBase = Instance.new("Part")
3539 AnimBase.Transparency = 1
3540 AnimBase.Name = "AnimBase"
3541 AnimBase.CanCollide = false
3542 AnimBase.FormFactor = Enum.FormFactor.Custom
3543 AnimBase.Size = VEC3(0.2, 0.2, 0.2)
3544 AnimBase.BottomSurface = Enum.SurfaceType.Smooth
3545 AnimBase.TopSurface = Enum.SurfaceType.Smooth
3546 AnimBase.Parent = PlayerFolder
3547
3548 AnimWeld = Instance.new("Weld")
3549 AnimWeld.Part0 = AnimBase
3550 AnimWeld.Part1 = Head
3551 AnimWeld.C0 = CF(0, 1, 0)
3552 AnimWeld.Parent = AnimBase
3553
3554 local ArmBase = Instance.new("Part")
3555 ArmBase.Transparency = 1
3556 ArmBase.Name = "ArmBase"
3557 ArmBase.CanCollide = false
3558 ArmBase.FormFactor = Enum.FormFactor.Custom
3559 ArmBase.Size = VEC3(0.2, 0.2, 0.2)
3560 ArmBase.BottomSurface = Enum.SurfaceType.Smooth
3561 ArmBase.TopSurface = Enum.SurfaceType.Smooth
3562 ArmBase.Parent = PlayerFolder
3563
3564 ABWeld = Instance.new("Weld")
3565 ABWeld.Part0 = ArmBase
3566 ABWeld.Part1 = AnimBase
3567 ABWeld.Parent = ArmBase
3568
3569 local LArmBase = Instance.new("Part")
3570 LArmBase.Transparency = 1
3571 LArmBase.Name = "LArmBase"
3572 LArmBase.CanCollide = false
3573 LArmBase.FormFactor = Enum.FormFactor.Custom
3574 LArmBase.Size = VEC3(0.2, 0.2, 0.2)
3575 LArmBase.BottomSurface = Enum.SurfaceType.Smooth
3576 LArmBase.TopSurface = Enum.SurfaceType.Smooth
3577 LArmBase.Parent = PlayerFolder
3578
3579 local RArmBase = Instance.new("Part")
3580 RArmBase.Transparency = 1
3581 RArmBase.Name = "RArmBase"
3582 RArmBase.CanCollide = false
3583 RArmBase.FormFactor = Enum.FormFactor.Custom
3584 RArmBase.Size = VEC3(0.2, 0.2, 0.2)
3585 RArmBase.BottomSurface = Enum.SurfaceType.Smooth
3586 RArmBase.TopSurface = Enum.SurfaceType.Smooth
3587 RArmBase.Parent = PlayerFolder
3588
3589 LWeld = Instance.new("Weld")
3590 LWeld.Name = "LWeld"
3591 LWeld.Part0 = ArmBase
3592 LWeld.Part1 = LArmBase
3593 LWeld.C0 = ArmC0[1]
3594 LWeld.C1 = S.ArmC1_UnAimed.Left
3595 LWeld.Parent = ArmBase
3596
3597 RWeld = Instance.new("Weld")
3598 RWeld.Name = "RWeld"
3599 RWeld.Part0 = ArmBase
3600 RWeld.Part1 = RArmBase
3601 RWeld.C0 = ArmC0[2]
3602 RWeld.C1 = S.ArmC1_UnAimed.Right
3603 RWeld.Parent = ArmBase
3604
3605 LWeld2 = Instance.new("Weld")
3606 LWeld2.Name = "LWeld"
3607 LWeld2.Part0 = LArmBase
3608 LWeld2.Part1 = LArm
3609 LWeld2.Parent = LArmBase
3610
3611 RWeld2 = Instance.new("Weld")
3612 RWeld2.Name = "RWeld"
3613 RWeld2.Part0 = RArmBase
3614 RWeld2.Part1 = RArm
3615 RWeld2.Parent = RArmBase
3616
3617 if S.PlayerArms then
3618 FakeLArm = LArm:Clone()
3619 FakeLArm.Parent = PlayerFolder
3620 FakeLArm.Transparency = S.FakeArmTransparency
3621 FakeLArm:BreakJoints()
3622
3623 LArm.Transparency = 1
3624
3625 local FakeLWeld = Instance.new("Weld")
3626 FakeLWeld.Part0 = FakeLArm
3627 FakeLWeld.Part1 = LArm
3628 FakeLWeld.Parent = FakeLArm
3629
3630 FakeRArm = RArm:Clone()
3631 FakeRArm.Parent = PlayerFolder
3632 FakeRArm.Transparency = S.FakeArmTransparency
3633 FakeRArm:BreakJoints()
3634
3635 RArm.Transparency = 1
3636
3637 local FakeRWeld = Instance.new("Weld")
3638 FakeRWeld.Part0 = FakeRArm
3639 FakeRWeld.Part1 = RArm
3640 FakeRWeld.Parent = FakeRArm
3641
3642 Instance.new("Humanoid", PlayerFolder)
3643
3644 for _,Obj in pairs(Character:GetChildren()) do
3645 if Obj:IsA("CharacterMesh") or Obj:IsA("Shirt") then
3646 Obj:Clone().Parent = PlayerFolder
3647 end
3648 end
3649 else
3650 local ArmTable = CreateArms()
3651 ArmTable[1].Model.Parent = PlayerFolder
3652 ArmTable[2].Model.Parent = PlayerFolder
3653
3654 FakeLArm = ArmTable[1].ArmPart
3655
3656 LArm.Transparency = 1
3657
3658 local FakeLWeld = Instance.new("Weld")
3659 FakeLWeld.Part0 = FakeLArm
3660 FakeLWeld.Part1 = LArm
3661 FakeLWeld.Parent = FakeLArm
3662
3663 FakeRArm = ArmTable[2].ArmPart
3664
3665 RArm.Transparency = 1
3666
3667 local FakeRWeld = Instance.new("Weld")
3668 FakeRWeld.Part0 = FakeRArm
3669 FakeRWeld.Part1 = RArm
3670 FakeRWeld.Parent = FakeRArm
3671 end
3672
3673 --------------------[ MODIFYING THE GUN ]-------------------------------------
3674
3675 for _, Tab in pairs(Parts) do
3676 local Weld = Instance.new("Weld")
3677 Weld.Name = "MainWeld"
3678 Weld.Part0 = Handle
3679 Weld.Part1 = Tab.Obj
3680 Weld.C0 = Tab.Obj.WeldCF.Value
3681 Weld.Parent = Handle
3682 Tab.Weld = Weld
3683 end
3684
3685 Grip = RArm:WaitForChild("RightGrip")
3686
3687 local HandleCF = ArmBase.CFrame * ArmC0[2] * S.ArmC1_Aimed.Right:inverse() * CF(0, -1, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0)
3688 local HandleOffset = AimPart.CFrame:toObjectSpace(Handle.CFrame)
3689 Aimed_GripCF = (Head.CFrame * HandleOffset):toObjectSpace(HandleCF)
3690
3691 --------------------[ CONNECTIONS ]-------------------------------------------
3692
3693 INSERT(Connections, Humanoid.Died:connect(function()
3694 OnUnequipped(true)
3695 end))
3696
3697 INSERT(Connections, M2.Button1Down:connect(function()
3698 MB1_Down = true
3699 if S.GunType.Auto and (not S.GunType.Semi) and (not S.GunType.Burst) then
3700 if (not CanFire) then return end
3701 CanFire = false
3702 if (not Running) and (not Knifing) and (not ThrowingGrenade) then
3703 CurrentSpread = (
3704 Aimed and S.Spread.Aimed or
3705 ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
3706 )
3707 while MB1_Down and (not Reloading) do
3708 if Knifing and (not ThrowingGrenade) then break end
3709 if Running then break end
3710 if Ammo.Value > 0 then
3711 Ammo.Value = Ammo.Value - 1
3712 if Humanoid.Health ~= 0 then
3713 if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
3714 Run_Key_Pressed = false
3715 CurrentSteadyTime = 0
3716 end
3717 Fire_Gun()
3718 end
3719 end
3720 if Ammo.Value == 0 and S.AutoReload then
3721 wait(0.2)
3722 Reload()
3723 end
3724 wait(60 / S.FireRate)
3725 end
3726 end
3727 CanFire = true
3728 elseif (not S.GunType.Auto) and S.GunType.Burst then
3729 if (not CanFire) then return end
3730 CanFire = false
3731 if (not Running) and (not Knifing) and (not ThrowingGrenade) then
3732 CurrentSpread = (
3733 Aimed and S.Spread.Aimed or
3734 ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
3735 )
3736 for i = 1, S.BurstAmount do
3737 if Ammo.Value > 0 then
3738 Ammo.Value = Ammo.Value - 1
3739 if Humanoid.Health ~= 0 then
3740 if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
3741 Run_Key_Pressed = false
3742 CurrentSteadyTime = 0
3743 end
3744 Fire_Gun()
3745 end
3746 end
3747 if Ammo.Value == 0 and S.AutoReload then
3748 wait(0.2)
3749 Reload()
3750 break
3751 end
3752 wait(S.BurstTime / S.BurstAmount)
3753 end
3754 end
3755 wait(S.BurstWait)
3756 CanFire = true
3757 elseif (not S.GunType.Auto) and S.GunType.Semi then
3758 if (not CanFire) then return end
3759 CanFire = false
3760 if (not Running) and (not Knifing) and (not ThrowingGrenade) then
3761 CurrentSpread = (
3762 Aimed and S.Spread.Aimed or
3763 ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
3764 )
3765 if Ammo.Value > 0 then
3766 Ammo.Value = Ammo.Value - 1
3767 if Humanoid.Health ~= 0 then
3768 if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
3769 Run_Key_Pressed = false
3770 CurrentSteadyTime = 0
3771 end
3772 Fire_Gun()
3773 end
3774 end
3775 if Ammo.Value == 0 and S.AutoReload then
3776 wait(0.2)
3777 Reload()
3778 end
3779 wait(60 / S.FireRate)
3780 end
3781 CanFire = true
3782 elseif (not S.GunType.Auto) and (not S.GunType.Semi) and (not S.GunType.Burst) and S.GunType.Shot then
3783 if (not CanFire) then return end
3784 CanFire = false
3785 if (not Running) and (not Knifing) and (not ThrowingGrenade) then
3786 CurrentSpread = (
3787 Aimed and S.Spread.Aimed or
3788 ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
3789 )
3790 if Ammo.Value > 0 then
3791 Ammo.Value = Ammo.Value - 1
3792 if Humanoid.Health ~= 0 then
3793 if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
3794 Run_Key_Pressed = false
3795 CurrentSteadyTime = 0
3796 end
3797 Fire_Gun()
3798 end
3799 end
3800 if Ammo.Value == 0 and S.AutoReload then
3801 wait(0.2)
3802 Reload()
3803 end
3804 wait(60 / S.FireRate)
3805 end
3806 CanFire = true
3807 elseif (not S.GunType.Auto) and (not S.GunType.Semi) and S.GunType.Burst and (not S.GunType.Shot) then
3808 if (not CanFire) then return end
3809 CanFire = false
3810 if (not Running) and (not Knifing) and (not ThrowingGrenade) then
3811 CurrentSpread = (
3812 Aimed and S.Spread.Aimed or
3813 ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
3814 )
3815 for i = 1, S.BurstAmount do
3816 if Ammo.Value > 0 then
3817 Ammo.Value = Ammo.Value - 1
3818 if Humanoid.Health ~= 0 then
3819 if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
3820 Run_Key_Pressed = false
3821 CurrentSteadyTime = 0
3822 end
3823 Fire_Gun()
3824 end
3825 end
3826 if Ammo.Value == 0 and S.AutoReload then
3827 wait(0.2)
3828 Reload()
3829 break
3830 end
3831 wait(S.BurstTime / S.BurstAmount)
3832 end
3833 end
3834 wait(S.BurstWait)
3835 CanFire = true
3836 elseif (not S.GunType.Auto) and (not S.GunType.Burst) and (not S.GunType.Shot) and S.GunType.Explosive then
3837 if (not CanFire) then return end
3838 CanFire = false
3839 if (not Running) and (not Knifing) and (not ThrowingGrenade) then
3840 CurrentSpread = (
3841 Aimed and S.Spread.Aimed or
3842 ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
3843 )
3844 if Ammo.Value > 0 then
3845 Ammo.Value = Ammo.Value - 1
3846 if Humanoid.Health ~= 0 then
3847 if Aimed and Run_Key_Pressed and S.UnSteadyOnFire then
3848 Run_Key_Pressed = false
3849 CurrentSteadyTime = 0
3850 end
3851 Fire_Gun()
3852 end
3853 end
3854 if Ammo.Value == 0 and S.AutoReload then
3855 wait(0.2)
3856 Reload()
3857 end
3858 wait(60 / S.FireRate)
3859 end
3860 CanFire = true
3861 end
3862 end))
3863
3864 INSERT(Connections, M2.Button1Up:connect(function()
3865 MB1_Down = false
3866 CurrentSpread = (
3867 Aimed and S.Spread.Aimed or
3868 ((Idleing and (not Walking)) and S.Spread.Hipfire or S.Spread.Walking)
3869 )
3870 end))
3871
3872 INSERT(Connections, M2.Button2Down:connect(function()
3873 if S.HoldMouseOrKeyToADS then
3874 if (not AimingIn) and (not Aimed) then
3875 AimingIn = true
3876 AimGun()
3877 AimingIn = false
3878 end
3879 else
3880 if Aimed then
3881 UnAimGun()
3882 else
3883 AimGun()
3884 end
3885 end
3886 end))
3887
3888 INSERT(Connections, M2.Button2Up:connect(function()
3889 if S.HoldMouseOrKeyToADS then
3890 if (not AimingOut) and Aimed then
3891 AimingOut = true
3892 UnAimGun()
3893 AimingOut = false
3894 end
3895 end
3896 end))
3897
3898 INSERT(Connections, M2.KeyDown:connect(KeyDown))
3899
3900 INSERT(Connections, M2.KeyUp:connect(KeyUp))
3901
3902 INSERT(Connections, RS:connect(function()
3903 local CrossHair = Gui_Clone:WaitForChild("CrossHair")
3904 local HitMarker = Gui_Clone:WaitForChild("HitMarker")
3905 local HUD = Gui_Clone:WaitForChild("HUD")
3906
3907 CrossHair.Position = UDim2.new(0, M2.X, 0, M2.Y)
3908 HitMarker.Position = UDim2.new(0, M2.X - 13, 0, M2.Y - 13)
3909
3910 local Clip_Ammo_L = HUD:WaitForChild("Ammo"):WaitForChild("Clip")
3911 local Stored_Ammo_L = HUD:WaitForChild("Ammo"):WaitForChild("Stored")
3912 Clip_Ammo_L.Text = Ammo.Value
3913 Clip_Ammo_L.TextColor3 = (Ammo.Value <= (ClipSize.Value / 3) and Color3.new(1, 0, 0) or Color3.new(1, 1, 1))
3914 Stored_Ammo_L.Text = StoredAmmo.Value
3915 Stored_Ammo_L.TextColor3 = (StoredAmmo.Value <= (ClipSize.Value * 2) and Color3.new(1, 0, 0) or Color3.new(1, 1, 1))
3916
3917 local Lethal_Grenade_Num_L = HUD:WaitForChild("Grenades"):WaitForChild("Lethals"):WaitForChild("Num")
3918 Lethal_Grenade_Num_L.Text = LethalGrenades.Value
3919 Lethal_Grenade_Num_L.TextColor3 = (LethalGrenades.Value < 3 and Color3.new(1, 0, 0) or Color3.new(1, 1, 1))
3920
3921 local Tactical_Grenade_Num_L = HUD:WaitForChild("Grenades"):WaitForChild("Tacticals"):WaitForChild("Num")
3922 Tactical_Grenade_Num_L.Text = TacticalGrenades.Value
3923 Tactical_Grenade_Num_L.TextColor3 = (TacticalGrenades.Value < 3 and Color3.new(1, 0, 0) or Color3.new(1, 1, 1))
3924
3925 local Mode = HUD:WaitForChild("Mode"):WaitForChild("Main")
3926 if S.GunType.Auto
3927 and (not S.GunType.Semi)
3928 and (not S.GunType.Burst)
3929 and (not S.GunType.Explosive) then
3930
3931 Mode.Text = "Auto"
3932
3933 elseif (not S.GunType.Auto)
3934 and S.GunType.Burst
3935 and (not S.GunType.Explosive) then
3936
3937 Mode.Text = "Burst"
3938
3939 elseif (not S.GunType.Auto)
3940 and S.GunType.Semi
3941 and (not S.GunType.Explosive) then
3942
3943 Mode.Text = "Semi"
3944
3945 elseif (not S.GunType.Auto)
3946 and (not S.GunType.Semi)
3947 and (not S.GunType.Burst)
3948 and S.GunType.Shot
3949 and (not S.GunType.Explosive) then
3950
3951 Mode.Text = "Shotgun"
3952
3953 elseif (not S.GunType.Auto)
3954 and (not S.GunType.Semi)
3955 and S.GunType.Burst
3956 and (not S.GunType.Shot)
3957 and (not S.GunType.Explosive) then
3958
3959 Mode.Text = "Burst"
3960
3961 elseif S.GunType.Explosive then
3962
3963 Mode.Text = "Explosive"
3964
3965 end
3966
3967 if tick() - LastBeat > (Humanoid.Health / 75) then
3968 LastBeat = tick()
3969 HUD.Health.Tray.Beat:TweenPosition(
3970 UDim2.new(0, -21, 0, 0),
3971 Enum.EasingDirection.Out,
3972 Enum.EasingStyle.Linear,
3973 0.7 - ((100 - Humanoid.Health) / 400),
3974 false,
3975 function()
3976 HUD.Health.Tray.Beat.Position = UDim2.new(1, 0, 0, 0)
3977 end
3978 )
3979 end
3980
3981 HUD.Health.Num.Text = CEIL(Humanoid.Health).."%"
3982 HUD.Health.Num.TextColor3 = (
3983 (Humanoid.Health > 200 / 3) and Color3.new(1, 1, 1) or
3984 (Humanoid.Health <= 200 / 3 and Humanoid.Health > 100 / 3) and Color3.new(1, 1, 0) or
3985 (Humanoid.Health <= 100 / 3) and Color3.new(1, 0, 0)
3986 )
3987 end))
3988
3989 INSERT(Connections, RS:connect(function()
3990 local MDir = M2.UnitRay.Direction.unit
3991
3992 local HRPCF = HRP.CFrame * CF(0, 1.5, 0) * CF(Humanoid.CameraOffset)
3993 Neck.C0 = Torso.CFrame:toObjectSpace(HRPCF)
3994
3995 if MDir.y == MDir.y then
3996 HeadRot = -math.asin(MDir.y)
3997 Neck.C1 = CFANG(HeadRot,0,0)
3998
3999 local RotTarget = VEC3(MDir.x,0,MDir.z)
4000 local Rotation = CF(Torso.Position,Torso.Position + RotTarget)
4001 BG.cframe = Rotation
4002
4003 local MouseX = FLOOR((M2.X - M2.ViewSizeX / 2) + 0.5)
4004 local MouseY = FLOOR((M2.Y - M2.ViewSizeY / 2) + 0.5)
4005 local AppliedMaxTorque = nil
4006 if (Camera.CoordinateFrame.p - Head.Position).magnitude < 0.6 then
4007 if (MouseX >= 50 or MouseX <= -50)
4008 or (MouseY >= 50 or MouseY <= -50) then
4009 AppliedMaxTorque = VEC3()
4010 else
4011 AppliedMaxTorque = VEC3(HUGE,HUGE,HUGE)
4012 end
4013 else
4014 AppliedMaxTorque = VEC3(HUGE,HUGE,HUGE)
4015 end
4016 if (not S.RotateWhileSitting) and Humanoid.Sit then
4017 AppliedMaxTorque = VEC3()
4018 end
4019 BG.maxTorque = AppliedMaxTorque
4020 end
4021 end))
4022
4023 INSERT(Connections, RS:connect(function()
4024 local Forward = (Keys["w"] or Keys[string.char(17)])
4025 local Backward = (Keys["s"] or Keys[string.char(18)])
4026 local Right = (Keys["d"] or Keys[string.char(19)])
4027 local Left = (Keys["a"] or Keys[string.char(20)])
4028
4029 local WalkingForward = (Forward and (not Backward))
4030 local WalkingBackward = ((not Forward) and Backward)
4031 local WalkingRight = (Right and (not Left))
4032 local WalkingLeft = ((not Right) and Left)
4033
4034 ArmTilt = (
4035 ((WalkingForward or WalkingBackward) and WalkingRight) and 5 or
4036 ((WalkingForward or WalkingBackward) and WalkingLeft) and -5 or
4037 ((not (WalkingForward and WalkingBackward)) and WalkingRight) and 10 or
4038 ((not (WalkingForward and WalkingBackward)) and WalkingLeft) and -10 or 0
4039 )
4040 end))
4041
4042 INSERT(Connections, RS:connect(function()
4043 if (not Idleing) and Walking then
4044 if Running then
4045 Humanoid.WalkSpeed = S.SprintSpeed
4046 else
4047 local SpeedRatio = (S.AimedWalkSpeed / S.BaseWalkSpeed)
4048 if Stance == 0 then
4049 Humanoid.WalkSpeed = (Aimed and S.AimedWalkSpeed or S.BaseWalkSpeed)
4050 elseif Stance == 1 then
4051 Humanoid.WalkSpeed = (Aimed and S.CrouchWalkSpeed * SpeedRatio or S.CrouchWalkSpeed)
4052 elseif Stance == 2 then
4053 Humanoid.WalkSpeed = (Aimed and S.ProneWalkSpeed * SpeedRatio or S.ProneWalkSpeed)
4054 end
4055 end
4056 else
4057 Humanoid.WalkSpeed = 16
4058 end
4059
4060 StanceSway = 1 - (0.25 * Stance)
4061 end))
4062
4063 --------------------[ ANIMATE GUN ]-------------------------------------------
4064
4065 Animate()
4066 end
4067end
4068
4069
4070function OnUnequipped(DeleteTool)
4071 if Selected then
4072 Selected = false
4073
4074 BreakReload = true
4075
4076 --------------------[ MODIFYING THE PLAYER ]----------------------------------
4077
4078 Camera.FieldOfView = 70
4079
4080 game:GetService("UserInputService").MouseIconEnabled = true
4081
4082 Gui_Clone:Destroy()
4083 BG:Destroy()
4084
4085 RArm.Transparency = 0
4086 LArm.Transparency = 0
4087
4088 Shoulders.Right.Part1 = RArm
4089 Shoulders.Left.Part1 = LArm
4090
4091 Neck.C0 = PrevNeckCF.C0
4092 Neck.C1 = PrevNeckCF.C1
4093
4094 Humanoid.WalkSpeed = 16
4095
4096 --------------------[ RESETING THE TOOL ]-------------------------------------
4097
4098 Gun_Ignore:Destroy()
4099
4100 Aimed = false
4101
4102 for _, Tab in pairs(Parts) do
4103 Tab.Weld:Destroy()
4104 Tab.Weld = nil
4105 end
4106
4107 for _,c in pairs(Connections) do
4108 c:disconnect()
4109 end
4110
4111 Connections = {}
4112
4113 if DeleteTool then
4114 Camera:ClearAllChildren()
4115 Gun:Destroy()
4116 end
4117
4118 if S.StandOnDeselect and Stance ~= 0 then Stand(true) end
4119 end
4120end
4121
4122Gun.Equipped:connect(OnEquipped)
4123Gun.Unequipped:connect(function() OnUnequipped(false) end)
4124
4125--------------------------------------------------------------------------------------
4126--------------------[ END PROGRAM ]---------------------------------------------------
4127--------------------------------------------------------------------------------------
4128end))
4129IntValue6.Name = "Ignore_Code"
4130IntValue6.Parent = LocalScript5
4131ScreenGui7.Name = "Main_Gui"
4132ScreenGui7.Parent = LocalScript5
4133ImageLabel8.Name = "HitMarker"
4134ImageLabel8.Parent = ScreenGui7
4135ImageLabel8.Transparency = 1
4136ImageLabel8.Size = UDim2.new(0, 26, 0, 26)
4137ImageLabel8.Position = UDim2.new(0.5, -13, 0.5, -13)
4138ImageLabel8.Visible = false
4139ImageLabel8.BackgroundTransparency = 1
4140ImageLabel8.ZIndex = 10
4141ImageLabel8.Image = "http://www.roblox.com/asset/?id=121173757"
4142ImageLabel8.ImageColor3 = Color3.new(1, 0, 0)
4143Frame9.Name = "CrossHair"
4144Frame9.Parent = ScreenGui7
4145Frame9.Position = UDim2.new(0.5, 0, 0.5, 0)
4146Frame9.BackgroundColor3 = Color3.new(1, 1, 1)
4147Frame9.BorderColor3 = Color3.new(0, 0, 0)
4148Frame9.BorderSizePixel = 0
4149ImageLabel10.Parent = Frame9
4150ImageLabel10.Transparency = 1
4151ImageLabel10.Size = UDim2.new(0, 300, 0, 300)
4152ImageLabel10.Position = UDim2.new(0, -150, 0, -150)
4153ImageLabel10.Visible = false
4154ImageLabel10.BackgroundColor3 = Color3.new(1, 1, 1)
4155ImageLabel10.BackgroundTransparency = 1
4156ImageLabel10.ZIndex = 2
4157ImageLabel10.Image = "http://www.roblox.com/asset/?id=68308747"
4158Frame11.Name = "Box"
4159Frame11.Parent = Frame9
4160Frame11.Transparency = 1
4161Frame11.Size = UDim2.new(0, 70, 0, 70)
4162Frame11.Position = UDim2.new(0, -35, 0, -35)
4163Frame11.BackgroundColor3 = Color3.new(1, 1, 1)
4164Frame11.BackgroundTransparency = 1
4165Frame11.ClipsDescendants = true
4166TextLabel12.Name = "Line"
4167TextLabel12.Parent = Frame11
4168TextLabel12.Size = UDim2.new(0, 2, 0, 25)
4169TextLabel12.Text = ""
4170TextLabel12.Position = UDim2.new(0.5, -1, 1, -25)
4171TextLabel12.BackgroundColor3 = Color3.new(1, 1, 1)
4172TextLabel12.BorderColor3 = Color3.new(0, 0, 0)
4173TextLabel12.BorderSizePixel = 0
4174TextLabel12.Font = Enum.Font.SourceSans
4175TextLabel12.FontSize = Enum.FontSize.Size14
4176TextLabel13.Name = "Line"
4177TextLabel13.Parent = Frame11
4178TextLabel13.Size = UDim2.new(0, 2, 0, 25)
4179TextLabel13.Text = ""
4180TextLabel13.Position = UDim2.new(0.5, -1, 0, 0)
4181TextLabel13.BackgroundColor3 = Color3.new(1, 1, 1)
4182TextLabel13.BorderColor3 = Color3.new(0, 0, 0)
4183TextLabel13.BorderSizePixel = 0
4184TextLabel13.Font = Enum.Font.SourceSans
4185TextLabel13.FontSize = Enum.FontSize.Size14
4186TextLabel14.Name = "Line"
4187TextLabel14.Parent = Frame11
4188TextLabel14.Size = UDim2.new(0, 25, 0, 2)
4189TextLabel14.Text = ""
4190TextLabel14.Position = UDim2.new(1, -25, 0.5, -1)
4191TextLabel14.BackgroundColor3 = Color3.new(1, 1, 1)
4192TextLabel14.BorderColor3 = Color3.new(0, 0, 0)
4193TextLabel14.BorderSizePixel = 0
4194TextLabel14.Font = Enum.Font.SourceSans
4195TextLabel14.FontSize = Enum.FontSize.Size14
4196TextLabel15.Name = "Line"
4197TextLabel15.Parent = Frame11
4198TextLabel15.Size = UDim2.new(0, 25, 0, 2)
4199TextLabel15.Text = ""
4200TextLabel15.Position = UDim2.new(0, 0, 0.5, -1)
4201TextLabel15.BackgroundColor3 = Color3.new(1, 1, 1)
4202TextLabel15.BorderColor3 = Color3.new(0, 0, 0)
4203TextLabel15.BorderSizePixel = 0
4204TextLabel15.Font = Enum.Font.SourceSans
4205TextLabel15.FontSize = Enum.FontSize.Size14
4206TextLabel16.Name = "Reload"
4207TextLabel16.Parent = Frame9
4208TextLabel16.Transparency = 1
4209TextLabel16.Size = UDim2.new(0, 100, 0, 20)
4210TextLabel16.Text = "Reloading..."
4211TextLabel16.Position = UDim2.new(0, -50, 0, 70)
4212TextLabel16.Visible = false
4213TextLabel16.BackgroundColor3 = Color3.new(1, 1, 1)
4214TextLabel16.BackgroundTransparency = 1
4215TextLabel16.ZIndex = 2
4216TextLabel16.Font = Enum.Font.ArialBold
4217TextLabel16.FontSize = Enum.FontSize.Size18
4218TextLabel16.TextColor3 = Color3.new(1, 1, 1)
4219TextLabel16.TextStrokeTransparency = 0.5
4220Frame17.Name = "HUD"
4221Frame17.Parent = ScreenGui7
4222Frame17.Transparency = 0.30000001192093
4223Frame17.Size = UDim2.new(0, 175, 0, 75)
4224Frame17.Position = UDim2.new(1, -200, 1, -125)
4225Frame17.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
4226Frame17.BackgroundTransparency = 0.30000001192093
4227Frame17.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
4228Frame17.BorderSizePixel = 5
4229Frame18.Name = "Ammo"
4230Frame18.Parent = Frame17
4231Frame18.Transparency = 1
4232Frame18.Size = UDim2.new(0, 175, 0, 50)
4233Frame18.BackgroundTransparency = 1
4234TextLabel19.Name = "Slash"
4235TextLabel19.Parent = Frame18
4236TextLabel19.Transparency = 1
4237TextLabel19.Size = UDim2.new(0, 10, 0, 30)
4238TextLabel19.Text = "/"
4239TextLabel19.Position = UDim2.new(0, 95, 0, 0)
4240TextLabel19.BackgroundTransparency = 1
4241TextLabel19.ZIndex = 10
4242TextLabel19.Font = Enum.Font.ArialBold
4243TextLabel19.FontSize = Enum.FontSize.Size36
4244TextLabel19.TextColor3 = Color3.new(1, 1, 1)
4245TextLabel20.Name = "Stored"
4246TextLabel20.Parent = Frame18
4247TextLabel20.Transparency = 1
4248TextLabel20.Size = UDim2.new(0, 55, 0, 30)
4249TextLabel20.Text = "124"
4250TextLabel20.Position = UDim2.new(0, 115, 0, 0)
4251TextLabel20.BackgroundTransparency = 1
4252TextLabel20.ZIndex = 10
4253TextLabel20.Font = Enum.Font.Arial
4254TextLabel20.FontSize = Enum.FontSize.Size36
4255TextLabel20.TextColor3 = Color3.new(1, 1, 1)
4256TextLabel20.TextXAlignment = Enum.TextXAlignment.Left
4257TextLabel21.Name = "Clip"
4258TextLabel21.Parent = Frame18
4259TextLabel21.Transparency = 1
4260TextLabel21.Size = UDim2.new(0, 85, 0, 50)
4261TextLabel21.Text = "100"
4262TextLabel21.BackgroundTransparency = 1
4263TextLabel21.ZIndex = 10
4264TextLabel21.FontSize = Enum.FontSize.Size36
4265TextLabel21.TextColor3 = Color3.new(1, 1, 1)
4266TextLabel21.TextXAlignment = Enum.TextXAlignment.Right
4267Frame22.Name = "Mode"
4268Frame22.Parent = Frame17
4269Frame22.Transparency = 1
4270Frame22.Size = UDim2.new(0, 80, 0, 20)
4271Frame22.Position = UDim2.new(0, 95, 0, 27)
4272Frame22.BackgroundColor3 = Color3.new(1, 1, 1)
4273Frame22.BackgroundTransparency = 1
4274TextLabel23.Name = "Bracket"
4275TextLabel23.Parent = Frame22
4276TextLabel23.Transparency = 1
4277TextLabel23.Size = UDim2.new(0, 5, 0, 20)
4278TextLabel23.Text = "["
4279TextLabel23.BackgroundTransparency = 1
4280TextLabel23.ZIndex = 10
4281TextLabel23.Font = Enum.Font.ArialBold
4282TextLabel23.FontSize = Enum.FontSize.Size18
4283TextLabel23.TextColor3 = Color3.new(0.333333, 0, 1)
4284TextLabel23.TextWrapped = true
4285TextLabel23.TextXAlignment = Enum.TextXAlignment.Left
4286TextLabel24.Name = "Bracket"
4287TextLabel24.Parent = Frame22
4288TextLabel24.Transparency = 1
4289TextLabel24.Size = UDim2.new(0, 5, 0, 20)
4290TextLabel24.Text = "]"
4291TextLabel24.Position = UDim2.new(1, -5, 0, 0)
4292TextLabel24.BackgroundTransparency = 1
4293TextLabel24.ZIndex = 10
4294TextLabel24.Font = Enum.Font.ArialBold
4295TextLabel24.FontSize = Enum.FontSize.Size18
4296TextLabel24.TextColor3 = Color3.new(0.333333, 0, 1)
4297TextLabel24.TextWrapped = true
4298TextLabel24.TextXAlignment = Enum.TextXAlignment.Left
4299TextLabel25.Name = "Main"
4300TextLabel25.Parent = Frame22
4301TextLabel25.Transparency = 1
4302TextLabel25.Size = UDim2.new(1, 0, 0, 20)
4303TextLabel25.Text = "Auto"
4304TextLabel25.BackgroundTransparency = 1
4305TextLabel25.ZIndex = 10
4306TextLabel25.Font = Enum.Font.SourceSansBold
4307TextLabel25.FontSize = Enum.FontSize.Size18
4308TextLabel25.TextColor3 = Color3.new(1, 1, 1)
4309TextLabel25.TextWrapped = true
4310Frame26.Name = "Health"
4311Frame26.Parent = Frame17
4312Frame26.Transparency = 0.30000001192093
4313Frame26.Size = UDim2.new(1, 0, 0, 25)
4314Frame26.Position = UDim2.new(0, 0, 0, -40)
4315Frame26.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
4316Frame26.BackgroundTransparency = 0.30000001192093
4317Frame26.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
4318Frame26.BorderSizePixel = 5
4319TextLabel27.Name = "Num"
4320TextLabel27.Parent = Frame26
4321TextLabel27.Transparency = 1
4322TextLabel27.Size = UDim2.new(0, 50, 1, 0)
4323TextLabel27.Text = "100%"
4324TextLabel27.Position = UDim2.new(1, -50, 0, 0)
4325TextLabel27.BackgroundColor3 = Color3.new(0, 0, 0)
4326TextLabel27.BackgroundTransparency = 1
4327TextLabel27.BorderColor3 = Color3.new(0, 0, 0)
4328TextLabel27.BorderSizePixel = 0
4329TextLabel27.ZIndex = 10
4330TextLabel27.Font = Enum.Font.ArialBold
4331TextLabel27.FontSize = Enum.FontSize.Size24
4332TextLabel27.TextColor3 = Color3.new(1, 1, 1)
4333TextLabel27.TextXAlignment = Enum.TextXAlignment.Right
4334Frame28.Name = "Tray"
4335Frame28.Parent = Frame26
4336Frame28.Transparency = 1
4337Frame28.Size = UDim2.new(1, -60, 0, 20)
4338Frame28.Position = UDim2.new(0, 2, 0.5, -10)
4339Frame28.BackgroundColor3 = Color3.new(0, 0, 0)
4340Frame28.BackgroundTransparency = 1
4341Frame28.BorderColor3 = Color3.new(0, 0, 0)
4342Frame28.BorderSizePixel = 0
4343Frame28.ZIndex = 10
4344Frame28.ClipsDescendants = true
4345Frame29.Name = "Beat"
4346Frame29.Parent = Frame28
4347Frame29.Transparency = 1
4348Frame29.Size = UDim2.new(0, 21, 1, 0)
4349Frame29.Position = UDim2.new(1, 0, 0, 0)
4350Frame29.BackgroundColor3 = Color3.new(0, 0, 0)
4351Frame29.BackgroundTransparency = 1
4352Frame29.BorderColor3 = Color3.new(0, 0, 0)
4353Frame29.BorderSizePixel = 0
4354Frame29.ZIndex = 10
4355Frame30.Name = "00"
4356Frame30.Parent = Frame29
4357Frame30.Size = UDim2.new(0.0476190485, 0, 0, 3)
4358Frame30.Position = UDim2.new(0, 0, 0.5, -2)
4359Frame30.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4360Frame30.BorderColor3 = Color3.new(0, 0, 0)
4361Frame30.BorderSizePixel = 0
4362Frame30.ZIndex = 10
4363Frame31.Name = "01"
4364Frame31.Parent = Frame29
4365Frame31.Size = UDim2.new(0.0476190485, 0, 0, 4)
4366Frame31.Position = UDim2.new(0.0476190485, 0, 0.423076928, -2)
4367Frame31.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4368Frame31.BorderColor3 = Color3.new(0, 0, 0)
4369Frame31.BorderSizePixel = 0
4370Frame31.ZIndex = 10
4371Frame32.Name = "02"
4372Frame32.Parent = Frame29
4373Frame32.Size = UDim2.new(0.0476190485, 0, 0, 4)
4374Frame32.Position = UDim2.new(0.095238097, 0, 0.346153855, -2)
4375Frame32.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4376Frame32.BorderColor3 = Color3.new(0, 0, 0)
4377Frame32.BorderSizePixel = 0
4378Frame32.ZIndex = 10
4379Frame33.Name = "03"
4380Frame33.Parent = Frame29
4381Frame33.Size = UDim2.new(0.0476190485, 0, 0, 4)
4382Frame33.Position = UDim2.new(0.142857149, 0, 0.269230783, -2)
4383Frame33.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4384Frame33.BorderColor3 = Color3.new(0, 0, 0)
4385Frame33.BorderSizePixel = 0
4386Frame33.ZIndex = 10
4387Frame34.Name = "04"
4388Frame34.Parent = Frame29
4389Frame34.Size = UDim2.new(0.0476190485, 0, 0, 4)
4390Frame34.Position = UDim2.new(0.190476194, 0, 0.192307696, -2)
4391Frame34.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4392Frame34.BorderColor3 = Color3.new(0, 0, 0)
4393Frame34.BorderSizePixel = 0
4394Frame34.ZIndex = 10
4395Frame35.Name = "05"
4396Frame35.Parent = Frame29
4397Frame35.Size = UDim2.new(0.0476190485, 0, 0, 4)
4398Frame35.Position = UDim2.new(0.238095239, 0, 0.115384616, -2)
4399Frame35.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4400Frame35.BorderColor3 = Color3.new(0, 0, 0)
4401Frame35.BorderSizePixel = 0
4402Frame35.ZIndex = 10
4403Frame36.Name = "06"
4404Frame36.Parent = Frame29
4405Frame36.Size = UDim2.new(0.0476190485, 0, 0, 4)
4406Frame36.Position = UDim2.new(0.285714298, 0, 0.0384615399, -2)
4407Frame36.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4408Frame36.BorderColor3 = Color3.new(0, 0, 0)
4409Frame36.BorderSizePixel = 0
4410Frame36.ZIndex = 10
4411Frame37.Name = "07"
4412Frame37.Parent = Frame29
4413Frame37.Size = UDim2.new(0.0476190485, 0, 0, 4)
4414Frame37.Position = UDim2.new(0.333333343, 0, 0, -2)
4415Frame37.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4416Frame37.BorderColor3 = Color3.new(0, 0, 0)
4417Frame37.BorderSizePixel = 0
4418Frame37.ZIndex = 10
4419Frame38.Name = "08"
4420Frame38.Parent = Frame29
4421Frame38.Size = UDim2.new(0.0476190485, 0, 0, 4)
4422Frame38.Position = UDim2.new(0.380952388, 0, 0.142857149, -2)
4423Frame38.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4424Frame38.BorderColor3 = Color3.new(0, 0, 0)
4425Frame38.BorderSizePixel = 0
4426Frame38.ZIndex = 10
4427Frame39.Name = "09"
4428Frame39.Parent = Frame29
4429Frame39.Size = UDim2.new(0.0476190485, 0, 0, 4)
4430Frame39.Position = UDim2.new(0.428571433, 0, 0.285714298, -2)
4431Frame39.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4432Frame39.BorderColor3 = Color3.new(0, 0, 0)
4433Frame39.BorderSizePixel = 0
4434Frame39.ZIndex = 10
4435Frame40.Name = "10"
4436Frame40.Parent = Frame29
4437Frame40.Size = UDim2.new(0.0476190485, 0, 0, 4)
4438Frame40.Position = UDim2.new(0.476190478, 0, 0.428571433, -2)
4439Frame40.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4440Frame40.BorderColor3 = Color3.new(0, 0, 0)
4441Frame40.BorderSizePixel = 0
4442Frame40.ZIndex = 10
4443Frame41.Name = "11"
4444Frame41.Parent = Frame29
4445Frame41.Size = UDim2.new(0.0476190485, 0, 0, 4)
4446Frame41.Position = UDim2.new(0.523809552, 0, 0.571428597, -2)
4447Frame41.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4448Frame41.BorderColor3 = Color3.new(0, 0, 0)
4449Frame41.BorderSizePixel = 0
4450Frame41.ZIndex = 10
4451Frame42.Name = "12"
4452Frame42.Parent = Frame29
4453Frame42.Size = UDim2.new(0.0476190485, 0, 0, 4)
4454Frame42.Position = UDim2.new(0.571428597, 0, 0.714285731, -2)
4455Frame42.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4456Frame42.BorderColor3 = Color3.new(0, 0, 0)
4457Frame42.BorderSizePixel = 0
4458Frame42.ZIndex = 10
4459Frame43.Name = "13"
4460Frame43.Parent = Frame29
4461Frame43.Size = UDim2.new(0.0476190485, 0, 0, 4)
4462Frame43.Position = UDim2.new(0.619047642, 0, 0.857142866, -2)
4463Frame43.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4464Frame43.BorderColor3 = Color3.new(0, 0, 0)
4465Frame43.BorderSizePixel = 0
4466Frame43.ZIndex = 10
4467Frame44.Name = "14"
4468Frame44.Parent = Frame29
4469Frame44.Size = UDim2.new(0.0476190485, 0, 0, 4)
4470Frame44.Position = UDim2.new(0.666666687, 0, 0.916666687, -2)
4471Frame44.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4472Frame44.BorderColor3 = Color3.new(0, 0, 0)
4473Frame44.BorderSizePixel = 0
4474Frame44.ZIndex = 10
4475Frame45.Name = "15"
4476Frame45.Parent = Frame29
4477Frame45.Size = UDim2.new(0.0476190485, 0, 0, 4)
4478Frame45.Position = UDim2.new(0.714285731, 0, 0.833333313, -2)
4479Frame45.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4480Frame45.BorderColor3 = Color3.new(0, 0, 0)
4481Frame45.BorderSizePixel = 0
4482Frame45.ZIndex = 10
4483Frame46.Name = "16"
4484Frame46.Parent = Frame29
4485Frame46.Size = UDim2.new(0.0476190485, 0, 0, 4)
4486Frame46.Position = UDim2.new(0.761904776, 0, 0.75, -2)
4487Frame46.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4488Frame46.BorderColor3 = Color3.new(0, 0, 0)
4489Frame46.BorderSizePixel = 0
4490Frame46.ZIndex = 10
4491Frame47.Name = "17"
4492Frame47.Parent = Frame29
4493Frame47.Size = UDim2.new(0.0476190485, 0, 0, 4)
4494Frame47.Position = UDim2.new(0.809523821, 0, 0.666666687, -2)
4495Frame47.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4496Frame47.BorderColor3 = Color3.new(0, 0, 0)
4497Frame47.BorderSizePixel = 0
4498Frame47.ZIndex = 10
4499Frame48.Name = "18"
4500Frame48.Parent = Frame29
4501Frame48.Size = UDim2.new(0.0476190485, 0, 0, 4)
4502Frame48.Position = UDim2.new(0.857142866, 0, 0.583333313, -2)
4503Frame48.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4504Frame48.BorderColor3 = Color3.new(0, 0, 0)
4505Frame48.BorderSizePixel = 0
4506Frame48.ZIndex = 10
4507Frame49.Name = "19"
4508Frame49.Parent = Frame29
4509Frame49.Size = UDim2.new(0.0476190485, 0, 0, 4)
4510Frame49.Position = UDim2.new(0.90476191, 0, 0.5, -2)
4511Frame49.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4512Frame49.BorderColor3 = Color3.new(0, 0, 0)
4513Frame49.BorderSizePixel = 0
4514Frame49.ZIndex = 10
4515Frame50.Name = "20"
4516Frame50.Parent = Frame29
4517Frame50.Size = UDim2.new(0.0476190485, 0, 0, 4)
4518Frame50.Position = UDim2.new(0.952000022, 0, 0.49000001, -2)
4519Frame50.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4520Frame50.BorderColor3 = Color3.new(0, 0, 0)
4521Frame50.BorderSizePixel = 0
4522Frame50.ZIndex = 10
4523Frame51.Name = "Line"
4524Frame51.Parent = Frame29
4525Frame51.Size = UDim2.new(0, 200, 0, 3)
4526Frame51.Position = UDim2.new(1, 0, 0.5, -2)
4527Frame51.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4528Frame51.BorderColor3 = Color3.new(0, 0, 0)
4529Frame51.BorderSizePixel = 0
4530Frame51.ZIndex = 10
4531Frame52.Name = "Line"
4532Frame52.Parent = Frame29
4533Frame52.Size = UDim2.new(0, 200, 0, 3)
4534Frame52.Position = UDim2.new(0, -200, 0.5, -2)
4535Frame52.BackgroundColor3 = Color3.new(0, 0.666667, 0)
4536Frame52.BorderColor3 = Color3.new(0, 0, 0)
4537Frame52.BorderSizePixel = 0
4538Frame52.ZIndex = 10
4539Frame53.Name = "Grenades"
4540Frame53.Parent = Frame17
4541Frame53.Transparency = 1
4542Frame53.Size = UDim2.new(0, 175, 0, 25)
4543Frame53.Position = UDim2.new(0, 0, 0, 50)
4544Frame53.BackgroundTransparency = 1
4545Frame54.Name = "Lethals"
4546Frame54.Parent = Frame53
4547Frame54.Transparency = 1
4548Frame54.Size = UDim2.new(0.5, -2, 1, 0)
4549Frame54.BackgroundColor3 = Color3.new(1, 1, 1)
4550Frame54.BackgroundTransparency = 1
4551ImageLabel55.Name = "Icon"
4552ImageLabel55.Parent = Frame54
4553ImageLabel55.Transparency = 1
4554ImageLabel55.Size = UDim2.new(0, 21, 0, 21)
4555ImageLabel55.Position = UDim2.new(0, 7, 0, 2)
4556ImageLabel55.BackgroundColor3 = Color3.new(1, 1, 1)
4557ImageLabel55.BackgroundTransparency = 1
4558TextLabel56.Name = "Dash"
4559TextLabel56.Parent = Frame54
4560TextLabel56.Size = UDim2.new(0, 16, 0, 2)
4561TextLabel56.Text = ""
4562TextLabel56.Position = UDim2.new(0.5, -8, 0.5, -1)
4563TextLabel56.BackgroundColor3 = Color3.new(1, 1, 1)
4564TextLabel56.BorderSizePixel = 0
4565TextLabel56.Font = Enum.Font.ArialBold
4566TextLabel56.FontSize = Enum.FontSize.Size18
4567TextLabel56.TextColor3 = Color3.new(1, 1, 1)
4568TextLabel57.Name = "Num"
4569TextLabel57.Parent = Frame54
4570TextLabel57.Transparency = 1
4571TextLabel57.Size = UDim2.new(0, 0, 1, 0)
4572TextLabel57.Text = "0"
4573TextLabel57.Position = UDim2.new(1, -7, 0, 0)
4574TextLabel57.BackgroundColor3 = Color3.new(1, 1, 1)
4575TextLabel57.BackgroundTransparency = 1
4576TextLabel57.Font = Enum.Font.ArialBold
4577TextLabel57.FontSize = Enum.FontSize.Size18
4578TextLabel57.TextColor3 = Color3.new(1, 1, 1)
4579TextLabel57.TextXAlignment = Enum.TextXAlignment.Right
4580Frame58.Name = "Lines"
4581Frame58.Parent = Frame54
4582Frame58.Transparency = 1
4583Frame58.Size = UDim2.new(1, 0, 1, 0)
4584Frame58.BackgroundColor3 = Color3.new(1, 1, 1)
4585Frame58.BackgroundTransparency = 1
4586TextLabel59.Name = "Line"
4587TextLabel59.Parent = Frame58
4588TextLabel59.Size = UDim2.new(1, 0, 0, 2)
4589TextLabel59.Text = ""
4590TextLabel59.BackgroundColor3 = Color3.new(1, 1, 1)
4591TextLabel59.BorderSizePixel = 0
4592TextLabel59.Font = Enum.Font.SourceSans
4593TextLabel59.FontSize = Enum.FontSize.Size14
4594TextLabel60.Name = "Line"
4595TextLabel60.Parent = Frame58
4596TextLabel60.Size = UDim2.new(1, 0, 0, 2)
4597TextLabel60.Text = ""
4598TextLabel60.Position = UDim2.new(0, 0, 1, -2)
4599TextLabel60.BackgroundColor3 = Color3.new(1, 1, 1)
4600TextLabel60.BorderSizePixel = 0
4601TextLabel60.Font = Enum.Font.SourceSans
4602TextLabel60.FontSize = Enum.FontSize.Size14
4603TextLabel61.Name = "Line"
4604TextLabel61.Parent = Frame58
4605TextLabel61.Size = UDim2.new(0, 2, 1, 0)
4606TextLabel61.Text = ""
4607TextLabel61.BackgroundColor3 = Color3.new(1, 1, 1)
4608TextLabel61.BorderSizePixel = 0
4609TextLabel61.Font = Enum.Font.SourceSans
4610TextLabel61.FontSize = Enum.FontSize.Size14
4611TextLabel62.Name = "Line"
4612TextLabel62.Parent = Frame58
4613TextLabel62.Size = UDim2.new(0, 2, 1, 0)
4614TextLabel62.Text = ""
4615TextLabel62.Position = UDim2.new(1, -2, 0, 0)
4616TextLabel62.BackgroundColor3 = Color3.new(1, 1, 1)
4617TextLabel62.BorderSizePixel = 0
4618TextLabel62.Font = Enum.Font.SourceSans
4619TextLabel62.FontSize = Enum.FontSize.Size14
4620Frame63.Name = "Tacticals"
4621Frame63.Parent = Frame53
4622Frame63.Transparency = 1
4623Frame63.Size = UDim2.new(0.5, -2, 1, 0)
4624Frame63.Position = UDim2.new(0.5, 2, 0, 0)
4625Frame63.BackgroundColor3 = Color3.new(1, 1, 1)
4626Frame63.BackgroundTransparency = 1
4627Frame64.Name = "Lines"
4628Frame64.Parent = Frame63
4629Frame64.Transparency = 1
4630Frame64.Size = UDim2.new(1, 0, 1, 0)
4631Frame64.BackgroundColor3 = Color3.new(1, 1, 1)
4632Frame64.BackgroundTransparency = 1
4633TextLabel65.Name = "Line"
4634TextLabel65.Parent = Frame64
4635TextLabel65.Size = UDim2.new(1, 0, 0, 2)
4636TextLabel65.Text = ""
4637TextLabel65.BackgroundColor3 = Color3.new(1, 1, 1)
4638TextLabel65.BorderSizePixel = 0
4639TextLabel65.Font = Enum.Font.SourceSans
4640TextLabel65.FontSize = Enum.FontSize.Size14
4641TextLabel66.Name = "Line"
4642TextLabel66.Parent = Frame64
4643TextLabel66.Size = UDim2.new(1, 0, 0, 2)
4644TextLabel66.Text = ""
4645TextLabel66.Position = UDim2.new(0, 0, 1, -2)
4646TextLabel66.BackgroundColor3 = Color3.new(1, 1, 1)
4647TextLabel66.BorderSizePixel = 0
4648TextLabel66.Font = Enum.Font.SourceSans
4649TextLabel66.FontSize = Enum.FontSize.Size14
4650TextLabel67.Name = "Line"
4651TextLabel67.Parent = Frame64
4652TextLabel67.Size = UDim2.new(0, 2, 1, 0)
4653TextLabel67.Text = ""
4654TextLabel67.Position = UDim2.new(1, -2, 0, 0)
4655TextLabel67.BackgroundColor3 = Color3.new(1, 1, 1)
4656TextLabel67.BorderSizePixel = 0
4657TextLabel67.Font = Enum.Font.SourceSans
4658TextLabel67.FontSize = Enum.FontSize.Size14
4659TextLabel68.Name = "Line"
4660TextLabel68.Parent = Frame64
4661TextLabel68.Size = UDim2.new(0, 2, 1, 0)
4662TextLabel68.Text = ""
4663TextLabel68.BackgroundColor3 = Color3.new(1, 1, 1)
4664TextLabel68.BorderSizePixel = 0
4665TextLabel68.Font = Enum.Font.SourceSans
4666TextLabel68.FontSize = Enum.FontSize.Size14
4667ImageLabel69.Name = "Icon"
4668ImageLabel69.Parent = Frame63
4669ImageLabel69.Transparency = 1
4670ImageLabel69.Size = UDim2.new(0, 21, 0, 21)
4671ImageLabel69.Position = UDim2.new(0, 7, 0, 2)
4672ImageLabel69.BackgroundColor3 = Color3.new(1, 1, 1)
4673ImageLabel69.BackgroundTransparency = 1
4674TextLabel70.Name = "Dash"
4675TextLabel70.Parent = Frame63
4676TextLabel70.Size = UDim2.new(0, 16, 0, 2)
4677TextLabel70.Text = ""
4678TextLabel70.Position = UDim2.new(0.5, -8, 0.5, -1)
4679TextLabel70.BackgroundColor3 = Color3.new(1, 1, 1)
4680TextLabel70.BorderSizePixel = 0
4681TextLabel70.Font = Enum.Font.ArialBold
4682TextLabel70.FontSize = Enum.FontSize.Size18
4683TextLabel70.TextColor3 = Color3.new(1, 1, 1)
4684TextLabel71.Name = "Num"
4685TextLabel71.Parent = Frame63
4686TextLabel71.Transparency = 1
4687TextLabel71.Size = UDim2.new(0, 0, 1, 0)
4688TextLabel71.Text = "0"
4689TextLabel71.Position = UDim2.new(1, -7, 0, 0)
4690TextLabel71.BackgroundColor3 = Color3.new(1, 1, 1)
4691TextLabel71.BackgroundTransparency = 1
4692TextLabel71.Font = Enum.Font.ArialBold
4693TextLabel71.FontSize = Enum.FontSize.Size18
4694TextLabel71.TextColor3 = Color3.new(1, 1, 1)
4695TextLabel71.TextXAlignment = Enum.TextXAlignment.Right
4696TextLabel72.Name = "Calibre"
4697TextLabel72.Parent = Frame17
4698TextLabel72.Transparency = 1
4699TextLabel72.Size = UDim2.new(1, 0, 0, 15)
4700TextLabel72.Text = "Pressurized Gasoline"
4701TextLabel72.Position = UDim2.new(0, 0, 1, 25)
4702TextLabel72.BackgroundColor3 = Color3.new(1, 1, 1)
4703TextLabel72.BackgroundTransparency = 1
4704TextLabel72.Font = Enum.Font.ArialBold
4705TextLabel72.FontSize = Enum.FontSize.Size14
4706TextLabel72.TextColor3 = Color3.new(1, 1, 1)
4707TextLabel72.TextStrokeTransparency = 0
4708TextLabel72.TextWrapped = true
4709TextLabel72.TextXAlignment = Enum.TextXAlignment.Right
4710TextLabel73.Name = "Gun"
4711TextLabel73.Parent = Frame17
4712TextLabel73.Transparency = 1
4713TextLabel73.Size = UDim2.new(1, 0, 0, 20)
4714TextLabel73.Text = "Mod. XI Scorcher Flamethrower"
4715TextLabel73.Position = UDim2.new(0, 0, 1, 5)
4716TextLabel73.BackgroundColor3 = Color3.new(1, 1, 1)
4717TextLabel73.BackgroundTransparency = 1
4718TextLabel73.Font = Enum.Font.ArialBold
4719TextLabel73.FontSize = Enum.FontSize.Size14
4720TextLabel73.TextColor3 = Color3.new(1, 1, 1)
4721TextLabel73.TextStrokeTransparency = 0
4722TextLabel73.TextWrapped = true
4723TextLabel73.TextXAlignment = Enum.TextXAlignment.Right
4724Frame74.Name = "Controls"
4725Frame74.Parent = Frame17
4726Frame74.Transparency = 0.30000001192093
4727Frame74.Size = UDim2.new(1, 0, 0, 120)
4728Frame74.Position = UDim2.new(0, 0, 0, -200)
4729Frame74.Visible = false
4730Frame74.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
4731Frame74.BackgroundTransparency = 0.30000001192093
4732Frame74.BorderColor3 = Color3.new(0.156863, 0.156863, 0.156863)
4733Frame74.BorderSizePixel = 5
4734TextLabel75.Name = "Title"
4735TextLabel75.Parent = Frame74
4736TextLabel75.Transparency = 1
4737TextLabel75.Size = UDim2.new(1, 0, 0, 15)
4738TextLabel75.Text = "Controls"
4739TextLabel75.Visible = false
4740TextLabel75.BackgroundColor3 = Color3.new(1, 1, 1)
4741TextLabel75.BackgroundTransparency = 1
4742TextLabel75.Font = Enum.Font.SourceSansBold
4743TextLabel75.FontSize = Enum.FontSize.Size14
4744TextLabel75.TextColor3 = Color3.new(1, 1, 1)
4745TextLabel76.Name = "Line"
4746TextLabel76.Parent = TextLabel75
4747TextLabel76.Size = UDim2.new(1, 0, 0, 2)
4748TextLabel76.Text = ""
4749TextLabel76.Position = UDim2.new(0, 0, 1, 1)
4750TextLabel76.BackgroundColor3 = Color3.new(1, 1, 1)
4751TextLabel76.BorderSizePixel = 0
4752TextLabel76.Font = Enum.Font.SourceSans
4753TextLabel76.FontSize = Enum.FontSize.Size14
4754Frame77.Name = "Scope"
4755Frame77.Parent = ScreenGui7
4756Frame77.Transparency = 1
4757Frame77.Size = UDim2.new(1, 0, 1, 0)
4758Frame77.BackgroundColor3 = Color3.new(1, 1, 1)
4759Frame77.BackgroundTransparency = 1
4760ImageLabel78.Name = "Img"
4761ImageLabel78.Parent = Frame77
4762ImageLabel78.Transparency = 1
4763ImageLabel78.Size = UDim2.new(1, 0, 1, 0)
4764ImageLabel78.BackgroundColor3 = Color3.new(0, 0, 0)
4765ImageLabel78.BackgroundTransparency = 1
4766ImageLabel78.BorderSizePixel = 0
4767ImageLabel78.ImageTransparency = 1
4768TextLabel79.Name = "Steady"
4769TextLabel79.Parent = Frame77
4770TextLabel79.Transparency = 1
4771TextLabel79.Size = UDim2.new(0, 120, 0, 20)
4772TextLabel79.Text = ""
4773TextLabel79.Position = UDim2.new(0.5, -60, 0.5, 50)
4774TextLabel79.Visible = false
4775TextLabel79.BackgroundColor3 = Color3.new(1, 1, 1)
4776TextLabel79.BackgroundTransparency = 1
4777TextLabel79.ZIndex = 2
4778TextLabel79.Font = Enum.Font.ArialBold
4779TextLabel79.FontSize = Enum.FontSize.Size14
4780TextLabel79.TextColor3 = Color3.new(1, 1, 1)
4781TextLabel79.TextStrokeTransparency = 0
4782Script80.Name = "Burn"
4783Script80.Parent = LocalScript5
4784Script80.Disabled = true
4785table.insert(cors,sandbox(Script80,function()
4786local Bin = script.Parent
4787
4788local Burning = {}
4789
4790local function FindObject(Object)
4791 for _,v in pairs(Burning) do
4792 if v.Object == Object then
4793 return true
4794 end
4795 end
4796 return false
4797end
4798
4799local function BurnCharacter(Character)
4800 local FireObjects = {}
4801 for _,Limb in pairs({"Head", "Torso", "Left Arm", "Right Arm","Left Leg", "Right Leg"}) do
4802 if Character:FindFirstChild(Limb) ~= nil then
4803 local Fire = Instance.new("Fire")
4804 Fire.Parent = Character[Limb]
4805 FireObjects[#FireObjects+1] = Fire
4806 end
4807 end
4808
4809 local Connection = Character.Humanoid.Died:connect(function()
4810 for _,Limb in pairs({"Head", "Torso", "Left Arm", "Right Arm","Left Leg", "Right Leg"}) do
4811 if Character:FindFirstChild(Limb) ~= nil then
4812 Character[Limb].Material = Enum.Material.Concrete
4813 Character[Limb].BrickColor = BrickColor.new("Really black")
4814 end
4815 end
4816 end)
4817
4818 Burning[#Burning+1] = {
4819 Object = Character,
4820 FireObjects = FireObjects,
4821 FireStarted = tick(),
4822 Connection = Connection,
4823 }
4824end
4825
4826Bin.Touched:connect(function(Hit)
4827 if Hit ~= nil and Hit.Parent ~= nil then
4828 if Hit.Parent:FindFirstChild("Humanoid") ~= nil and not FindObject(Hit.Parent) then
4829 BurnCharacter(Hit.Parent)
4830 end
4831 end
4832end)
4833
4834while true do
4835 for Index = 1, #Burning do
4836 local v = Burning[Index]
4837 if v ~= nil then
4838 if tick() - v.FireStarted > 20 then
4839 for _,flame in pairs(v.FireObjects) do
4840 flame:Destroy()
4841 end
4842
4843 if v.Connection ~= nil then
4844 v.Connection:disconnect()
4845 end
4846
4847 table.remove(Burning, Index)
4848 else
4849 if v.Object:FindFirstChild("Humanoid") then
4850 v.Object.Humanoid:TakeDamage(10)
4851 end
4852 end
4853 end
4854 end
4855 wait(0.5)
4856end
4857end))
4858ParticleEmitter81.Name = "Dust"
4859ParticleEmitter81.Parent = LocalScript5
4860ParticleEmitter81.Transparency = NumberSequence.new(0,1)
4861ParticleEmitter81.Size = NumberSequence.new(4,4)
4862ParticleEmitter81.Color = ColorSequence.new(Color3.new(1, 0.827451, 0.380392),Color3.new(1, 0.407843, 0.133333))
4863ParticleEmitter81.Enabled = false
4864ParticleEmitter81.LightEmission = 1
4865ParticleEmitter81.Texture = "http://www.roblox.com/asset/?id=278539903"
4866ParticleEmitter81.ZOffset = 2
4867ParticleEmitter81.Lifetime = NumberRange.new(2, 3)
4868ParticleEmitter81.Rate = 10
4869ParticleEmitter81.Speed = NumberRange.new(4, 4)
4870ParticleEmitter81.Color = ColorSequence.new(Color3.new(1, 0.827451, 0.380392),Color3.new(1, 0.407843, 0.133333))
4871ParticleEmitter82.Name = "Fire"
4872ParticleEmitter82.Parent = LocalScript5
4873ParticleEmitter82.Transparency = NumberSequence.new(0,0.28749996423721,1)
4874ParticleEmitter82.Rotation = NumberRange.new(-45, -45)
4875ParticleEmitter82.Size = NumberSequence.new(3.1318683624268,5.1098899841309)
4876ParticleEmitter82.Color = ColorSequence.new(Color3.new(1, 0.827451, 0.380392),Color3.new(1, 0.407843, 0.133333))
4877ParticleEmitter82.Enabled = false
4878ParticleEmitter82.LightEmission = 0.80000001192093
4879ParticleEmitter82.Texture = "http://www.roblox.com/asset/?id=241936182"
4880ParticleEmitter82.ZOffset = 1
4881ParticleEmitter82.Lifetime = NumberRange.new(1, 1)
4882ParticleEmitter82.Rate = 60
4883ParticleEmitter82.Speed = NumberRange.new(2, 6)
4884ParticleEmitter82.Color = ColorSequence.new(Color3.new(1, 0.827451, 0.380392),Color3.new(1, 0.407843, 0.133333))
4885PointLight83.Name = "Light"
4886PointLight83.Parent = LocalScript5
4887PointLight83.Color = Color3.new(1, 0.8, 0.333333)
4888PointLight83.Range = 20
4889PointLight83.Shadows = true
4890PointLight83.Color = Color3.new(1, 0.8, 0.333333)
4891Script84.Name = "[[ README ]] (Don't Delete)"
4892Script84.Parent = Tool0
4893table.insert(cors,sandbox(Script84,function()
4894--[[
4895
4896 VERSION: v0.0.3
4897
4898 ----------[ UPDATES ]----------------------------------------------------
4899
4900 Pre-Release: -Added a copyright
4901 -fixed the issue where you couldn't run when you selected the tool
4902 -Added an ADS key and allowed ADS to either be toggle or hold
4903 -Made the Ammo values external so they can be changed by outside scripts
4904
4905 v0.0.2: -Created new arms for the gun
4906 -Fixed an issue where the arms would glitch if PlayerAnimations was set to false and the gun was fired
4907 -Updated credit security
4908 -Put the Arm cframes in the SETTINGS
4909 -Made the stance changing animations slightly smoother
4910 -Added bullet drop
4911 -Fixed some bullet hit handling code
4912 -Made the torso being able to rotate while sitting down a setting
4913 -Added bullet settings
4914 -Added shockwave settings
4915 -Added an Explosive guntype
4916 -Added a version label in the Gui
4917
4918 v0.0.3: -Added an option to have player arms
4919 -Added grenades / throwables
4920 -Fixed the issue where if a player left a server without deselecting the gun, the bullet trails still remained
4921 -Added Gui Scopes
4922 -Fixed the issue where the guns would glitch if you switched weapons too fast
4923
4924 -------------------------------------------------------------------------
4925
4926 Hello there!
4927
4928 Glad to know you're using my one and only Gun Kit!
4929
4930 Even though this kit has many features and is rather advanced, it's pretty easy to use
4931
4932 There are 4 things that this gun needs in order to function:
4933 One brick called "AimPart"
4934 At least one brick called "Mag"
4935 One brick called "Handle"
4936 One brick called "Main"
4937
4938 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
4939 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
4940 the AimPart is aligned with the sight, the gun will aim down the sights properly.
4941 (NOTE: Make sure the AimPart is behind the Sight and the FRONT of the AimPart is facing the Sight)
4942
4943 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
4944 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
4945 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
4946
4947 The Handle is obviously the most important part of the Gun. Without it, the tool itself wouldn't work. It's that simple
4948 (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
4949 you reload, name it "ReloadSound" and place it in the Handle)
4950
4951 The Main is the brick where the bullets will originate from. It's also the brick where the flash effects are kept.
4952 (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
4953 to flash when you fire, name it "FlashFX" and place it in the Main)
4954
4955 ----------[ INSTRUCTIONS ]-----------------------------------------------
4956
4957 HOW TO USE THIS KIT:
4958 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
4959 it wherever you like, and make sure it is facing forward
4960
4961 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.
4962 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
4963 it is facing the sight
4964
4965 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
4966 called "Main", create one and move it to the very front of the gun
4967
4968 4) If ReloadAnimation is set to true in the SETTINGS, make sure the gun has at least one brick called "Mag". If
4969 ReloadAnimation is set to false, the gun doesn't need any bricks called "Mag".
4970
4971 5) Open the SETTINGS and edit them however you like
4972
4973 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 /
4974 comments / concerns, message me.
4975
4976 ______ ______ __ ______ _ ______
4977 / _/ _/ /_ __/_ _______/ /_ ____ / ____/_ _______(_)___ ____ / / /
4978 / // / / / / / / / ___/ __ \/ __ \/ /_ / / / / ___/ / __ \/ __ \ / // /
4979 / // / / / / /_/ / / / /_/ / /_/ / __/ / /_/ (__ ) / /_/ / / / / / // /
4980 / // / /_/ \__,_/_/ /_.___/\____/_/ \__,_/____/_/\____/_/ /_/ _/ // /
4981 /__/__/ /__/__/
4982
4983--]]
4984
4985wait(math.random(0, 200) / 200) --This is to prevent more than one Ignore_Model from being created
4986
4987if _G.Ignore_Code then --If the Ignore_Code already exists, then the script creates the Ignore_Model
4988 --[[
4989 The purpose of this is so that every gun in a game that uses this gun kit will share one Ignore_Model. That way,
4990 bullet trails, bullet holes, and other fake arms will be ignored by the gun which makes the bullets more likely to
4991 hit a character part
4992 --]]
4993 if (not game.Workspace:FindFirstChild("Ignore_Model_".._G.Ignore_Code)) then
4994 local Ignore_Model = Instance.new("Model")
4995 Ignore_Model.Name = "Ignore_Model_".._G.Ignore_Code
4996 Ignore_Model.Parent = game.Workspace
4997
4998 spawn(function()
4999 while true do
5000 Ignore_Model.Parent = game.Workspace
5001 wait(1 / 20)
5002 end
5003 end)
5004 end
5005
5006 script.Parent:WaitForChild("Gun_Main"):WaitForChild("Ignore_Code").Value = _G.Ignore_Code
5007else
5008 --[[
5009 If there isn't already an Ignore_Code, then this creates one. The purpose of it being random is so that if there is
5010 an Ignore_Model for something else in the game, the script won't end up placing the ignored objects in that Ignore_Model
5011 --]]
5012 _G.Ignore_Code = math.random(1, 1e4)
5013
5014 if (not game.Workspace:FindFirstChild("Ignore_Model_".._G.Ignore_Code)) then
5015 local Ignore_Model = Instance.new("Model")
5016 Ignore_Model.Name = "Ignore_Model_".._G.Ignore_Code
5017 Ignore_Model.Parent = game.Workspace
5018
5019 spawn(function()
5020 while true do
5021 Ignore_Model.Parent = game.Workspace
5022 wait(1 / 20)
5023 end
5024 end)
5025 end
5026
5027 script.Parent:WaitForChild("Gun_Main"):WaitForChild("Ignore_Code").Value = _G.Ignore_Code
5028end
5029
5030spawn(function()
5031 repeat wait() until _G.Ignore_Code
5032 local Ignore_Model = game.Workspace:WaitForChild("Ignore_Model_".._G.Ignore_Code)
5033 while true do
5034 for _, Gun_Ignore in pairs(Ignore_Model:GetChildren()) do
5035 if (not game.Players:FindFirstChild(Gun_Ignore.Name:sub(12))) then
5036 Gun_Ignore:Destroy()
5037 end
5038 end
5039 wait(1 / 20)
5040 end
5041end)
5042end))
5043IntValue85.Name = "TacticalGrenades"
5044IntValue85.Parent = Tool0
5045IntValue85.Value = 2
5046IntValue86.Name = "ClipSize"
5047IntValue86.Parent = Tool0
5048IntValue86.Value = 200
5049IntValue87.Name = "StoredFire"
5050IntValue87.Parent = Tool0
5051IntValue87.Value = 800
5052Part88.Name = "Camo"
5053Part88.Parent = Tool0
5054Part88.Material = Enum.Material.Metal
5055Part88.BrickColor = BrickColor.new("Dusty Rose")
5056Part88.Anchored = true
5057Part88.CanCollide = false
5058Part88.FormFactor = Enum.FormFactor.Custom
5059Part88.Size = Vector3.new(0.200000003, 1, 1)
5060Part88.CFrame = CFrame.new(24.0999756, 1.189996, 46.3001709, 1, 0, 0, 0, 1, 0, 0, 0, 1)
5061Part88.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5062Part88.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5063Part88.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5064Part88.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5065Part88.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5066Part88.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5067Part88.Color = Color3.new(0.639216, 0.294118, 0.294118)
5068Part88.Position = Vector3.new(24.0999756, 1.189996, 46.3001709)
5069Part88.Color = Color3.new(0.639216, 0.294118, 0.294118)
5070SpecialMesh89.Parent = Part88
5071SpecialMesh89.MeshType = Enum.MeshType.Sphere
5072Part90.Name = "Tube"
5073Part90.Parent = Tool0
5074Part90.Material = Enum.Material.SmoothPlastic
5075Part90.BrickColor = BrickColor.new("Black")
5076Part90.Rotation = Vector3.new(-71.0400009, -73.3300018, 152.679993)
5077Part90.Anchored = true
5078Part90.CanCollide = false
5079Part90.FormFactor = Enum.FormFactor.Custom
5080Part90.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5081Part90.CFrame = CFrame.new(22.5713501, 1.981902, 45.9355621, -0.254845113, -0.131637111, -0.957980096, -0.655851305, -0.704464436, 0.271273047, -0.710572362, 0.697425067, 0.0931949541)
5082Part90.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5083Part90.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5084Part90.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5085Part90.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5086Part90.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5087Part90.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5088Part90.Color = Color3.new(0.105882, 0.164706, 0.207843)
5089Part90.Position = Vector3.new(22.5713501, 1.981902, 45.9355621)
5090Part90.Orientation = Vector3.new(-15.7399998, -84.4399948, -137.050003)
5091Part90.Color = Color3.new(0.105882, 0.164706, 0.207843)
5092CylinderMesh91.Parent = Part90
5093CylinderMesh91.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5094CylinderMesh91.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5095Part92.Name = "Tube"
5096Part92.Parent = Tool0
5097Part92.Material = Enum.Material.SmoothPlastic
5098Part92.BrickColor = BrickColor.new("Black")
5099Part92.Rotation = Vector3.new(143.220001, 47.0299988, 99.8399963)
5100Part92.Anchored = true
5101Part92.CanCollide = false
5102Part92.FormFactor = Enum.FormFactor.Custom
5103Part92.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5104Part92.CFrame = CFrame.new(24.3755798, 0.436780989, 45.8866119, -0.116514929, -0.671544135, 0.731746376, -0.864073873, -0.294723868, -0.408061594, 0.489694476, -0.679828167, -0.545924008)
5105Part92.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5106Part92.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5107Part92.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5108Part92.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5109Part92.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5110Part92.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5111Part92.Color = Color3.new(0.105882, 0.164706, 0.207843)
5112Part92.Position = Vector3.new(24.3755798, 0.436780989, 45.8866119)
5113Part92.Orientation = Vector3.new(24.0799999, 126.729996, -108.829994)
5114Part92.Color = Color3.new(0.105882, 0.164706, 0.207843)
5115SpecialMesh93.Parent = Part92
5116SpecialMesh93.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5117SpecialMesh93.MeshType = Enum.MeshType.Sphere
5118SpecialMesh93.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5119Part94.Name = "Tube"
5120Part94.Parent = Tool0
5121Part94.Material = Enum.Material.SmoothPlastic
5122Part94.BrickColor = BrickColor.new("Black")
5123Part94.Rotation = Vector3.new(166, 55.9799995, -108.279999)
5124Part94.Anchored = true
5125Part94.CanCollide = false
5126Part94.FormFactor = Enum.FormFactor.Custom
5127Part94.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5128Part94.CFrame = CFrame.new(22.5581989, 1.91143894, 46.0052795, -0.175444052, 0.531269014, 0.82883817, 0.858454168, 0.494700611, -0.135380358, -0.481950104, 0.687767863, -0.542862296)
5129Part94.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5130Part94.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5131Part94.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5132Part94.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5133Part94.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5134Part94.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5135Part94.Color = Color3.new(0.105882, 0.164706, 0.207843)
5136Part94.Position = Vector3.new(22.5581989, 1.91143894, 46.0052795)
5137Part94.Orientation = Vector3.new(7.77999973, 123.219994, 60.0499992)
5138Part94.Color = Color3.new(0.105882, 0.164706, 0.207843)
5139SpecialMesh95.Parent = Part94
5140SpecialMesh95.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5141SpecialMesh95.MeshType = Enum.MeshType.Sphere
5142SpecialMesh95.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5143Part96.Name = "Tube"
5144Part96.Parent = Tool0
5145Part96.Material = Enum.Material.SmoothPlastic
5146Part96.BrickColor = BrickColor.new("Black")
5147Part96.Rotation = Vector3.new(-43.5999985, -67.4700012, -52.7999992)
5148Part96.Anchored = true
5149Part96.CanCollide = false
5150Part96.FormFactor = Enum.FormFactor.Custom
5151Part96.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5152Part96.CFrame = CFrame.new(24.2810364, 0.407572001, 45.7128143, 0.231679901, 0.305178195, -0.923683345, -0.191700906, 0.945221305, 0.264211416, 0.953716516, 0.115858458, 0.277491689)
5153Part96.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5154Part96.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5155Part96.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5156Part96.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5157Part96.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5158Part96.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5159Part96.Color = Color3.new(0.105882, 0.164706, 0.207843)
5160Part96.Position = Vector3.new(24.2810364, 0.407572001, 45.7128143)
5161Part96.Orientation = Vector3.new(-15.3199997, -73.2799988, -11.46)
5162Part96.Color = Color3.new(0.105882, 0.164706, 0.207843)
5163SpecialMesh97.Parent = Part96
5164SpecialMesh97.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5165SpecialMesh97.MeshType = Enum.MeshType.Sphere
5166SpecialMesh97.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5167Part98.Name = "Tube"
5168Part98.Parent = Tool0
5169Part98.Material = Enum.Material.SmoothPlastic
5170Part98.BrickColor = BrickColor.new("Black")
5171Part98.Rotation = Vector3.new(-145, -60, 95)
5172Part98.Anchored = true
5173Part98.CanCollide = false
5174Part98.FormFactor = Enum.FormFactor.Custom
5175Part98.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5176Part98.CFrame = CFrame.new(22.6343384, 2.0946939, 45.7901459, -0.0435770266, -0.498098165, -0.86602509, -0.859328508, -0.423447192, 0.286787629, -0.509564281, 0.756697297, -0.40957737)
5177Part98.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5178Part98.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5179Part98.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5180Part98.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5181Part98.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5182Part98.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5183Part98.Color = Color3.new(0.105882, 0.164706, 0.207843)
5184Part98.Position = Vector3.new(22.6343384, 2.0946939, 45.7901459)
5185Part98.Orientation = Vector3.new(-16.6700001, -115.309998, -116.229996)
5186Part98.Color = Color3.new(0.105882, 0.164706, 0.207843)
5187CylinderMesh99.Parent = Part98
5188CylinderMesh99.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5189CylinderMesh99.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5190Part100.Name = "Detail"
5191Part100.Parent = Tool0
5192Part100.Material = Enum.Material.Metal
5193Part100.BrickColor = BrickColor.new("Dark stone grey")
5194Part100.Rotation = Vector3.new(-180, 0, 120)
5195Part100.Anchored = true
5196Part100.CanCollide = false
5197Part100.FormFactor = Enum.FormFactor.Custom
5198Part100.Size = Vector3.new(0.800000012, 0.200000092, 0.800000012)
5199Part100.CFrame = CFrame.new(23.8464069, 0.889997005, 45.4002075, -0.500000238, -0.866025388, 0, -0.866025388, 0.500000238, 0, 0, 0, -1)
5200Part100.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5201Part100.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5202Part100.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5203Part100.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5204Part100.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5205Part100.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5206Part100.Color = Color3.new(0.388235, 0.372549, 0.384314)
5207Part100.Position = Vector3.new(23.8464069, 0.889997005, 45.4002075)
5208Part100.Orientation = Vector3.new(0, 180, -60)
5209Part100.Color = Color3.new(0.388235, 0.372549, 0.384314)
5210CylinderMesh101.Parent = Part100
5211CylinderMesh101.Scale = Vector3.new(1.04999995, 0.600000024, 1.5)
5212CylinderMesh101.Scale = Vector3.new(1.04999995, 0.600000024, 1.5)
5213Part102.Name = "Handle"
5214Part102.Parent = Tool0
5215Part102.Transparency = 1
5216Part102.Rotation = Vector3.new(0, -90, 0)
5217Part102.Anchored = true
5218Part102.FormFactor = Enum.FormFactor.Custom
5219Part102.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5220Part102.CFrame = CFrame.new(22.8999939, 1.98999703, 46.3001556, -5.96046377e-08, -4.54753422e-13, -1, 5.82076748e-11, 1, -4.54756892e-13, 1, -5.82076748e-11, -5.96046377e-08)
5221Part102.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5222Part102.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5223Part102.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5224Part102.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5225Part102.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5226Part102.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5227Part102.Position = Vector3.new(22.8999939, 1.98999703, 46.3001556)
5228Part102.Orientation = Vector3.new(0, -90, 0)
5229BlockMesh103.Parent = Part102
5230Sound104.Name = "FireSound"
5231Sound104.Parent = Part102
5232Sound104.Pitch = 1.5
5233Sound104.SoundId = "rbxassetid://496932723"
5234Part105.Name = "Tube"
5235Part105.Parent = Tool0
5236Part105.Material = Enum.Material.SmoothPlastic
5237Part105.BrickColor = BrickColor.new("Black")
5238Part105.Rotation = Vector3.new(108.959999, 73.3300018, -62.6800003)
5239Part105.Anchored = true
5240Part105.CanCollide = false
5241Part105.FormFactor = Enum.FormFactor.Custom
5242Part105.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5243Part105.CFrame = CFrame.new(22.5845184, 2.05233312, 45.865799, 0.131633997, 0.254844904, 0.957980573, 0.704465985, 0.655850589, -0.271270543, -0.697423995, 0.710573077, -0.0931973383)
5244Part105.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5245Part105.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5246Part105.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5247Part105.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5248Part105.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5249Part105.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5250Part105.Color = Color3.new(0.105882, 0.164706, 0.207843)
5251Part105.Position = Vector3.new(22.5845184, 2.05233312, 45.865799)
5252Part105.Orientation = Vector3.new(15.7399998, 95.5599976, 47.0499992)
5253Part105.Color = Color3.new(0.105882, 0.164706, 0.207843)
5254SpecialMesh106.Parent = Part105
5255SpecialMesh106.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5256SpecialMesh106.MeshType = Enum.MeshType.Sphere
5257SpecialMesh106.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5258Part107.Name = "Tube"
5259Part107.Parent = Tool0
5260Part107.Material = Enum.Material.SmoothPlastic
5261Part107.BrickColor = BrickColor.new("Black")
5262Part107.Rotation = Vector3.new(139.62999, 58.0099983, 116.849998)
5263Part107.Anchored = true
5264Part107.CanCollide = false
5265Part107.FormFactor = Enum.FormFactor.Custom
5266Part107.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5267Part107.CFrame = CFrame.new(24.3282928, 0.422170997, 45.7996979, -0.239283934, -0.472709268, 0.848109245, -0.92784375, -0.146050423, -0.343183994, 0.286092937, -0.869031191, -0.403652847)
5268Part107.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5269Part107.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5270Part107.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5271Part107.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5272Part107.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5273Part107.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5274Part107.Color = Color3.new(0.105882, 0.164706, 0.207843)
5275Part107.Position = Vector3.new(24.3282928, 0.422170997, 45.7996979)
5276Part107.Orientation = Vector3.new(20.0699997, 115.449997, -98.9499969)
5277Part107.Color = Color3.new(0.105882, 0.164706, 0.207843)
5278CylinderMesh108.Parent = Part107
5279CylinderMesh108.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5280CylinderMesh108.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5281Part109.Name = "Tube"
5282Part109.Parent = Tool0
5283Part109.Material = Enum.Material.SmoothPlastic
5284Part109.BrickColor = BrickColor.new("Black")
5285Part109.Rotation = Vector3.new(108.959999, 73.3300018, -62.6800003)
5286Part109.Anchored = true
5287Part109.CanCollide = false
5288Part109.FormFactor = Enum.FormFactor.Custom
5289Part109.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5290Part109.CFrame = CFrame.new(22.5581989, 1.91144204, 46.0052795, 0.131633997, 0.254844904, 0.957980573, 0.704465985, 0.655850589, -0.271270543, -0.697423995, 0.710573077, -0.0931973383)
5291Part109.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5292Part109.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5293Part109.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5294Part109.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5295Part109.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5296Part109.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5297Part109.Color = Color3.new(0.105882, 0.164706, 0.207843)
5298Part109.Position = Vector3.new(22.5581989, 1.91144204, 46.0052795)
5299Part109.Orientation = Vector3.new(15.7399998, 95.5599976, 47.0499992)
5300Part109.Color = Color3.new(0.105882, 0.164706, 0.207843)
5301SpecialMesh110.Parent = Part109
5302SpecialMesh110.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5303SpecialMesh110.MeshType = Enum.MeshType.Sphere
5304SpecialMesh110.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5305Part111.Name = "Mag"
5306Part111.Parent = Tool0
5307Part111.Material = Enum.Material.Metal
5308Part111.BrickColor = BrickColor.new("Pastel light blue")
5309Part111.Rotation = Vector3.new(0, 0, -30)
5310Part111.Anchored = true
5311Part111.CanCollide = false
5312Part111.FormFactor = Enum.FormFactor.Custom
5313Part111.Size = Vector3.new(0.200000003, 0.400000006, 0.400000006)
5314Part111.CFrame = CFrame.new(23.8865967, 1.51961005, 45.6002045, 0.866025269, 0.500000238, 0, -0.500000238, 0.866025269, 0, 0, 0, 1)
5315Part111.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5316Part111.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5317Part111.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5318Part111.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5319Part111.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5320Part111.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5321Part111.Color = Color3.new(0.686275, 0.866667, 1)
5322Part111.Position = Vector3.new(23.8865967, 1.51961005, 45.6002045)
5323Part111.Orientation = Vector3.new(0, 0, -30)
5324Part111.Color = Color3.new(0.686275, 0.866667, 1)
5325SpecialMesh112.Parent = Part111
5326SpecialMesh112.MeshType = Enum.MeshType.Sphere
5327Part113.Name = "Tube"
5328Part113.Parent = Tool0
5329Part113.Material = Enum.Material.SmoothPlastic
5330Part113.BrickColor = BrickColor.new("Black")
5331Part113.Rotation = Vector3.new(35, 60, -5)
5332Part113.Anchored = true
5333Part113.CanCollide = false
5334Part113.FormFactor = Enum.FormFactor.Custom
5335Part113.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5336Part113.CFrame = CFrame.new(22.6841431, 2.13702512, 45.7144623, 0.498097062, 0.0435770936, 0.866025627, 0.423447073, 0.859328866, -0.286786854, -0.756698132, 0.509563684, 0.409576535)
5337Part113.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5338Part113.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5339Part113.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5340Part113.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5341Part113.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5342Part113.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5343Part113.Color = Color3.new(0.105882, 0.164706, 0.207843)
5344Part113.Position = Vector3.new(22.6841431, 2.13702512, 45.7144623)
5345Part113.Orientation = Vector3.new(16.6700001, 64.6899948, 26.2299995)
5346Part113.Color = Color3.new(0.105882, 0.164706, 0.207843)
5347SpecialMesh114.Parent = Part113
5348SpecialMesh114.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5349SpecialMesh114.MeshType = Enum.MeshType.Sphere
5350SpecialMesh114.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5351Part115.Name = "Detail"
5352Part115.Parent = Tool0
5353Part115.Material = Enum.Material.Metal
5354Part115.BrickColor = BrickColor.new("Dark stone grey")
5355Part115.Rotation = Vector3.new(-180, 0, 120)
5356Part115.Anchored = true
5357Part115.CanCollide = false
5358Part115.FormFactor = Enum.FormFactor.Custom
5359Part115.Size = Vector3.new(0.400000036, 0.200000003, 0.400000006)
5360Part115.CFrame = CFrame.new(23.7999878, 1.56961, 45.6002045, -0.500000238, -0.866025388, 0, -0.866025388, 0.500000238, 0, 0, 0, -1)
5361Part115.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5362Part115.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5363Part115.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5364Part115.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5365Part115.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5366Part115.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5367Part115.Color = Color3.new(0.388235, 0.372549, 0.384314)
5368Part115.Position = Vector3.new(23.7999878, 1.56961, 45.6002045)
5369Part115.Orientation = Vector3.new(0, 180, -60)
5370Part115.Color = Color3.new(0.388235, 0.372549, 0.384314)
5371CylinderMesh116.Parent = Part115
5372CylinderMesh116.Scale = Vector3.new(1.10000002, 0.5, 1.10000002)
5373CylinderMesh116.Scale = Vector3.new(1.10000002, 0.5, 1.10000002)
5374Part117.Name = "Detail"
5375Part117.Parent = Tool0
5376Part117.Material = Enum.Material.Metal
5377Part117.BrickColor = BrickColor.new("Dark stone grey")
5378Part117.Rotation = Vector3.new(-180, 0, 120)
5379Part117.Anchored = true
5380Part117.CanCollide = false
5381Part117.FormFactor = Enum.FormFactor.Custom
5382Part117.Size = Vector3.new(0.800000012, 0.200000003, 0.800000012)
5383Part117.CFrame = CFrame.new(22.9803772, 1.38999605, 45.4002228, -0.500000238, -0.866025388, 0, -0.866025388, 0.500000238, 0, 0, 0, -1)
5384Part117.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5385Part117.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5386Part117.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5387Part117.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5388Part117.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5389Part117.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5390Part117.Color = Color3.new(0.388235, 0.372549, 0.384314)
5391Part117.Position = Vector3.new(22.9803772, 1.38999605, 45.4002228)
5392Part117.Orientation = Vector3.new(0, 180, -60)
5393Part117.Color = Color3.new(0.388235, 0.372549, 0.384314)
5394CylinderMesh118.Parent = Part117
5395CylinderMesh118.Scale = Vector3.new(1.04999995, 0.600000024, 1.5)
5396CylinderMesh118.Scale = Vector3.new(1.04999995, 0.600000024, 1.5)
5397Part119.Name = "Tube"
5398Part119.Parent = Tool0
5399Part119.Material = Enum.Material.SmoothPlastic
5400Part119.BrickColor = BrickColor.new("Black")
5401Part119.Rotation = Vector3.new(38.3199997, -46.2199974, -97.3899994)
5402Part119.Anchored = true
5403Part119.CanCollide = false
5404Part119.FormFactor = Enum.FormFactor.Custom
5405Part119.Size = Vector3.new(0.200000003, 0.400000006, 0.200000003)
5406Part119.CFrame = CFrame.new(22.8357849, 1.11572003, 46.4872894, -0.0889890417, 0.686199963, -0.72194922, -0.720455348, -0.544842422, -0.429058254, -0.68776834, 0.481950611, 0.542861342)
5407Part119.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5408Part119.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5409Part119.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5410Part119.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5411Part119.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5412Part119.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5413Part119.Color = Color3.new(0.105882, 0.164706, 0.207843)
5414Part119.Position = Vector3.new(22.8357849, 1.11572003, 46.4872894)
5415Part119.Orientation = Vector3.new(25.4099998, -53.0599976, -127.099998)
5416Part119.Color = Color3.new(0.105882, 0.164706, 0.207843)
5417CylinderMesh120.Parent = Part119
5418CylinderMesh120.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5419CylinderMesh120.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5420Part121.Name = "Tube"
5421Part121.Parent = Tool0
5422Part121.Material = Enum.Material.SmoothPlastic
5423Part121.BrickColor = BrickColor.new("Black")
5424Part121.Rotation = Vector3.new(-141.679993, 46.2199974, -172.610001)
5425Part121.Anchored = true
5426Part121.CanCollide = false
5427Part121.FormFactor = Enum.FormFactor.Custom
5428Part121.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5429Part121.CFrame = CFrame.new(22.6985474, 1.22465897, 46.3908386, -0.686200917, 0.088989079, 0.721948326, 0.544841945, 0.720455289, 0.429058939, -0.481949925, 0.68776834, -0.542862058)
5430Part121.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5431Part121.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5432Part121.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5433Part121.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5434Part121.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5435Part121.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5436Part121.Color = Color3.new(0.105882, 0.164706, 0.207843)
5437Part121.Position = Vector3.new(22.6985474, 1.22465897, 46.3908386)
5438Part121.Orientation = Vector3.new(-25.4099998, 126.939995, 37.0999985)
5439Part121.Color = Color3.new(0.105882, 0.164706, 0.207843)
5440SpecialMesh122.Parent = Part121
5441SpecialMesh122.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5442SpecialMesh122.MeshType = Enum.MeshType.Sphere
5443SpecialMesh122.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5444Part123.Name = "Tube"
5445Part123.Parent = Tool0
5446Part123.Material = Enum.Material.SmoothPlastic
5447Part123.BrickColor = BrickColor.new("Black")
5448Part123.Rotation = Vector3.new(165, 35, 120)
5449Part123.Anchored = true
5450Part123.CanCollide = false
5451Part123.FormFactor = Enum.FormFactor.Custom
5452Part123.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5453Part123.CFrame = CFrame.new(24.0928345, 0.516793013, 45.4002075, -0.409576088, -0.709406495, 0.57357645, -0.910742521, 0.354399264, -0.212012231, -0.0528722554, -0.609215617, -0.791240096)
5454Part123.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5455Part123.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5456Part123.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5457Part123.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5458Part123.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5459Part123.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5460Part123.Color = Color3.new(0.105882, 0.164706, 0.207843)
5461Part123.Position = Vector3.new(24.0928345, 0.516793013, 45.4002075)
5462Part123.Orientation = Vector3.new(12.2399998, 144.059998, -68.7399979)
5463Part123.Color = Color3.new(0.105882, 0.164706, 0.207843)
5464SpecialMesh124.Parent = Part123
5465SpecialMesh124.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5466SpecialMesh124.MeshType = Enum.MeshType.Sphere
5467SpecialMesh124.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5468Part125.Name = "Tube"
5469Part125.Parent = Tool0
5470Part125.Material = Enum.Material.SmoothPlastic
5471Part125.BrickColor = BrickColor.new("Black")
5472Part125.Rotation = Vector3.new(136.410004, 67.4700012, 142.800003)
5473Part125.Anchored = true
5474Part125.CanCollide = false
5475Part125.FormFactor = Enum.FormFactor.Custom
5476Part125.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5477Part125.CFrame = CFrame.new(24.2347107, 0.445914, 45.5220642, -0.305171013, -0.231679425, 0.92368573, -0.945223212, 0.191700548, -0.264204234, -0.115860403, -0.953716695, -0.277490228)
5478Part125.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5479Part125.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5480Part125.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5481Part125.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5482Part125.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5483Part125.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5484Part125.Color = Color3.new(0.105882, 0.164706, 0.207843)
5485Part125.Position = Vector3.new(24.2347107, 0.445914, 45.5220642)
5486Part125.Orientation = Vector3.new(15.3199997, 106.720001, -78.5400009)
5487Part125.Color = Color3.new(0.105882, 0.164706, 0.207843)
5488SpecialMesh126.Parent = Part125
5489SpecialMesh126.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5490SpecialMesh126.MeshType = Enum.MeshType.Sphere
5491SpecialMesh126.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5492Part127.Name = "Grip"
5493Part127.Parent = Tool0
5494Part127.Material = Enum.Material.Metal
5495Part127.BrickColor = BrickColor.new("Black")
5496Part127.Rotation = Vector3.new(-180, 0, 0)
5497Part127.Anchored = true
5498Part127.CanCollide = false
5499Part127.FormFactor = Enum.FormFactor.Custom
5500Part127.Size = Vector3.new(0.539999962, 0.200000003, 0.200000003)
5501Part127.CFrame = CFrame.new(22.8899536, 1.68995798, 46.3000641, 1, 0, 0, 0, -1, 0, 0, 0, -1)
5502Part127.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5503Part127.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5504Part127.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5505Part127.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5506Part127.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5507Part127.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5508Part127.Color = Color3.new(0.105882, 0.164706, 0.207843)
5509Part127.Position = Vector3.new(22.8899536, 1.68995798, 46.3000641)
5510Part127.Orientation = Vector3.new(0, 180, 180)
5511Part127.Color = Color3.new(0.105882, 0.164706, 0.207843)
5512BlockMesh128.Parent = Part127
5513BlockMesh128.Scale = Vector3.new(1, 0.400000006, 0.800000012)
5514BlockMesh128.Scale = Vector3.new(1, 0.400000006, 0.800000012)
5515Part129.Name = "Metal"
5516Part129.Parent = Tool0
5517Part129.Material = Enum.Material.Metal
5518Part129.BrickColor = BrickColor.new("Mid gray")
5519Part129.Rotation = Vector3.new(90, -90, 0)
5520Part129.Anchored = true
5521Part129.CanCollide = false
5522Part129.FormFactor = Enum.FormFactor.Custom
5523Part129.Size = Vector3.new(0.600000024, 0.200000003, 0.600000024)
5524Part129.CFrame = CFrame.new(23.5, 1.189996, 46.900177, 0, 0, -1, -1, 0, 0, 0, 1, 0)
5525Part129.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5526Part129.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5527Part129.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5528Part129.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5529Part129.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5530Part129.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5531Part129.Color = Color3.new(0.803922, 0.803922, 0.803922)
5532Part129.Position = Vector3.new(23.5, 1.189996, 46.900177)
5533Part129.Orientation = Vector3.new(0, -90, -90)
5534Part129.Color = Color3.new(0.803922, 0.803922, 0.803922)
5535CylinderMesh130.Parent = Part129
5536CylinderMesh130.Scale = Vector3.new(1.20000005, 0.400000006, 1.20000005)
5537CylinderMesh130.Scale = Vector3.new(1.20000005, 0.400000006, 1.20000005)
5538Part131.Name = "Detail"
5539Part131.Parent = Tool0
5540Part131.Material = Enum.Material.Metal
5541Part131.BrickColor = BrickColor.new("Dark stone grey")
5542Part131.Rotation = Vector3.new(90, -90, 0)
5543Part131.Anchored = true
5544Part131.CanCollide = false
5545Part131.FormFactor = Enum.FormFactor.Custom
5546Part131.Size = Vector3.new(0.600000024, 0.400000036, 0.600000024)
5547Part131.CFrame = CFrame.new(23.5, 1.189996, 46.7001648, 0, 0, -1, -1, 0, 0, 0, 1, 0)
5548Part131.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5549Part131.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5550Part131.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5551Part131.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5552Part131.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5553Part131.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5554Part131.Color = Color3.new(0.388235, 0.372549, 0.384314)
5555Part131.Position = Vector3.new(23.5, 1.189996, 46.7001648)
5556Part131.Orientation = Vector3.new(0, -90, -90)
5557Part131.Color = Color3.new(0.388235, 0.372549, 0.384314)
5558CylinderMesh132.Parent = Part131
5559Part133.Name = "Tube"
5560Part133.Parent = Tool0
5561Part133.Material = Enum.Material.SmoothPlastic
5562Part133.BrickColor = BrickColor.new("Black")
5563Part133.Rotation = Vector3.new(143.220001, 47.0299988, 99.8399963)
5564Part133.Anchored = true
5565Part133.CanCollide = false
5566Part133.FormFactor = Enum.FormFactor.Custom
5567Part133.Size = Vector3.new(0.200000003, 0.600000024, 0.200000003)
5568Part133.CFrame = CFrame.new(24.5770264, 0.525196016, 46.0905457, -0.116509013, -0.671542883, 0.731748581, -0.864068091, -0.29473719, -0.408064216, 0.489706069, -0.679823697, -0.54591924)
5569Part133.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5570Part133.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5571Part133.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5572Part133.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5573Part133.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5574Part133.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5575Part133.Color = Color3.new(0.105882, 0.164706, 0.207843)
5576Part133.Position = Vector3.new(24.5770264, 0.525196016, 46.0905457)
5577Part133.Orientation = Vector3.new(24.0799999, 126.719994, -108.829994)
5578Part133.Color = Color3.new(0.105882, 0.164706, 0.207843)
5579CylinderMesh134.Parent = Part133
5580CylinderMesh134.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5581CylinderMesh134.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5582Part135.Name = "Tube"
5583Part135.Parent = Tool0
5584Part135.Material = Enum.Material.SmoothPlastic
5585Part135.BrickColor = BrickColor.new("Black")
5586Part135.Rotation = Vector3.new(-40.3699989, -58.0099983, -26.8499985)
5587Part135.Anchored = true
5588Part135.CanCollide = false
5589Part135.FormFactor = Enum.FormFactor.Custom
5590Part135.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5591Part135.CFrame = CFrame.new(24.3755798, 0.436780989, 45.8866119, 0.472708762, 0.239286005, -0.848108888, 0.146049932, 0.927843213, 0.343185812, 0.869031608, -0.286093175, 0.403651863)
5592Part135.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5593Part135.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5594Part135.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5595Part135.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5596Part135.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5597Part135.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5598Part135.Color = Color3.new(0.105882, 0.164706, 0.207843)
5599Part135.Position = Vector3.new(24.3755798, 0.436780989, 45.8866119)
5600Part135.Orientation = Vector3.new(-20.0699997, -64.5499954, 8.94999981)
5601Part135.Color = Color3.new(0.105882, 0.164706, 0.207843)
5602SpecialMesh136.Parent = Part135
5603SpecialMesh136.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5604SpecialMesh136.MeshType = Enum.MeshType.Sphere
5605SpecialMesh136.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5606Part137.Name = "Tube"
5607Part137.Parent = Tool0
5608Part137.Material = Enum.Material.SmoothPlastic
5609Part137.BrickColor = BrickColor.new("Black")
5610Part137.Rotation = Vector3.new(165, 35, 120)
5611Part137.Anchored = true
5612Part137.CanCollide = false
5613Part137.FormFactor = Enum.FormFactor.Custom
5614Part137.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5615Part137.CFrame = CFrame.new(24.1637421, 0.481350005, 45.4611359, -0.40957579, -0.709405839, 0.573577404, -0.910742581, 0.354399949, -0.21201098, -0.0528739728, -0.609215856, -0.791239858)
5616Part137.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5617Part137.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5618Part137.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5619Part137.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5620Part137.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5621Part137.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5622Part137.Color = Color3.new(0.105882, 0.164706, 0.207843)
5623Part137.Position = Vector3.new(24.1637421, 0.481350005, 45.4611359)
5624Part137.Orientation = Vector3.new(12.2399998, 144.059998, -68.7399979)
5625Part137.Color = Color3.new(0.105882, 0.164706, 0.207843)
5626CylinderMesh138.Parent = Part137
5627CylinderMesh138.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5628CylinderMesh138.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5629Part139.Name = "Tube"
5630Part139.Parent = Tool0
5631Part139.Material = Enum.Material.SmoothPlastic
5632Part139.BrickColor = BrickColor.new("Black")
5633Part139.Rotation = Vector3.new(-180, 0, 120)
5634Part139.Anchored = true
5635Part139.CanCollide = false
5636Part139.FormFactor = Enum.FormFactor.Custom
5637Part139.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5638Part139.CFrame = CFrame.new(24.0062256, 0.566792011, 45.4002075, -0.500000238, -0.866025388, 0, -0.866025388, 0.500000238, 0, 0, 0, -1)
5639Part139.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5640Part139.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5641Part139.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5642Part139.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5643Part139.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5644Part139.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5645Part139.Color = Color3.new(0.105882, 0.164706, 0.207843)
5646Part139.Position = Vector3.new(24.0062256, 0.566792011, 45.4002075)
5647Part139.Orientation = Vector3.new(0, 180, -60)
5648Part139.Color = Color3.new(0.105882, 0.164706, 0.207843)
5649CylinderMesh140.Parent = Part139
5650CylinderMesh140.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5651CylinderMesh140.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5652Part141.Name = "Metal"
5653Part141.Parent = Tool0
5654Part141.Material = Enum.Material.Metal
5655Part141.BrickColor = BrickColor.new("Mid gray")
5656Part141.Rotation = Vector3.new(180, 0, 90)
5657Part141.Anchored = true
5658Part141.CanCollide = false
5659Part141.FormFactor = Enum.FormFactor.Custom
5660Part141.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5661Part141.CFrame = CFrame.new(22.8999939, 1.13999605, 46.4701691, 0, -1, -0, -1, 0, -0, 0, 0, -1)
5662Part141.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5663Part141.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5664Part141.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5665Part141.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5666Part141.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5667Part141.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5668Part141.Color = Color3.new(0.803922, 0.803922, 0.803922)
5669Part141.Position = Vector3.new(22.8999939, 1.13999605, 46.4701691)
5670Part141.Orientation = Vector3.new(0, -180, -90)
5671Part141.Color = Color3.new(0.803922, 0.803922, 0.803922)
5672CylinderMesh142.Parent = Part141
5673Part143.Name = "Tube"
5674Part143.Parent = Tool0
5675Part143.Material = Enum.Material.SmoothPlastic
5676Part143.BrickColor = BrickColor.new("Black")
5677Part143.Rotation = Vector3.new(-14, -55.9799995, -161.729996)
5678Part143.Anchored = true
5679Part143.CanCollide = false
5680Part143.FormFactor = Enum.FormFactor.Custom
5681Part143.Size = Vector3.new(0.200000003, 0.800000012, 0.200000003)
5682Part143.CFrame = CFrame.new(22.6283722, 1.56807005, 46.1980896, -0.531269133, 0.175441235, -0.828838646, -0.494700104, -0.858453989, 0.135382965, -0.687768161, 0.481951356, 0.542860866)
5683Part143.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5684Part143.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5685Part143.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5686Part143.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5687Part143.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5688Part143.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5689Part143.Color = Color3.new(0.105882, 0.164706, 0.207843)
5690Part143.Position = Vector3.new(22.6283722, 1.56807005, 46.1980896)
5691Part143.Orientation = Vector3.new(-7.77999973, -56.7799988, -150.050003)
5692Part143.Color = Color3.new(0.105882, 0.164706, 0.207843)
5693CylinderMesh144.Parent = Part143
5694CylinderMesh144.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5695CylinderMesh144.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5696Part145.Name = "Tube"
5697Part145.Parent = Tool0
5698Part145.Material = Enum.Material.SmoothPlastic
5699Part145.BrickColor = BrickColor.new("Black")
5700Part145.Rotation = Vector3.new(166, 55.9799995, -108.279999)
5701Part145.Anchored = true
5702Part145.CanCollide = false
5703Part145.FormFactor = Enum.FormFactor.Custom
5704Part145.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5705Part145.CFrame = CFrame.new(22.6985474, 1.22467601, 46.3908386, -0.175444052, 0.531269014, 0.82883817, 0.858454168, 0.494700611, -0.135380358, -0.481950104, 0.687767863, -0.542862296)
5706Part145.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5707Part145.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5708Part145.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5709Part145.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5710Part145.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5711Part145.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5712Part145.Color = Color3.new(0.105882, 0.164706, 0.207843)
5713Part145.Position = Vector3.new(22.6985474, 1.22467601, 46.3908386)
5714Part145.Orientation = Vector3.new(7.77999973, 123.219994, 60.0499992)
5715Part145.Color = Color3.new(0.105882, 0.164706, 0.207843)
5716SpecialMesh146.Parent = Part145
5717SpecialMesh146.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5718SpecialMesh146.MeshType = Enum.MeshType.Sphere
5719SpecialMesh146.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5720Part147.Name = "Mag"
5721Part147.Parent = Tool0
5722Part147.Material = Enum.Material.Metal
5723Part147.BrickColor = BrickColor.new("Bright red")
5724Part147.Rotation = Vector3.new(-180, 0, 120)
5725Part147.Anchored = true
5726Part147.CanCollide = false
5727Part147.FormFactor = Enum.FormFactor.Custom
5728Part147.Size = Vector3.new(0.800000012, 1.4000001, 0.800000012)
5729Part147.CFrame = CFrame.new(23.4133911, 1.13999605, 45.4002075, -0.500000238, -0.866025388, 0, -0.866025388, 0.500000238, 0, 0, 0, -1)
5730Part147.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5731Part147.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5732Part147.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5733Part147.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5734Part147.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5735Part147.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5736Part147.Color = Color3.new(0.768628, 0.156863, 0.109804)
5737Part147.Position = Vector3.new(23.4133911, 1.13999605, 45.4002075)
5738Part147.Orientation = Vector3.new(0, 180, -60)
5739Part147.Color = Color3.new(0.768628, 0.156863, 0.109804)
5740CylinderMesh148.Parent = Part147
5741Part149.Name = "Detail"
5742Part149.Parent = Tool0
5743Part149.Material = Enum.Material.Metal
5744Part149.BrickColor = BrickColor.new("Dark stone grey")
5745Part149.Rotation = Vector3.new(-35, 0, 0)
5746Part149.Anchored = true
5747Part149.CanCollide = false
5748Part149.FormFactor = Enum.FormFactor.Custom
5749Part149.Size = Vector3.new(0.200000003, 0.600000024, 0.200000003)
5750Part149.CFrame = CFrame.new(23.4999847, 1.73574197, 46.1280975, 1, 0, 0, 0, 0.819151819, 0.573576868, 0, -0.573576868, 0.819151819)
5751Part149.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5752Part149.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5753Part149.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5754Part149.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5755Part149.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5756Part149.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5757Part149.Color = Color3.new(0.388235, 0.372549, 0.384314)
5758Part149.Position = Vector3.new(23.4999847, 1.73574197, 46.1280975)
5759Part149.Orientation = Vector3.new(-35, 0, 0)
5760Part149.Color = Color3.new(0.388235, 0.372549, 0.384314)
5761BlockMesh150.Parent = Part149
5762BlockMesh150.Scale = Vector3.new(1, 1, 0.150000006)
5763BlockMesh150.Scale = Vector3.new(1, 1, 0.150000006)
5764Part151.Name = "Tube"
5765Part151.Parent = Tool0
5766Part151.Material = Enum.Material.SmoothPlastic
5767Part151.BrickColor = BrickColor.new("Black")
5768Part151.Rotation = Vector3.new(-180, 0, 120)
5769Part151.Anchored = true
5770Part151.CanCollide = false
5771Part151.FormFactor = Enum.FormFactor.Custom
5772Part151.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5773Part151.CFrame = CFrame.new(22.93396, 2.06961012, 45.6002045, -0.500000298, -0.866025388, 0, -0.866025388, 0.500000298, 0, 0, 0, -1)
5774Part151.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5775Part151.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5776Part151.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5777Part151.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5778Part151.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5779Part151.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5780Part151.Color = Color3.new(0.105882, 0.164706, 0.207843)
5781Part151.Position = Vector3.new(22.93396, 2.06961012, 45.6002045)
5782Part151.Orientation = Vector3.new(0, 180, -60)
5783Part151.Color = Color3.new(0.105882, 0.164706, 0.207843)
5784CylinderMesh152.Parent = Part151
5785CylinderMesh152.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5786CylinderMesh152.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5787Part153.Name = "Tube"
5788Part153.Parent = Tool0
5789Part153.Material = Enum.Material.SmoothPlastic
5790Part153.BrickColor = BrickColor.new("Black")
5791Part153.Rotation = Vector3.new(136.399994, 67.4700012, 142.800003)
5792Part153.Anchored = true
5793Part153.CanCollide = false
5794Part153.FormFactor = Enum.FormFactor.Custom
5795Part153.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5796Part153.CFrame = CFrame.new(24.2578449, 0.426735997, 45.6174316, -0.305177152, -0.231680334, 0.923683465, -0.945221484, 0.191701338, -0.264210194, -0.115859054, -0.953716397, -0.277492106)
5797Part153.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5798Part153.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5799Part153.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5800Part153.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5801Part153.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5802Part153.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5803Part153.Color = Color3.new(0.105882, 0.164706, 0.207843)
5804Part153.Position = Vector3.new(24.2578449, 0.426735997, 45.6174316)
5805Part153.Orientation = Vector3.new(15.3199997, 106.720001, -78.5400009)
5806Part153.Color = Color3.new(0.105882, 0.164706, 0.207843)
5807CylinderMesh154.Parent = Part153
5808CylinderMesh154.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5809CylinderMesh154.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5810Part155.Name = "Tube"
5811Part155.Parent = Tool0
5812Part155.Material = Enum.Material.SmoothPlastic
5813Part155.BrickColor = BrickColor.new("Black")
5814Part155.Rotation = Vector3.new(-145, -60, 95)
5815Part155.Anchored = true
5816Part155.CanCollide = false
5817Part155.FormFactor = Enum.FormFactor.Custom
5818Part155.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5819Part155.CFrame = CFrame.new(22.5845184, 2.05233312, 45.865799, -0.0435778797, -0.49809733, -0.866025448, -0.859328032, -0.423447788, 0.286788195, -0.509564996, 0.756697476, -0.409575999)
5820Part155.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5821Part155.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5822Part155.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5823Part155.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5824Part155.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5825Part155.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5826Part155.Color = Color3.new(0.105882, 0.164706, 0.207843)
5827Part155.Position = Vector3.new(22.5845184, 2.05233312, 45.865799)
5828Part155.Orientation = Vector3.new(-16.6700001, -115.309998, -116.229996)
5829Part155.Color = Color3.new(0.105882, 0.164706, 0.207843)
5830SpecialMesh156.Parent = Part155
5831SpecialMesh156.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5832SpecialMesh156.MeshType = Enum.MeshType.Sphere
5833SpecialMesh156.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5834Part157.Name = "Tube"
5835Part157.Parent = Tool0
5836Part157.Material = Enum.Material.SmoothPlastic
5837Part157.BrickColor = BrickColor.new("Black")
5838Part157.Rotation = Vector3.new(0, 0, -30)
5839Part157.Anchored = true
5840Part157.CanCollide = false
5841Part157.FormFactor = Enum.FormFactor.Custom
5842Part157.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5843Part157.CFrame = CFrame.new(24.0928345, 0.516793013, 45.4002075, 0.866025269, 0.500000238, 0, -0.500000238, 0.866025269, 0, 0, 0, 1)
5844Part157.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5845Part157.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5846Part157.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5847Part157.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5848Part157.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5849Part157.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5850Part157.Color = Color3.new(0.105882, 0.164706, 0.207843)
5851Part157.Position = Vector3.new(24.0928345, 0.516793013, 45.4002075)
5852Part157.Orientation = Vector3.new(0, 0, -30)
5853Part157.Color = Color3.new(0.105882, 0.164706, 0.207843)
5854SpecialMesh158.Parent = Part157
5855SpecialMesh158.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5856SpecialMesh158.MeshType = Enum.MeshType.Sphere
5857SpecialMesh158.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5858Part159.Name = "Tube"
5859Part159.Parent = Tool0
5860Part159.Material = Enum.Material.SmoothPlastic
5861Part159.BrickColor = BrickColor.new("Black")
5862Part159.Rotation = Vector3.new(-180, -35, 95)
5863Part159.Anchored = true
5864Part159.CanCollide = false
5865Part159.FormFactor = Enum.FormFactor.Custom
5866Part159.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5867Part159.CFrame = CFrame.new(22.7657471, 2.12832403, 45.6573334, -0.0713939816, -0.816034913, -0.57357651, -0.99619478, 0.0871556029, 5.16581906e-07, 0.0499899872, 0.571393967, -0.819152057)
5868Part159.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5869Part159.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5870Part159.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5871Part159.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5872Part159.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5873Part159.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5874Part159.Color = Color3.new(0.105882, 0.164706, 0.207843)
5875Part159.Position = Vector3.new(22.7657471, 2.12832403, 45.6573334)
5876Part159.Orientation = Vector3.new(0, -145, -85)
5877Part159.Color = Color3.new(0.105882, 0.164706, 0.207843)
5878CylinderMesh160.Parent = Part159
5879CylinderMesh160.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5880CylinderMesh160.Scale = Vector3.new(0.600000024, 1, 0.600000024)
5881Part161.Name = "Mag"
5882Part161.Parent = Tool0
5883Part161.Material = Enum.Material.Metal
5884Part161.BrickColor = BrickColor.new("Mid gray")
5885Part161.Rotation = Vector3.new(-180, 0, 120)
5886Part161.Anchored = true
5887Part161.CanCollide = false
5888Part161.FormFactor = Enum.FormFactor.Custom
5889Part161.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5890Part161.CFrame = CFrame.new(23.1071625, 1.96960998, 45.6002045, -0.500000238, -0.866025388, 0, -0.866025388, 0.500000238, 0, 0, 0, -1)
5891Part161.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5892Part161.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5893Part161.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5894Part161.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5895Part161.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5896Part161.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5897Part161.Color = Color3.new(0.803922, 0.803922, 0.803922)
5898Part161.Position = Vector3.new(23.1071625, 1.96960998, 45.6002045)
5899Part161.Orientation = Vector3.new(0, 180, -60)
5900Part161.Color = Color3.new(0.803922, 0.803922, 0.803922)
5901CylinderMesh162.Parent = Part161
5902Part163.Name = "Metal"
5903Part163.Parent = Tool0
5904Part163.Material = Enum.Material.Metal
5905Part163.BrickColor = BrickColor.new("Mid gray")
5906Part163.Rotation = Vector3.new(-180, 0, 120)
5907Part163.Anchored = true
5908Part163.CanCollide = false
5909Part163.FormFactor = Enum.FormFactor.Custom
5910Part163.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
5911Part163.CFrame = CFrame.new(23.8330078, 0.666790009, 45.4002075, -0.500000238, -0.866025388, 0, -0.866025388, 0.500000238, 0, 0, 0, -1)
5912Part163.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5913Part163.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5914Part163.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5915Part163.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5916Part163.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5917Part163.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5918Part163.Color = Color3.new(0.803922, 0.803922, 0.803922)
5919Part163.Position = Vector3.new(23.8330078, 0.666790009, 45.4002075)
5920Part163.Orientation = Vector3.new(0, 180, -60)
5921Part163.Color = Color3.new(0.803922, 0.803922, 0.803922)
5922CylinderMesh164.Parent = Part163
5923CylinderMesh164.Scale = Vector3.new(1, 1.29999995, 1)
5924CylinderMesh164.Scale = Vector3.new(1, 1.29999995, 1)
5925Part165.Name = "Mag"
5926Part165.Parent = Tool0
5927Part165.Material = Enum.Material.Metal
5928Part165.BrickColor = BrickColor.new("Pastel light blue")
5929Part165.Rotation = Vector3.new(0, 0, -30)
5930Part165.Anchored = true
5931Part165.CanCollide = false
5932Part165.FormFactor = Enum.FormFactor.Custom
5933Part165.Size = Vector3.new(0.200000003, 0.400000006, 0.400000006)
5934Part165.CFrame = CFrame.new(23.1937561, 1.91960895, 45.6002045, 0.866025269, 0.500000238, 0, -0.500000238, 0.866025269, 0, 0, 0, 1)
5935Part165.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5936Part165.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5937Part165.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5938Part165.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5939Part165.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5940Part165.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5941Part165.Color = Color3.new(0.686275, 0.866667, 1)
5942Part165.Position = Vector3.new(23.1937561, 1.91960895, 45.6002045)
5943Part165.Orientation = Vector3.new(0, 0, -30)
5944Part165.Color = Color3.new(0.686275, 0.866667, 1)
5945SpecialMesh166.Parent = Part165
5946SpecialMesh166.MeshType = Enum.MeshType.Sphere
5947Part167.Name = "Mag"
5948Part167.Parent = Tool0
5949Part167.Material = Enum.Material.Metal
5950Part167.BrickColor = BrickColor.new("Pastel light blue")
5951Part167.Rotation = Vector3.new(-180, 0, 120)
5952Part167.Anchored = true
5953Part167.CanCollide = false
5954Part167.FormFactor = Enum.FormFactor.Custom
5955Part167.Size = Vector3.new(0.400000036, 0.800000072, 0.400000006)
5956Part167.CFrame = CFrame.new(23.5401764, 1.71960998, 45.6002045, -0.500000238, -0.866025388, 0, -0.866025388, 0.500000238, 0, 0, 0, -1)
5957Part167.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5958Part167.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5959Part167.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5960Part167.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5961Part167.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5962Part167.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5963Part167.Color = Color3.new(0.686275, 0.866667, 1)
5964Part167.Position = Vector3.new(23.5401764, 1.71960998, 45.6002045)
5965Part167.Orientation = Vector3.new(0, 180, -60)
5966Part167.Color = Color3.new(0.686275, 0.866667, 1)
5967CylinderMesh168.Parent = Part167
5968Part169.Name = "Tube"
5969Part169.Parent = Tool0
5970Part169.Material = Enum.Material.SmoothPlastic
5971Part169.BrickColor = BrickColor.new("Black")
5972Part169.Rotation = Vector3.new(139.62999, 58.0099983, 116.849998)
5973Part169.Anchored = true
5974Part169.CanCollide = false
5975Part169.FormFactor = Enum.FormFactor.Custom
5976Part169.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
5977Part169.CFrame = CFrame.new(24.2810364, 0.407572001, 45.7128143, -0.239278033, -0.472705692, 0.848112822, -0.927844048, -0.146058172, -0.343179852, 0.286096871, -0.869031787, -0.403648674)
5978Part169.BackSurface = Enum.SurfaceType.SmoothNoOutlines
5979Part169.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
5980Part169.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
5981Part169.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
5982Part169.RightSurface = Enum.SurfaceType.SmoothNoOutlines
5983Part169.TopSurface = Enum.SurfaceType.SmoothNoOutlines
5984Part169.Color = Color3.new(0.105882, 0.164706, 0.207843)
5985Part169.Position = Vector3.new(24.2810364, 0.407572001, 45.7128143)
5986Part169.Orientation = Vector3.new(20.0699997, 115.449997, -98.9499969)
5987Part169.Color = Color3.new(0.105882, 0.164706, 0.207843)
5988SpecialMesh170.Parent = Part169
5989SpecialMesh170.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5990SpecialMesh170.MeshType = Enum.MeshType.Sphere
5991SpecialMesh170.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
5992Part171.Name = "Detail"
5993Part171.Parent = Tool0
5994Part171.Material = Enum.Material.Metal
5995Part171.BrickColor = BrickColor.new("Dark stone grey")
5996Part171.Rotation = Vector3.new(-180, 0, 120)
5997Part171.Anchored = true
5998Part171.CanCollide = false
5999Part171.FormFactor = Enum.FormFactor.Custom
6000Part171.Size = Vector3.new(0.400000036, 0.200000003, 0.400000006)
6001Part171.CFrame = CFrame.new(23.2803631, 1.869609, 45.6002045, -0.500000238, -0.866025388, 0, -0.866025388, 0.500000238, 0, 0, 0, -1)
6002Part171.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6003Part171.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6004Part171.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6005Part171.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6006Part171.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6007Part171.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6008Part171.Color = Color3.new(0.388235, 0.372549, 0.384314)
6009Part171.Position = Vector3.new(23.2803631, 1.869609, 45.6002045)
6010Part171.Orientation = Vector3.new(0, 180, -60)
6011Part171.Color = Color3.new(0.388235, 0.372549, 0.384314)
6012CylinderMesh172.Parent = Part171
6013CylinderMesh172.Scale = Vector3.new(1.10000002, 0.5, 1.10000002)
6014CylinderMesh172.Scale = Vector3.new(1.10000002, 0.5, 1.10000002)
6015Part173.Name = "Tube"
6016Part173.Parent = Tool0
6017Part173.Material = Enum.Material.SmoothPlastic
6018Part173.BrickColor = BrickColor.new("Black")
6019Part173.Rotation = Vector3.new(0, 0, -30)
6020Part173.Anchored = true
6021Part173.CanCollide = false
6022Part173.FormFactor = Enum.FormFactor.Custom
6023Part173.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
6024Part173.CFrame = CFrame.new(22.8473511, 2.11960912, 45.6001892, 0.866025329, 0.500000179, -3.37950929e-08, -0.500000238, 0.866025388, 1.06985254e-09, 1.22690587e-08, -1.32650975e-08, 1)
6025Part173.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6026Part173.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6027Part173.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6028Part173.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6029Part173.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6030Part173.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6031Part173.Color = Color3.new(0.105882, 0.164706, 0.207843)
6032Part173.Position = Vector3.new(22.8473511, 2.11960912, 45.6001892)
6033Part173.Orientation = Vector3.new(0, 0, -30)
6034Part173.Color = Color3.new(0.105882, 0.164706, 0.207843)
6035SpecialMesh174.Parent = Part173
6036SpecialMesh174.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
6037SpecialMesh174.MeshType = Enum.MeshType.Sphere
6038SpecialMesh174.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
6039Part175.Name = "Tube"
6040Part175.Parent = Tool0
6041Part175.Material = Enum.Material.SmoothPlastic
6042Part175.BrickColor = BrickColor.new("Black")
6043Part175.Rotation = Vector3.new(0, 35, -5)
6044Part175.Anchored = true
6045Part175.CanCollide = false
6046Part175.FormFactor = Enum.FormFactor.Custom
6047Part175.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
6048Part175.CFrame = CFrame.new(22.8473511, 2.1195941, 45.6001892, 0.816034794, 0.0713938177, 0.57357657, -0.0871559754, 0.996194661, 3.00977092e-07, -0.571393907, -0.0499908738, 0.819151998)
6049Part175.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6050Part175.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6051Part175.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6052Part175.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6053Part175.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6054Part175.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6055Part175.Color = Color3.new(0.105882, 0.164706, 0.207843)
6056Part175.Position = Vector3.new(22.8473511, 2.1195941, 45.6001892)
6057Part175.Orientation = Vector3.new(0, 35, -5)
6058Part175.Color = Color3.new(0.105882, 0.164706, 0.207843)
6059SpecialMesh176.Parent = Part175
6060SpecialMesh176.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
6061SpecialMesh176.MeshType = Enum.MeshType.Sphere
6062SpecialMesh176.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
6063ParticleEmitter177.Name = "Dust"
6064ParticleEmitter177.Parent = mas
6065ParticleEmitter177.Transparency = NumberSequence.new(0,1)
6066ParticleEmitter177.Size = NumberSequence.new(0.050000000745058,0.050000000745058)
6067ParticleEmitter177.Color = ColorSequence.new(Color3.new(0.666667, 1, 1),Color3.new(0, 0.666667, 1))
6068ParticleEmitter177.LightEmission = 1
6069ParticleEmitter177.Texture = "http://www.roblox.com/asset/?id=278539903"
6070ParticleEmitter177.ZOffset = 1
6071ParticleEmitter177.Lifetime = NumberRange.new(0.20000000298023, 0.5)
6072ParticleEmitter177.Rate = 50
6073ParticleEmitter177.Speed = NumberRange.new(0.30000001192093, 1)
6074ParticleEmitter177.Color = ColorSequence.new(Color3.new(0.666667, 1, 1),Color3.new(0, 0.666667, 1))
6075ParticleEmitter178.Name = "Fire"
6076ParticleEmitter178.Parent = mas
6077ParticleEmitter178.Transparency = NumberSequence.new(0,0.28749996423721,1)
6078ParticleEmitter178.Rotation = NumberRange.new(-45, -45)
6079ParticleEmitter178.Size = NumberSequence.new(0.050000000745058,0.050000000745058)
6080ParticleEmitter178.Color = ColorSequence.new(Color3.new(0.666667, 1, 1),Color3.new(0, 0.666667, 1))
6081ParticleEmitter178.LightEmission = 1
6082ParticleEmitter178.Texture = "http://www.roblox.com/asset/?id=241936182"
6083ParticleEmitter178.ZOffset = 1
6084ParticleEmitter178.Lifetime = NumberRange.new(0.10000000149012, 0.30000001192093)
6085ParticleEmitter178.Rate = 50
6086ParticleEmitter178.Speed = NumberRange.new(0.30000001192093, 1)
6087ParticleEmitter178.Color = ColorSequence.new(Color3.new(0.666667, 1, 1),Color3.new(0, 0.666667, 1))
6088Part179.Name = "Barrel"
6089Part179.Parent = Tool0
6090Part179.Material = Enum.Material.Neon
6091Part179.BrickColor = BrickColor.new("Really black")
6092Part179.Rotation = Vector3.new(0, 0, -20)
6093Part179.Anchored = true
6094Part179.CanCollide = false
6095Part179.FormFactor = Enum.FormFactor.Custom
6096Part179.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
6097Part179.CFrame = CFrame.new(27.7342072, 0.683966994, 46.3001709, 0.939692736, 0.342019826, 0, -0.342019826, 0.939692736, 0, 0, 0, 1)
6098Part179.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6099Part179.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6100Part179.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6101Part179.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6102Part179.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6103Part179.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6104Part179.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
6105Part179.Position = Vector3.new(27.7342072, 0.683966994, 46.3001709)
6106Part179.Orientation = Vector3.new(0, 0, -20)
6107Part179.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
6108CylinderMesh180.Parent = Part179
6109CylinderMesh180.Scale = Vector3.new(0.5, 1.00999999, 0.5)
6110CylinderMesh180.Scale = Vector3.new(0.5, 1.00999999, 0.5)
6111Part181.Name = "Camo"
6112Part181.Parent = Tool0
6113Part181.Material = Enum.Material.Metal
6114Part181.BrickColor = BrickColor.new("Dusty Rose")
6115Part181.Anchored = true
6116Part181.CanCollide = false
6117Part181.FormFactor = Enum.FormFactor.Custom
6118Part181.Size = Vector3.new(0.200000003, 1, 1)
6119Part181.CFrame = CFrame.new(22.8999939, 1.189996, 46.3001709, 1, 0, 0, 0, 1, 0, 0, 0, 1)
6120Part181.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6121Part181.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6122Part181.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6123Part181.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6124Part181.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6125Part181.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6126Part181.Color = Color3.new(0.639216, 0.294118, 0.294118)
6127Part181.Position = Vector3.new(22.8999939, 1.189996, 46.3001709)
6128Part181.Color = Color3.new(0.639216, 0.294118, 0.294118)
6129SpecialMesh182.Parent = Part181
6130SpecialMesh182.MeshType = Enum.MeshType.Sphere
6131Part183.Name = "Detail"
6132Part183.Parent = Tool0
6133Part183.Material = Enum.Material.Metal
6134Part183.BrickColor = BrickColor.new("Dark stone grey")
6135Part183.Rotation = Vector3.new(180, 0, 90)
6136Part183.Anchored = true
6137Part183.CanCollide = false
6138Part183.FormFactor = Enum.FormFactor.Custom
6139Part183.Size = Vector3.new(0.200000003, 0.400000006, 0.200000003)
6140Part183.CFrame = CFrame.new(23.2000122, 0.58999902, 46.3001709, 0, -1, -0, -1, 0, -0, 0, 0, -1)
6141Part183.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6142Part183.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6143Part183.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6144Part183.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6145Part183.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6146Part183.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6147Part183.Color = Color3.new(0.388235, 0.372549, 0.384314)
6148Part183.Position = Vector3.new(23.2000122, 0.58999902, 46.3001709)
6149Part183.Orientation = Vector3.new(0, -180, -90)
6150Part183.Color = Color3.new(0.388235, 0.372549, 0.384314)
6151CylinderMesh184.Parent = Part183
6152Part185.Name = "Detail"
6153Part185.Parent = Tool0
6154Part185.Material = Enum.Material.Metal
6155Part185.BrickColor = BrickColor.new("Dark stone grey")
6156Part185.Rotation = Vector3.new(180, 0, 90)
6157Part185.Anchored = true
6158Part185.CanCollide = false
6159Part185.FormFactor = Enum.FormFactor.Custom
6160Part185.Size = Vector3.new(0.200000003, 3, 0.200000003)
6161Part185.CFrame = CFrame.new(25.6999817, 0.989997029, 46.3001709, 0, -1, -0, -1, 0, -0, 0, 0, -1)
6162Part185.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6163Part185.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6164Part185.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6165Part185.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6166Part185.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6167Part185.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6168Part185.Color = Color3.new(0.388235, 0.372549, 0.384314)
6169Part185.Position = Vector3.new(25.6999817, 0.989997029, 46.3001709)
6170Part185.Orientation = Vector3.new(0, -180, -90)
6171Part185.Color = Color3.new(0.388235, 0.372549, 0.384314)
6172CylinderMesh186.Parent = Part185
6173Part187.Name = "Detail"
6174Part187.Parent = Tool0
6175Part187.Material = Enum.Material.Metal
6176Part187.BrickColor = BrickColor.new("Dark stone grey")
6177Part187.Rotation = Vector3.new(180, 0, 90)
6178Part187.Anchored = true
6179Part187.CanCollide = false
6180Part187.FormFactor = Enum.FormFactor.Custom
6181Part187.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
6182Part187.CFrame = CFrame.new(27.1999817, 0.989997029, 46.3001709, 0, -1, -0, -1, 0, -0, 0, 0, -1)
6183Part187.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6184Part187.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6185Part187.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6186Part187.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6187Part187.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6188Part187.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6189Part187.Color = Color3.new(0.388235, 0.372549, 0.384314)
6190Part187.Position = Vector3.new(27.1999817, 0.989997029, 46.3001709)
6191Part187.Orientation = Vector3.new(0, -180, -90)
6192Part187.Color = Color3.new(0.388235, 0.372549, 0.384314)
6193CylinderMesh188.Parent = Part187
6194CylinderMesh188.Scale = Vector3.new(1.29999995, 1, 1.29999995)
6195CylinderMesh188.Scale = Vector3.new(1.29999995, 1, 1.29999995)
6196Part189.Name = "Detail"
6197Part189.Parent = Tool0
6198Part189.Material = Enum.Material.Metal
6199Part189.BrickColor = BrickColor.new("Dark stone grey")
6200Part189.Anchored = true
6201Part189.CanCollide = false
6202Part189.FormFactor = Enum.FormFactor.Custom
6203Part189.Size = Vector3.new(0.200000033, 0.400000006, 0.200000003)
6204Part189.CFrame = CFrame.new(26.6999817, 0.789997995, 46.3001556, 1, 0, 0, 0, 1, 0, 0, 0, 1)
6205Part189.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6206Part189.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6207Part189.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6208Part189.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6209Part189.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6210Part189.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6211Part189.Color = Color3.new(0.388235, 0.372549, 0.384314)
6212Part189.Position = Vector3.new(26.6999817, 0.789997995, 46.3001556)
6213Part189.Color = Color3.new(0.388235, 0.372549, 0.384314)
6214BlockMesh190.Parent = Part189
6215BlockMesh190.Scale = Vector3.new(0.600000024, 1, 0.300000012)
6216BlockMesh190.Scale = Vector3.new(0.600000024, 1, 0.300000012)
6217Part191.Name = "Detail"
6218Part191.Parent = Tool0
6219Part191.Material = Enum.Material.Metal
6220Part191.BrickColor = BrickColor.new("Dark stone grey")
6221Part191.Anchored = true
6222Part191.CanCollide = false
6223Part191.FormFactor = Enum.FormFactor.Custom
6224Part191.Size = Vector3.new(0.400000006, 0.200000003, 0.200000003)
6225Part191.CFrame = CFrame.new(23.1999969, 0.689997971, 46.3001556, 1, 0, 0, 0, 1, 0, 0, 0, 1)
6226Part191.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6227Part191.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6228Part191.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6229Part191.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6230Part191.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6231Part191.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6232Part191.Color = Color3.new(0.388235, 0.372549, 0.384314)
6233Part191.Position = Vector3.new(23.1999969, 0.689997971, 46.3001556)
6234Part191.Color = Color3.new(0.388235, 0.372549, 0.384314)
6235BlockMesh192.Parent = Part191
6236Part193.Name = "Tube"
6237Part193.Parent = Tool0
6238Part193.Material = Enum.Material.SmoothPlastic
6239Part193.BrickColor = BrickColor.new("Black")
6240Part193.Rotation = Vector3.new(180, -35, 95)
6241Part193.Anchored = true
6242Part193.CanCollide = false
6243Part193.FormFactor = Enum.FormFactor.Custom
6244Part193.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
6245Part193.CFrame = CFrame.new(22.6841431, 2.13702512, 45.7144623, -0.0713938251, -0.816034973, -0.57357645, -0.99619472, 0.0871558189, -7.1612547e-08, 0.0499905795, 0.571393847, -0.819152057)
6246Part193.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6247Part193.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6248Part193.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6249Part193.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6250Part193.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6251Part193.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6252Part193.Color = Color3.new(0.105882, 0.164706, 0.207843)
6253Part193.Position = Vector3.new(22.6841431, 2.13702512, 45.7144623)
6254Part193.Orientation = Vector3.new(0, -145, -85)
6255Part193.Color = Color3.new(0.105882, 0.164706, 0.207843)
6256SpecialMesh194.Parent = Part193
6257SpecialMesh194.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
6258SpecialMesh194.MeshType = Enum.MeshType.Sphere
6259SpecialMesh194.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
6260Part195.Name = "Grip"
6261Part195.Parent = Tool0
6262Part195.Material = Enum.Material.Metal
6263Part195.BrickColor = BrickColor.new("Black")
6264Part195.Rotation = Vector3.new(-180, 0, 0)
6265Part195.Anchored = true
6266Part195.CanCollide = false
6267Part195.FormFactor = Enum.FormFactor.Custom
6268Part195.Size = Vector3.new(0.200000003, 0.600000024, 0.200000003)
6269Part195.CFrame = CFrame.new(22.7399731, 2.06998205, 46.3000793, 1, 0, 0, 0, -1, 0, 0, 0, -1)
6270Part195.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6271Part195.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6272Part195.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6273Part195.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6274Part195.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6275Part195.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6276Part195.Color = Color3.new(0.105882, 0.164706, 0.207843)
6277Part195.Position = Vector3.new(22.7399731, 2.06998205, 46.3000793)
6278Part195.Orientation = Vector3.new(0, 180, 180)
6279Part195.Color = Color3.new(0.105882, 0.164706, 0.207843)
6280BlockMesh196.Parent = Part195
6281BlockMesh196.Scale = Vector3.new(1.20000005, 1, 0.800000012)
6282BlockMesh196.Scale = Vector3.new(1.20000005, 1, 0.800000012)
6283WedgePart197.Name = "Grip"
6284WedgePart197.Parent = Tool0
6285WedgePart197.Material = Enum.Material.Metal
6286WedgePart197.BrickColor = BrickColor.new("Black")
6287WedgePart197.Rotation = Vector3.new(180, 90, 0)
6288WedgePart197.Anchored = true
6289WedgePart197.CanCollide = false
6290WedgePart197.FormFactor = Enum.FormFactor.Custom
6291WedgePart197.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
6292WedgePart197.CFrame = CFrame.new(22.5999908, 1.80996895, 46.3000641, 0, 0, 1, 0, -1, 0, 1, 0, -0)
6293WedgePart197.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6294WedgePart197.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6295WedgePart197.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6296WedgePart197.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6297WedgePart197.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6298WedgePart197.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6299WedgePart197.Color = Color3.new(0.105882, 0.164706, 0.207843)
6300WedgePart197.Position = Vector3.new(22.5999908, 1.80996895, 46.3000641)
6301WedgePart197.Orientation = Vector3.new(0, 90, 180)
6302WedgePart197.Color = Color3.new(0.105882, 0.164706, 0.207843)
6303SpecialMesh198.Parent = WedgePart197
6304SpecialMesh198.Scale = Vector3.new(0.800000012, 1.60000002, 0.200000003)
6305SpecialMesh198.MeshType = Enum.MeshType.Wedge
6306SpecialMesh198.Scale = Vector3.new(0.800000012, 1.60000002, 0.200000003)
6307WedgePart199.Name = "Grip"
6308WedgePart199.Parent = Tool0
6309WedgePart199.Material = Enum.Material.Metal
6310WedgePart199.BrickColor = BrickColor.new("Black")
6311WedgePart199.Rotation = Vector3.new(0, -90, 0)
6312WedgePart199.Anchored = true
6313WedgePart199.CanCollide = false
6314WedgePart199.FormFactor = Enum.FormFactor.Custom
6315WedgePart199.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
6316WedgePart199.CFrame = CFrame.new(22.8900146, 1.79998803, 46.3001404, 0, 0, -1, 0, 1, 0, 1, 0, 0)
6317WedgePart199.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6318WedgePart199.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6319WedgePart199.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6320WedgePart199.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6321WedgePart199.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6322WedgePart199.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6323WedgePart199.Color = Color3.new(0.105882, 0.164706, 0.207843)
6324WedgePart199.Position = Vector3.new(22.8900146, 1.79998803, 46.3001404)
6325WedgePart199.Orientation = Vector3.new(0, -90, 0)
6326WedgePart199.Color = Color3.new(0.105882, 0.164706, 0.207843)
6327SpecialMesh200.Parent = WedgePart199
6328SpecialMesh200.Scale = Vector3.new(0.800000012, 0.300000012, 0.300000012)
6329SpecialMesh200.MeshType = Enum.MeshType.Wedge
6330SpecialMesh200.Scale = Vector3.new(0.800000012, 0.300000012, 0.300000012)
6331Part201.Name = "Grip"
6332Part201.Parent = Tool0
6333Part201.Material = Enum.Material.Metal
6334Part201.BrickColor = BrickColor.new("Black")
6335Part201.Rotation = Vector3.new(-180, 0, 0)
6336Part201.Anchored = true
6337Part201.CanCollide = false
6338Part201.FormFactor = Enum.FormFactor.Custom
6339Part201.Size = Vector3.new(0.200000003, 0.400000036, 0.200000003)
6340Part201.CFrame = CFrame.new(22.5999603, 2.17000294, 46.3000488, 1, 0, 0, 0, -1, 0, 0, 0, -1)
6341Part201.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6342Part201.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6343Part201.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6344Part201.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6345Part201.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6346Part201.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6347Part201.Color = Color3.new(0.105882, 0.164706, 0.207843)
6348Part201.Position = Vector3.new(22.5999603, 2.17000294, 46.3000488)
6349Part201.Orientation = Vector3.new(0, 180, 180)
6350Part201.Color = Color3.new(0.105882, 0.164706, 0.207843)
6351BlockMesh202.Parent = Part201
6352BlockMesh202.Scale = Vector3.new(0.200000003, 1, 0.800000012)
6353BlockMesh202.Scale = Vector3.new(0.200000003, 1, 0.800000012)
6354Part203.Name = "Grip"
6355Part203.Parent = Tool0
6356Part203.Material = Enum.Material.Metal
6357Part203.BrickColor = BrickColor.new("Black")
6358Part203.Rotation = Vector3.new(-180, 0, 0)
6359Part203.Anchored = true
6360Part203.CanCollide = false
6361Part203.FormFactor = Enum.FormFactor.Custom
6362Part203.Size = Vector3.new(0.5, 0.200000003, 0.200000003)
6363Part203.CFrame = CFrame.new(22.8699646, 1.74995899, 46.3000641, 1, 0, 0, 0, -1, 0, 0, 0, -1)
6364Part203.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6365Part203.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6366Part203.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6367Part203.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6368Part203.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6369Part203.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6370Part203.Color = Color3.new(0.105882, 0.164706, 0.207843)
6371Part203.Position = Vector3.new(22.8699646, 1.74995899, 46.3000641)
6372Part203.Orientation = Vector3.new(0, 180, 180)
6373Part203.Color = Color3.new(0.105882, 0.164706, 0.207843)
6374BlockMesh204.Parent = Part203
6375BlockMesh204.Scale = Vector3.new(1, 0.200000003, 0.800000012)
6376BlockMesh204.Scale = Vector3.new(1, 0.200000003, 0.800000012)
6377WedgePart205.Name = "Grip"
6378WedgePart205.Parent = Tool0
6379WedgePart205.Material = Enum.Material.Metal
6380WedgePart205.BrickColor = BrickColor.new("Black")
6381WedgePart205.Rotation = Vector3.new(0, -90, 0)
6382WedgePart205.Anchored = true
6383WedgePart205.CanCollide = false
6384WedgePart205.FormFactor = Enum.FormFactor.Custom
6385WedgePart205.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
6386WedgePart205.CFrame = CFrame.new(23.1400146, 1.74995899, 46.3000641, 0, 0, -1, 0, 1, 0, 1, 0, 0)
6387WedgePart205.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6388WedgePart205.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6389WedgePart205.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6390WedgePart205.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6391WedgePart205.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6392WedgePart205.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6393WedgePart205.Color = Color3.new(0.105882, 0.164706, 0.207843)
6394WedgePart205.Position = Vector3.new(23.1400146, 1.74995899, 46.3000641)
6395WedgePart205.Orientation = Vector3.new(0, -90, 0)
6396WedgePart205.Color = Color3.new(0.105882, 0.164706, 0.207843)
6397SpecialMesh206.Parent = WedgePart205
6398SpecialMesh206.Scale = Vector3.new(0.800000012, 0.200000003, 0.200000003)
6399SpecialMesh206.MeshType = Enum.MeshType.Wedge
6400SpecialMesh206.Scale = Vector3.new(0.800000012, 0.200000003, 0.200000003)
6401Part207.Name = "Tube"
6402Part207.Parent = Tool0
6403Part207.Material = Enum.Material.SmoothPlastic
6404Part207.BrickColor = BrickColor.new("Black")
6405Part207.Rotation = Vector3.new(-15, -35, -30)
6406Part207.Anchored = true
6407Part207.CanCollide = false
6408Part207.FormFactor = Enum.FormFactor.Custom
6409Part207.Size = Vector3.new(0.200000003, 0.200000018, 0.200000018)
6410Part207.CFrame = CFrame.new(24.2347107, 0.445914, 45.5220642, 0.709407032, 0.40957579, -0.573576033, -0.354399025, 0.91074276, 0.212012038, 0.609215081, 0.0528719202, 0.791240513)
6411Part207.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6412Part207.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6413Part207.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6414Part207.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6415Part207.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6416Part207.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6417Part207.Color = Color3.new(0.105882, 0.164706, 0.207843)
6418Part207.Position = Vector3.new(24.2347107, 0.445914, 45.5220642)
6419Part207.Orientation = Vector3.new(-12.2399998, -35.9399986, -21.2600002)
6420Part207.Color = Color3.new(0.105882, 0.164706, 0.207843)
6421SpecialMesh208.Parent = Part207
6422SpecialMesh208.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
6423SpecialMesh208.MeshType = Enum.MeshType.Sphere
6424SpecialMesh208.Scale = Vector3.new(0.600000024, 0.600000024, 0.600000024)
6425Part209.Name = "Detail"
6426Part209.Parent = Tool0
6427Part209.Material = Enum.Material.Metal
6428Part209.BrickColor = BrickColor.new("Dark stone grey")
6429Part209.Rotation = Vector3.new(180, 0, 90)
6430Part209.Anchored = true
6431Part209.CanCollide = false
6432Part209.FormFactor = Enum.FormFactor.Custom
6433Part209.Size = Vector3.new(0.200000003, 0.399999976, 0.200000003)
6434Part209.CFrame = CFrame.new(24.8000183, 0.58999902, 46.3001709, 0, -1, -0, -1, 0, -0, 0, 0, -1)
6435Part209.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6436Part209.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6437Part209.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6438Part209.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6439Part209.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6440Part209.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6441Part209.Color = Color3.new(0.388235, 0.372549, 0.384314)
6442Part209.Position = Vector3.new(24.8000183, 0.58999902, 46.3001709)
6443Part209.Orientation = Vector3.new(0, -180, -90)
6444Part209.Color = Color3.new(0.388235, 0.372549, 0.384314)
6445CylinderMesh210.Parent = Part209
6446WedgePart211.Name = "Grip"
6447WedgePart211.Parent = Tool0
6448WedgePart211.Material = Enum.Material.Metal
6449WedgePart211.BrickColor = BrickColor.new("Black")
6450WedgePart211.Rotation = Vector3.new(180, 90, 0)
6451WedgePart211.Anchored = true
6452WedgePart211.CanCollide = false
6453WedgePart211.FormFactor = Enum.FormFactor.Custom
6454WedgePart211.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
6455WedgePart211.CFrame = CFrame.new(22.75, 1.58997405, 46.3000641, 0, 0, 1, 0, -1, 0, 1, 0, -0)
6456WedgePart211.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6457WedgePart211.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6458WedgePart211.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6459WedgePart211.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6460WedgePart211.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6461WedgePart211.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6462WedgePart211.Color = Color3.new(0.105882, 0.164706, 0.207843)
6463WedgePart211.Position = Vector3.new(22.75, 1.58997405, 46.3000641)
6464WedgePart211.Orientation = Vector3.new(0, 90, 180)
6465WedgePart211.Color = Color3.new(0.105882, 0.164706, 0.207843)
6466SpecialMesh212.Parent = WedgePart211
6467SpecialMesh212.Scale = Vector3.new(0.800000012, 0.600000024, 1.29999995)
6468SpecialMesh212.MeshType = Enum.MeshType.Wedge
6469SpecialMesh212.Scale = Vector3.new(0.800000012, 0.600000024, 1.29999995)
6470Part213.Name = "AimPart"
6471Part213.Parent = Tool0
6472Part213.BrickColor = BrickColor.new("Sand blue")
6473Part213.Transparency = 1
6474Part213.Rotation = Vector3.new(0, -90, 0)
6475Part213.Anchored = true
6476Part213.CanCollide = false
6477Part213.FormFactor = Enum.FormFactor.Custom
6478Part213.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
6479Part213.CFrame = CFrame.new(22.2999878, 3.18999791, 45.7001343, -5.96046377e-08, -4.54753422e-13, -1, 5.82076748e-11, 1, -4.54756892e-13, 1, -5.82076748e-11, -5.96046377e-08)
6480Part213.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6481Part213.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6482Part213.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6483Part213.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6484Part213.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6485Part213.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6486Part213.Color = Color3.new(0.454902, 0.52549, 0.615686)
6487Part213.Position = Vector3.new(22.2999878, 3.18999791, 45.7001343)
6488Part213.Orientation = Vector3.new(0, -90, 0)
6489Part213.Color = Color3.new(0.454902, 0.52549, 0.615686)
6490BlockMesh214.Parent = Part213
6491Part215.Name = "Barrel"
6492Part215.Parent = Tool0
6493Part215.Material = Enum.Material.Neon
6494Part215.BrickColor = BrickColor.new("Really black")
6495Part215.Rotation = Vector3.new(180, 0, 90)
6496Part215.Anchored = true
6497Part215.CanCollide = false
6498Part215.FormFactor = Enum.FormFactor.Custom
6499Part215.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
6500Part215.CFrame = CFrame.new(27.4999847, 0.989997029, 46.3001709, 0, -1, -0, -1, 0, -0, 0, 0, -1)
6501Part215.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6502Part215.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6503Part215.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6504Part215.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6505Part215.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6506Part215.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6507Part215.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
6508Part215.Position = Vector3.new(27.4999847, 0.989997029, 46.3001709)
6509Part215.Orientation = Vector3.new(0, -180, -90)
6510Part215.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
6511CylinderMesh216.Parent = Part215
6512CylinderMesh216.Scale = Vector3.new(0.800000012, 1.00999999, 0.800000012)
6513CylinderMesh216.Scale = Vector3.new(0.800000012, 1.00999999, 0.800000012)
6514Part217.Name = "Main"
6515Part217.Parent = Tool0
6516Part217.BrickColor = BrickColor.new("Bright orange")
6517Part217.Transparency = 1
6518Part217.Rotation = Vector3.new(0, -90, 0)
6519Part217.Anchored = true
6520Part217.CanCollide = false
6521Part217.FormFactor = Enum.FormFactor.Custom
6522Part217.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
6523Part217.CFrame = CFrame.new(27.7000122, 0.989997029, 46.3001404, -5.96046377e-08, -4.54753422e-13, -1, 5.82076748e-11, 1, -4.54756892e-13, 1, -5.82076748e-11, -5.96046377e-08)
6524Part217.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6525Part217.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6526Part217.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6527Part217.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6528Part217.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6529Part217.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6530Part217.Color = Color3.new(0.854902, 0.521569, 0.254902)
6531Part217.Position = Vector3.new(27.7000122, 0.989997029, 46.3001404)
6532Part217.Orientation = Vector3.new(0, -90, 0)
6533Part217.Color = Color3.new(0.854902, 0.521569, 0.254902)
6534BlockMesh218.Parent = Part217
6535SpotLight219.Name = "FlashFX"
6536SpotLight219.Parent = Part217
6537SpotLight219.Color = Color3.new(1, 0.478431, 0.0235294)
6538SpotLight219.Enabled = false
6539SpotLight219.Brightness = 5
6540SpotLight219.Range = 30
6541SpotLight219.Angle = 40
6542SpotLight219.Color = Color3.new(1, 0.478431, 0.0235294)
6543ParticleEmitter220.Name = "Fire"
6544ParticleEmitter220.Parent = Part217
6545ParticleEmitter220.Transparency = NumberSequence.new(0,1,1,0.5,0.80000001192093,0.94999998807907,1)
6546ParticleEmitter220.Rotation = NumberRange.new(-45, 45)
6547ParticleEmitter220.Size = NumberSequence.new(0.30000001192093,0.5,2.75,7.75,10)
6548ParticleEmitter220.Color = ColorSequence.new(Color3.new(0, 0.666667, 1),Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0))
6549ParticleEmitter220.Enabled = false
6550ParticleEmitter220.LightEmission = 1
6551ParticleEmitter220.Texture = "http://www.roblox.com/asset/?id=241936182"
6552ParticleEmitter220.ZOffset = 1
6553ParticleEmitter220.Lifetime = NumberRange.new(2, 2)
6554ParticleEmitter220.Rate = 50
6555ParticleEmitter220.RotSpeed = NumberRange.new(0, 5)
6556ParticleEmitter220.Speed = NumberRange.new(10, 10)
6557ParticleEmitter220.Color = ColorSequence.new(Color3.new(0, 0.666667, 1),Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0))
6558Part221.Name = "Camo"
6559Part221.Parent = Tool0
6560Part221.Material = Enum.Material.Metal
6561Part221.BrickColor = BrickColor.new("Dusty Rose")
6562Part221.Rotation = Vector3.new(180, 0, 90)
6563Part221.Anchored = true
6564Part221.CanCollide = false
6565Part221.FormFactor = Enum.FormFactor.Custom
6566Part221.Size = Vector3.new(1, 1.20000005, 1)
6567Part221.CFrame = CFrame.new(23.5, 1.189996, 46.3001709, 0, -1, -0, -1, 0, -0, 0, 0, -1)
6568Part221.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6569Part221.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6570Part221.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6571Part221.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6572Part221.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6573Part221.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6574Part221.Color = Color3.new(0.639216, 0.294118, 0.294118)
6575Part221.Position = Vector3.new(23.5, 1.189996, 46.3001709)
6576Part221.Orientation = Vector3.new(0, -180, -90)
6577Part221.Color = Color3.new(0.639216, 0.294118, 0.294118)
6578CylinderMesh222.Parent = Part221
6579Part223.Name = "Detail"
6580Part223.Parent = Tool0
6581Part223.Material = Enum.Material.Metal
6582Part223.BrickColor = BrickColor.new("Dark stone grey")
6583Part223.Rotation = Vector3.new(180, 0, 90)
6584Part223.Anchored = true
6585Part223.CanCollide = false
6586Part223.FormFactor = Enum.FormFactor.Custom
6587Part223.Size = Vector3.new(0.200000003, 4.00000048, 0.200000003)
6588Part223.CFrame = CFrame.new(25.2999878, 0.58999902, 46.3001709, 0, -1, -0, -1, 0, -0, 0, 0, -1)
6589Part223.BackSurface = Enum.SurfaceType.SmoothNoOutlines
6590Part223.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
6591Part223.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
6592Part223.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
6593Part223.RightSurface = Enum.SurfaceType.SmoothNoOutlines
6594Part223.TopSurface = Enum.SurfaceType.SmoothNoOutlines
6595Part223.Color = Color3.new(0.388235, 0.372549, 0.384314)
6596Part223.Position = Vector3.new(25.2999878, 0.58999902, 46.3001709)
6597Part223.Orientation = Vector3.new(0, -180, -90)
6598Part223.Color = Color3.new(0.388235, 0.372549, 0.384314)
6599CylinderMesh224.Parent = Part223
6600CylinderMesh224.Scale = Vector3.new(0.699999988, 1, 0.600000024)
6601CylinderMesh224.Scale = Vector3.new(0.699999988, 1, 0.600000024)
6602for i,v in pairs(mas:GetChildren()) do
6603 v.Parent = game:GetService("Players").LocalPlayer.Backpack
6604 pcall(function() v:MakeJoints() end)
6605end
6606mas:Destroy()
6607for i,v in pairs(cors) do
6608 spawn(function()
6609 pcall(v)
6610 end)
6611end