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