Advertisement
SetsunaElysia

Chrono Suit

Jan 18th, 2017
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.35 KB | None | 0 0
  1. --Local
  2. --Thank you MUROT FOR LEAKING THIS RARE SCRIPT SCRIPT
  3. Workspace = Game:GetService("Workspace")
  4. Players = Game:GetService("Players")
  5. Debris = Game:GetService("Debris")
  6.  
  7. local Suit
  8.  
  9. function Userdata(Parent, Child)
  10. if (not Parent or not Child) then return end
  11.  
  12. local ret = Parent:findFirstChild(Child)
  13. if (ret) then
  14. return ret
  15. else
  16. error(tostring(Child).." is not a valid member of "..tostring(Parent), 1)
  17. end
  18.  
  19. Parent.ChildAdded:connect(function(child)
  20. if (child.Name == Child) then
  21. return ret
  22. end
  23. end)
  24. end
  25.  
  26. local Welds = {}
  27.  
  28. RocketConnect = {}
  29.  
  30. Table = {
  31. ["Insert"] = function(tab, arg)
  32. local index = #tab
  33. index = index + 1
  34. tab[index] = arg
  35. end;
  36. ["Remove"] = function(tab, arg)
  37. for index, value in pairs(tab) do
  38. if (arg == value) then
  39. tab[index] = nil
  40. end
  41. end
  42. end;
  43. }
  44.  
  45. Modes = { "Mask-Laser", "Laser-Missile", "Laser-Bomb", "Fly" }
  46. Mnum = 1
  47. Speed = 100
  48. Hold = false
  49. Bomb = false
  50. Flying = false
  51.  
  52. Main = BrickColor.new("Really black")
  53. Trim = BrickColor.new("Lapis")
  54.  
  55. Main_Color3 = Instance.new("Part")
  56. Main_Color3.BrickColor = Main or BrickColor.new("Really black")
  57.  
  58. Trim_Color3 = Instance.new("Part")
  59. Trim_Color3.BrickColor = Trim or BrickColor.new("Lapis")
  60.  
  61. Player = Players.LocalPlayer
  62. Character = Player.Character
  63.  
  64. if (Player.Name == "NilScripter") then
  65. Trim = BrickColor.new("Really red")
  66. Trim_Color3.BrickColor = Trim or BrickColor.new("Lapis")
  67. end
  68.  
  69. Head = Userdata(Character, "Head")
  70. Torso = Userdata(Character, "Torso")
  71. LeftArm = Userdata(Character, "Left Arm")
  72. RightArm = Userdata(Character, "Right Arm")
  73. LeftLeg = Userdata(Character, "Left Leg")
  74. RightLeg = Userdata(Character, "Right Leg")
  75. Humanoid = Userdata(Character, "Humanoid")
  76.  
  77. LeftShoulder = Userdata(Torso, "Left Shoulder")
  78. RightShoulder = Userdata(Torso, "Right Shoulder")
  79. LeftHip = Userdata(Torso, "Left Hip")
  80. RightHip = Userdata(Torso, "Right Hip")
  81.  
  82. local Template = Instance.new("Part")
  83. Template.Name = "TNSrocket"
  84. Template.Locked = true
  85. Template.CanCollide = true
  86. Template.TopSurface = 0
  87. Template.BottomSurface = 0
  88. Template.formFactor = 0
  89. Template.BrickColor = Trim or BrickColor.new("Lapis")
  90. Template.Size = Vector3.new(1, 2, 1)
  91.  
  92. if (script.Parent.className ~= "HopperBin") then
  93. hop = Instance.new("HopperBin", Player.Backpack)
  94. hop.Name = "Suit"
  95. end
  96.  
  97. function onDied()
  98. script:Remove()
  99. end
  100.  
  101. function Opaque()
  102. if (Suit == nil) then
  103. for _, part in pairs(Character:GetChildren()) do
  104. if (part.className == "Part") then
  105. part.Transparency = 1
  106. elseif (part.className == "Hat") then
  107. pcall(function()
  108. part.Handle.Transparency = 1
  109. end)
  110. end
  111. end
  112. pcall(function()
  113. Head.face.Face = "Bottom"
  114. end)
  115. else
  116. for _, part in pairs(Character:GetChildren()) do
  117. if (part.className == "Part") then
  118. part.Transparency = 0
  119. elseif (part.className == "Hat") then
  120. pcall(function()
  121. part.Handle.Transparency = 0
  122. end)
  123. end
  124. end
  125. pcall(function()
  126. Head.face.Face = "Front"
  127. end)
  128. end
  129. end
  130.  
  131. function CylinderLaser(To, From, BC)
  132. local Las = Instance.new("Part", Workspace)
  133. Las.Anchored = true
  134. Las.Locked = true
  135. Las.CanCollide = false
  136. Las.TopSurface = 0
  137. Las.BottomSurface = 0
  138. Las.formFactor = 0
  139. Las.Size = Vector3.new(1, 1, 1)
  140. Las.BrickColor = BC or Trim or BrickColor.new("Lapis")
  141. Las.CFrame = CFrame.new((To + From)/2, From) * CFrame.Angles(math.rad(90), 0, 0)
  142.  
  143. local Cm = Instance.new("CylinderMesh", Las)
  144. Cm.Scale = Vector3.new(0.1, (To - From).magnitude, 0.1)
  145.  
  146. return Las
  147. end
  148.  
  149. function BlockLaser(To, From, X, Y, BC)
  150. X = tonumber(X)
  151. Y = tonumber(Y)
  152. if (X == nil) then X = 0.8 end
  153. if (Y == nil) then Y = 0.1 end
  154. local Las = Instance.new("Part", Workspace)
  155. Las.Anchored = true
  156. Las.Locked = true
  157. Las.CanCollide = false
  158. Las.TopSurface = 0
  159. Las.BottomSurface = 0
  160. Las.formFactor = 0
  161. Las.Transparency = 0.2
  162. Las.Reflectance = 0.2
  163. Las.Size = Vector3.new(1, 1, 1)
  164. Las.BrickColor = BC or Trim or BrickColor.new("Lapis")
  165. Las.CFrame = CFrame.new((To + From)/2, From)
  166.  
  167. local Bm = Instance.new("BlockMesh", Las)
  168. Bm.Scale = Vector3.new(X, Y, (To - From).magnitude)
  169.  
  170. return Las
  171. end
  172.  
  173. function WeldChanged(weld, p0, p1, c0, c1)
  174. weld.Parent = p0
  175. weld.Part0 = p0
  176. weld.Part1 = p1
  177. weld.C0 = c0
  178. weld.C1 = c1
  179. end
  180.  
  181. function Weld(Part0, Part1, C0, C1, UnRemoveable)
  182. if (not Part0 or not Part1) then return end
  183.  
  184. if (C0 == nil) then
  185. C0 = CFrame.new(0, 0, 0)
  186. end
  187.  
  188. if (C1 == nil) then
  189. C1 = CFrame.new(0, 0, 0)
  190. end
  191.  
  192. local weld = Instance.new("Weld", Part0)
  193. weld.Part0 = Part0
  194. weld.Part1 = Part1
  195. weld.C0 = C0
  196. weld.C1 = C1
  197.  
  198. if (UnRemoveable == true) then
  199. weld.Changed:connect(function() WeldChanged(weld, Part0, Part1, C0, C1) end)
  200. end
  201.  
  202. return weld
  203. end
  204.  
  205. function AddTrim(Part)
  206. if (not Part or type(Part) ~= "userdata") then return end
  207.  
  208. local X = Instance.new("Part", Part)
  209. X.Locked = true
  210. X.CanCollide = false
  211. X.TopSurface = 0
  212. X.BottomSurface = 0
  213. X.formFactor = Part.formFactor
  214. X.BrickColor = Trim or BrickColor.new("Lapis")
  215. X.Position = Part.Position
  216. X.Size = Part.Size
  217.  
  218. local XMesh = Instance.new("BlockMesh", X)
  219. XMesh.Scale = Vector3.new(0.05, 1.01, 1.01)
  220.  
  221. local Y = Instance.new("Part", Part)
  222. Y.Locked = true
  223. Y.CanCollide = false
  224. Y.TopSurface = 0
  225. Y.BottomSurface = 0
  226. Y.formFactor = Part.formFactor
  227. Y.BrickColor = Trim or BrickColor.new("Lapis")
  228. Y.Position = Part.Position
  229. Y.Size = Part.Size
  230.  
  231. local YMesh = Instance.new("BlockMesh", Y)
  232. YMesh.Scale = Vector3.new(0.35, 1.01, 0.35)
  233.  
  234. local Z = Instance.new("Part", Part)
  235. Z.Locked = true
  236. Z.CanCollide = false
  237. Z.TopSurface = 0
  238. Z.BottomSurface = 0
  239. Z.formFactor = Part.formFactor
  240. Z.BrickColor = Trim or BrickColor.new("Lapis")
  241. Z.Position = Part.Position
  242. Z.Size = Part.Size
  243.  
  244. local ZMesh = Instance.new("BlockMesh", Z)
  245. ZMesh.Scale = Vector3.new(1.01, 1.01, 0.05)
  246.  
  247. Weld(Part, X, nil, nil, false)
  248. Weld(Part, Y, nil, nil, false)
  249. Weld(Part, Z, nil, nil, false)
  250.  
  251. return Y
  252. end
  253.  
  254. function MakeSuit()
  255. if (Suit == nil) then
  256. Suit = Instance.new("Model", Character)
  257. Suit.Name = "TNSsuit"
  258.  
  259. local Mesh = Instance.new("SpecialMesh", Helm)
  260. Mesh.MeshType = "Head"
  261. Mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
  262.  
  263. Weld(Head, Helm, nil, nil, false)
  264.  
  265. local Plate = Instance.new("Part", Suit)
  266. Plate.Locked = true
  267. Plate.CanCollide = false
  268. Plate.TopSurface = 0
  269. Plate.BottomSurface = 0
  270. Plate.formFactor = 0
  271. Plate.BrickColor = Main or BrickColor.new("Really black")
  272. Plate.Position = Torso.Position
  273. Plate.Size = Vector3.new(2, 2, 1)
  274.  
  275. local Block = Instance.new("BlockMesh", Plate)
  276.  
  277. Weld(Torso, Plate, nil, nil, false)
  278.  
  279. local Arm1 = Instance.new("Part", Suit)
  280. Arm1.Locked = true
  281. Arm1.CanCollide = false
  282. Arm1.TopSurface = 0
  283. Arm1.BottomSurface = 0
  284. Arm1.formFactor = 0
  285. Arm1.BrickColor = Main or BrickColor.new("Really black")
  286. Arm1.Position = LeftArm.Position
  287. Arm1.Size = Vector3.new(1, 2, 1)
  288. AddTrim(Arm1)
  289.  
  290. local Block2 = Instance.new("BlockMesh", Arm1)
  291.  
  292. Weld(LeftArm, Arm1, nil, nil, false)
  293.  
  294. local Arm2 = Instance.new("Part", Suit)
  295. Arm2.Locked = true
  296. Arm2.CanCollide = false
  297. Arm2.TopSurface = 0
  298. Arm2.BottomSurface = 0
  299. Arm2.formFactor = 0
  300. Arm2.BrickColor = Main or BrickColor.new("Really black")
  301. Arm2.Position = RightArm.Position
  302. Arm2.Size = Vector3.new(1, 2, 1)
  303. AddTrim(Arm2)
  304.  
  305. local Block3 = Instance.new("BlockMesh", Arm2)
  306.  
  307. Weld(RightArm, Arm2, nil, nil, false)
  308.  
  309. local Leg1 = Instance.new("Part", Suit)
  310. Leg1.Locked = true
  311. Leg1.CanCollide = false
  312. Leg1.TopSurface = 0
  313. Leg1.BottomSurface = 0
  314. Leg1.formFactor = 0
  315. Leg1.BrickColor = Main or BrickColor.new("Really black")
  316. Leg1.Position = LeftLeg.Position
  317. Leg1.Size = Vector3.new(1, 2, 1)
  318. AddTrim(Leg1)
  319.  
  320. local Block4 = Instance.new("BlockMesh", Leg1)
  321.  
  322. Weld(LeftLeg, Leg1, nil, nil, false)
  323.  
  324. local Leg2 = Instance.new("Part", Suit)
  325. Leg2.Locked = true
  326. Leg2.CanCollide = false
  327. Leg2.TopSurface = 0
  328. Leg2.BottomSurface = 0
  329. Leg2.formFactor = 0
  330. Leg2.BrickColor = Main or BrickColor.new("Really black")
  331. Leg2.Position = RightLeg.Position
  332. Leg2.Size = Vector3.new(1, 2, 1)
  333. AddTrim(Leg2)
  334.  
  335. local Block5 = Instance.new("BlockMesh", Leg2)
  336.  
  337. Weld(RightLeg, Leg2, nil, nil, false)
  338.  
  339. local Cylinder = Instance.new("CylinderMesh", LasFram)
  340. Cylinder.Scale = Vector3.new(1, 0.2, 1)
  341.  
  342. Weld(Head, LasFram, CFrame.new(0, 0.15, -0.2), nil, false)
  343.  
  344. local Cylinder2 = Instance.new("CylinderMesh", Las)
  345. Cylinder2.Scale = Vector3.new(0.95, 0.1, 1)
  346.  
  347. Weld(Head, Las, CFrame.new(0, 0.15, -0.25), nil, false)
  348.  
  349. Weld(Head, LasStart, CFrame.new(0, 0.15, -0.4), nil, false)
  350.  
  351. for index = 1, 10 do
  352. local Star = Instance.new("Part", Suit)
  353. Star.Locked = true
  354. Star.CanCollide = false
  355. Star.TopSurface = 0
  356. Star.BottomSurface = 0
  357. Star.formFactor = 0
  358. Star.BrickColor = Trim or BrickColor.new("Lapis")
  359. Star.Position = Torso.Position
  360. Star.Size = Vector3.new(1, 1, 1)
  361.  
  362. local Block6 = Instance.new("BlockMesh", Star)
  363. Block6.Scale = Vector3.new(0.15, 0.3, 1.05)
  364.  
  365. Weld(Torso, Star, CFrame.Angles(0, 0, math.rad(index * 36)) * CFrame.new(0, 0.4, 0), nil, false)
  366. end
  367.  
  368. local Ball = Instance.new("Part", Suit)
  369. Ball.Locked = true
  370. Ball.CanCollide = false
  371. Ball.TopSurface = 0
  372. Ball.BottomSurface = 0
  373. Ball.formFactor = 0
  374. Ball.Shape = 0
  375. Ball.BrickColor = Trim or BrickColor.new("Lapis")
  376. Ball.Position = Torso.Position
  377. Ball.Size = Vector3.new(1, 1, 1)
  378.  
  379. local BMesh = Instance.new("SpecialMesh", Ball)
  380. BMesh.MeshType = "Sphere"
  381. BMesh.Scale = Vector3.new(0.4, 0.4, 0.1)
  382.  
  383. Weld(Torso, Ball, CFrame.new(0, 0, -0.5), nil, false)
  384.  
  385. local Ball2 = Instance.new("Part", Suit)
  386. Ball2.Locked = true
  387. Ball2.CanCollide = false
  388. Ball2.TopSurface = 0
  389. Ball2.BottomSurface = 0
  390. Ball2.formFactor = 0
  391. Ball2.Shape = 0
  392. Ball2.BrickColor = Trim or BrickColor.new("Lapis")
  393. Ball2.Position = Torso.Position
  394. Ball2.Size = Vector3.new(1, 1, 1)
  395.  
  396. local BMesh2 = Instance.new("SpecialMesh", Ball2)
  397. BMesh2.MeshType = "Sphere"
  398. BMesh2.Scale = Vector3.new(0.4, 0.4, 0.1)
  399.  
  400. Weld(Torso, Ball2, CFrame.new(0, 0, 0.5), nil, false)
  401.  
  402. return Suit
  403.  
  404. else
  405. pcall(function()
  406. Suit.Parent = nil
  407. Suit = nil
  408. end)
  409. end
  410. end
  411.  
  412. function onHit(hit, origin)
  413. local Check = hit:GetFullName()
  414. if (not Check:match(Player.Name)) then
  415. hit:BreakJoints()
  416. hit.Velocity = CFrame.new((origin + hit.Position)/2, hit.Position).lookVector * 50
  417. wait(3)
  418. hit.Velocity = Vector3.new(0, 0, 0)
  419. end
  420. end
  421.  
  422. function Missile(Origin, Target)
  423. local Rocket = Template:Clone()
  424. Rocket.Parent = Workspace
  425. Rocket.CFrame = Origin * CFrame.Angles(math.rad(-90), 0, 0)
  426. Debris:AddItem(Rocket, 10)
  427.  
  428. local Mesh = Instance.new("SpecialMesh", Rocket)
  429. Mesh.MeshId = "http://www.roblox.com/asset/?id=2251534"
  430. Mesh.Scale = Vector3.new(0.1, 0.1, 0.1)
  431.  
  432. local BG = Instance.new("BodyGyro", Rocket)
  433. BG.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  434. BG.cframe = CFrame.new((Rocket.Position + Target)/2, Target)
  435.  
  436. local BV = Instance.new("BodyVelocity", Rocket)
  437. BV.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  438. BV.velocity = Rocket.CFrame.lookVector * 50
  439.  
  440. local UpdateDir = coroutine.create(function()
  441. while (Rocket.Parent ~= nil) do
  442. wait()
  443. BG.cframe = CFrame.new((Rocket.Position + Target)/2, Target)
  444. BV.velocity = Rocket.CFrame.lookVector * 50
  445. end
  446. end)
  447. coroutine.resume(UpdateDir)
  448.  
  449. return Rocket
  450. end
  451.  
  452. function onKeyDown(key)
  453. if (key == "q" or key == string.char(1)) then
  454. Mnum = 1
  455. elseif (key == "e" or key == string.char(2)) then
  456. Mnum = 2
  457. elseif (key == "r" or key == string.char(3)) then
  458. Mnum = 3
  459. elseif (key == "t" or key == string.char(4)) then
  460. Mnum = 4
  461. end
  462. end
  463.  
  464. function onButton1Down(mouse, Suit)
  465.  
  466. if (Mode == "Mask-Laser") then
  467. Hold = true
  468.  
  469. while (Hold == true and Player.Parent ~= nil) do -- // Incase you get kicked, disables laser // --
  470. local Laser = BlockLaser(Suit["Laser-Start"].Position, mouse.Hit.p, 0.8, 0.1, Trim)
  471. local Explo = Instance.new("Explosion", Laser)
  472. Explo.Position = mouse.Hit.p
  473. Explo.BlastRadius = 5
  474. Explo.BlastPressure = 0
  475. Explo.Hit:connect(function(hit) onHit(hit, mouse.Hit.p) end)
  476. wait()
  477. Laser.Parent = nil
  478. Laser = nil
  479. end
  480. elseif (Mode == "Laser-Missile") then
  481. if (not Bomb) then
  482. Bomb = true
  483.  
  484. LeftShoulder.Part1 = nil
  485. RightShoulder.Part1 = nil
  486.  
  487. local NewLeft = Instance.new("Weld", Torso)
  488. NewLeft.Part0 = Torso
  489. NewLeft.Part1 = LeftArm
  490. NewLeft.C0 = CFrame.new(-1, 0.5, 0)
  491. NewLeft.C1 = CFrame.new(0.5, 0.5, 0)
  492.  
  493. local NewRight = Instance.new("Weld", Torso)
  494. NewRight.Part0 = Torso
  495. NewRight.Part1 = RightArm
  496. NewRight.C0 = CFrame.new(1, 0.5, 0)
  497. NewRight.C1 = CFrame.new(-0.5, 0.5, 0)
  498.  
  499. Table.Insert(Welds, NewLeft)
  500. Table.Insert(Welds, NewRight)
  501.  
  502. Hold = false
  503.  
  504. for i = 1, 10 do
  505. NewLeft.C0 = NewLeft.C0 * CFrame.Angles(math.rad(9), math.rad(-5), math.rad(4))
  506. NewRight.C0 = NewRight.C0 * CFrame.Angles(math.rad(9), math.rad(5), math.rad(-4))
  507. pcall(function()
  508. Torso["Left Shoulder"].C0 = Torso["Left Shoulder"].C0 * CFrame.Angles(math.rad(9), math.rad(-5), math.rad(4))
  509. Torso["Right Shoulder"].C0 = Torso["Right Shoulder"].C0 * CFrame.Angles(math.rad(9), math.rad(5), math.rad(-4))
  510. end)
  511. wait()
  512. end
  513.  
  514. for i = 1, 7 do
  515. NewLeft.C0 = NewLeft.C0 * CFrame.Angles(0, math.rad(-4.5), math.rad(-9))
  516. NewRight.C0 = NewRight.C0 * CFrame.Angles(0, math.rad(4.5), math.rad(9))
  517. pcall(function()
  518. Torso["Left Shoulder"].C0 = Torso["Left Shoulder"].C0 * CFrame.Angles(math.rad(9), math.rad(-5), math.rad(4))
  519. Torso["Right Shoulder"].C0 = Torso["Right Shoulder"].C0 * CFrame.Angles(math.rad(9), math.rad(5), math.rad(-4))
  520. end)
  521. wait()
  522. end
  523.  
  524. Hold = true
  525.  
  526. local LeftFire = coroutine.create(function()
  527. while (Hold == true) do
  528. if (mouse.Target ~= nil and mouse.Target.Name ~= "TNSrocket") then
  529. if (Hold == true) then
  530. local Rocket = Missile(LeftArm.CFrame * CFrame.new(0, -1, 0), mouse.Hit.p)
  531. local connect
  532. connect = Rocket.Touched:connect(function(hit)
  533. local Check = hit:GetFullName()
  534. if (hit.Name ~= "TNSrocket" and not Check:match(Player.Name)) then
  535. local Explo = Instance.new("Explosion", Rocket)
  536. Explo.Position = Rocket.Position
  537. Explo.BlastRadius = 5
  538. Explo.BlastPressure = 0
  539. Explo.Hit:connect(function(hit) onHit(hit, Explo.Position) end)
  540. end
  541. NewLeft.C0 = NewLeft.C0 * CFrame.new(0, 0.1, 0)
  542. pcall(function()
  543. Torso["Left Shoulder"].C0 = Torso["Left Shoulder"].C0 * CFrame.new(0, 0.1, 0)
  544. end)
  545. for i = 1, 5 do
  546. NewLeft.C0 = NewLeft.C0 * CFrame.new(0, -0.02, 0)
  547. pcall(function()
  548. Torso["Left Shoulder"].C0 = Torso["Left Shoulder"].C0 * CFrame.new(0, -0.02, 0)
  549. end)
  550. wait()
  551. end
  552. Table.Insert(RocketConnect, connect)
  553. connect:disconnect()
  554. Rocket.Parent = nil
  555. end)
  556. else
  557. break
  558. end
  559. end
  560. wait(0.5)
  561. end
  562. end)
  563.  
  564. local RightFire = coroutine.create(function()
  565. while (Hold == true) do
  566. if (mouse.Target ~= nil and mouse.Target.Name ~= "TNSrocket") then
  567. if (Hold == true) then
  568. local Rocket = Missile(RightArm.CFrame * CFrame.new(0, -1, 0), mouse.Hit.p)
  569. Rocket.Touched:connect(function(hit)
  570. local Check = hit:GetFullName()
  571. if (hit.Name ~= "TNSrocket" and not Check:match(Player.Name)) then
  572. local Explo = Instance.new("Explosion", Rocket)
  573. Explo.Position = Rocket.Position
  574. Explo.BlastRadius = 5
  575. Explo.BlastPressure = 0
  576. Explo.Hit:connect(function(hit) onHit(hit, Explo.Position) end)
  577. end
  578. NewRight.C0 = NewRight.C0 * CFrame.new(0, 0.1, 0)
  579. pcall(function()
  580. Torso["Right Shoulder"].C0 = Torso["Right Shoulder"].C0 * CFrame.new(0, 0.1, 0)
  581. end)
  582. for i = 1, 5 do
  583. NewRight.C0 = NewRight.C0 * CFrame.new(0, -0.02, 0)
  584. pcall(function()
  585. Torso["Right Shoulder"].C0 = Torso["Right Shoulder"].C0 * CFrame.new(0, -0.02, 0)
  586. end)
  587. wait()
  588. end
  589. end)
  590. local ExploFix = coroutine.create(function()
  591. while (Explo.Parent ~= nil) do
  592. for _, user in pairs(Players:GetChildren()) do
  593. if (user.Character ~= nil) then
  594. local Torso = Userdata(user.Character, "Torso")
  595. if (Torso ~= nil) then
  596. if ((Rocket.Position - Torso.Position).magnitude < 5) then
  597. local Explo = Instance.new("Explosion", Rocket)
  598. Explo.Position = Rocket.Position
  599. Explo.BlastRadius = 5
  600. Explo.BlastPressure = 0
  601. Explo.Hit:connect(function(hit) onHit(hit, Explo.Position) end)
  602. Rocket.Parent = nil
  603. end
  604. end
  605. end
  606. end
  607. end
  608. end)
  609. coroutine.resume(ExploFix)
  610. else
  611. break
  612. end
  613. end
  614. wait(0.5)
  615. end
  616. end)
  617.  
  618. if (Bomb == true) then
  619. coroutine.resume(LeftFire)
  620. wait(0.25)
  621. coroutine.resume(RightFire)
  622. repeat
  623. wait()
  624. if (Bomb == false) then
  625. coroutine.yield(LeftFire)
  626. coroutine.yield(RightFire)
  627. LeftFire = nil
  628. RightFire = nil
  629. end
  630. until
  631. (LeftFire == nil and RightFire == nil)
  632. end
  633. end
  634. elseif (Mode == "Fly") then
  635. if (Flying == false) then
  636. Flying = true
  637.  
  638. LeftShoulder.Part1 = nil
  639. RightShoulder.Part1 = nil
  640. LeftHip.Part1 = nil
  641. RightHip.Part1 = nil
  642.  
  643. local NewLeft = Instance.new("Weld", Torso)
  644. NewLeft.Part0 = Torso
  645. NewLeft.Part1 = LeftArm
  646. NewLeft.C0 = CFrame.new(-1, 0.5, 0)
  647. NewLeft.C1 = CFrame.new(0.5, 0.5, 0)
  648.  
  649. local NewRight = Instance.new("Weld", Torso)
  650. NewRight.Part0 = Torso
  651. NewRight.Part1 = RightArm
  652. NewRight.C0 = CFrame.new(1, 0.5, 0)
  653. NewRight.C1 = CFrame.new(-0.5, 0.5, 0)
  654.  
  655. local NewLeftH = Instance.new("Weld", Torso)
  656. NewLeftH.Part0 = Torso
  657. NewLeftH.Part1 = LeftLeg
  658. NewLeftH.C0 = CFrame.new(-1, -1, 0)
  659. NewLeftH.C1 = CFrame.new(-0.5, 1, 0)
  660.  
  661. local NewRightH = Instance.new("Weld", Torso)
  662. NewRightH.Part0 = Torso
  663. NewRightH.Part1 = RightLeg
  664. NewRightH.C0 = CFrame.new(1, -1, 0)
  665. NewRightH.C1 = CFrame.new(0.5, 1, 0)
  666.  
  667. Table.Insert(Welds, NewLeft)
  668. Table.Insert(Welds, NewRight)
  669. Table.Insert(Welds, NewLeftH)
  670. Table.Insert(Welds, NewRightH)
  671.  
  672. local Rod1 = Instance.new("Part", Suit)
  673. Rod1.Locked = true
  674. Rod1.CanCollide = false
  675. Rod1.TopSurface = 0
  676. Rod1.BottomSurface = 0
  677. Rod1.formFactor = 0
  678. Rod1.Size = Vector3.new(1, 1, 1)
  679. Rod1.Position = RightArm.Position
  680. Rod1.BrickColor = Trim or BrickColor.new("Lapis")
  681.  
  682. local Rod2 = Instance.new("Part", Suit)
  683. Rod2.Locked = true
  684. Rod2.CanCollide = false
  685. Rod2.TopSurface = 0
  686. Rod2.BottomSurface = 0
  687. Rod2.formFactor = 0
  688. Rod2.Size = Vector3.new(1, 1, 1)
  689. Rod2.Position = LeftArm.Position
  690. Rod2.BrickColor = Trim or BrickColor.new("Lapis")
  691.  
  692. local BlockMesh = Instance.new("BlockMesh", Rod1)
  693. BlockMesh.Scale = Vector3.new(0.35, 2, 0.35)
  694. local BlockMesh2 = Instance.new("BlockMesh", Rod2)
  695. BlockMesh2.Scale = Vector3.new(0.35, 2, 0.35)
  696.  
  697. local Dir = Instance.new("Part", Suit)
  698. Dir.Locked = true
  699. Dir.CanCollide = false
  700. Dir.TopSurface = 0
  701. Dir.BottomSurface = 0
  702. Dir.formFactor = 0
  703. Dir.Transparency = 1
  704. Dir.Size = Vector3.new(1, 1, 1)
  705.  
  706. local Fire = Instance.new("Fire", Dir)
  707. Fire.Size = 3
  708. Fire.Heat = -5
  709. Fire.Color = Trim_Color3.Color or BrickColor.new("Lapis")
  710. Fire.SecondaryColor = Trim_Color3.Color or BrickColor.new("Really black")
  711.  
  712. local Attach = Weld(RightArm, Rod1, nil, nil, false)
  713. local Attach2 = Weld(LeftArm, Rod2, nil, nil, false)
  714. local Weld = Weld(Torso, Dir, CFrame.Angles(math.rad(90), 0, 0), nil, false)
  715.  
  716. local BV = Instance.new("BodyVelocity", Torso)
  717. BV.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  718.  
  719. local BG = Instance.new("BodyGyro", Torso)
  720. BG.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  721. BG.cframe = Torso.CFrame
  722.  
  723. Table.Insert(Welds, Rod1)
  724. Table.Insert(Welds, Rod2) --// Not just welds get removed ^_^ //--
  725. Table.Insert(Welds, Dir)
  726. Table.Insert(Welds, BG)
  727. Table.Insert(Welds, BV)
  728. Table.Insert(Welds, Fire)
  729.  
  730. for i = 1, 25 do
  731. BlockMesh.Scale = BlockMesh.Scale + Vector3.new(0, 0.2, 0)
  732. BlockMesh2.Scale = BlockMesh2.Scale + Vector3.new(0, 0.2, 0)
  733. wait()
  734. end
  735.  
  736. for i = 0, 1, 0.45 do
  737. NewLeft.C0 = NewLeft.C0 * CFrame.Angles(0, 0, math.rad(-9))
  738. NewRight.C0 = NewRight.C0 * CFrame.Angles(0, 0, math.rad(9))
  739. wait(0.05)
  740. end
  741.  
  742. for i = 1, 6 do
  743. BlockMesh.Scale = BlockMesh.Scale + Vector3.new(0.2, 0, 0.2)
  744. BlockMesh2.Scale = BlockMesh2.Scale + Vector3.new(0.2, 0, 0.2)
  745. wait()
  746. end
  747.  
  748. Flying = true
  749.  
  750. local Fly = coroutine.create(function()
  751. while (Flying == true) do
  752. wait()
  753. BG.cframe = CFrame.new((Torso.Position + mouse.Hit.p)/2, mouse.Hit.p) * CFrame.Angles(math.rad(-90), 0, 0)
  754. BV.velocity = Dir.CFrame.lookVector * Speed
  755. end
  756. end)
  757.  
  758. coroutine.resume(Fly)
  759.  
  760. end
  761. end
  762. end
  763.  
  764. function onButton1Up(mouse)
  765. Hold = false
  766. Bomb = false
  767. Flying = false
  768.  
  769. for _, welds in pairs(Welds) do
  770. welds:Remove()
  771. end
  772.  
  773. pcall(function()
  774. Torso["Left Shoulder"].C0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  775. Torso["Right Shoulder"].C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  776. end)
  777.  
  778. LeftShoulder.Part1 = LeftArm
  779. RightShoulder.Part1 = RightArm
  780. LeftHip.Part1 = LeftLeg
  781. RightHip.Part1 = RightLeg
  782. end
  783.  
  784. function onSelected(mouse)
  785. hop:Remove()
  786. script.Parent = script.Parent.Parent
  787. Opaque()
  788. Suit = MakeSuit()
  789. mouse.Button1Down:connect(function() onButton1Down(mouse, Suit) end)
  790. mouse.Button1Up:connect(function() onButton1Up(mouse) end)
  791. mouse.KeyDown:connect(function(key) onKeyDown(key) end)
  792. local Hint = Instance.new("Hint", Player.PlayerGui)
  793. Hint.Text = "Press Q for Laser / Press E for Missiles / Press T for Flying"
  794. wait(3)
  795. Hint:Remove()
  796. end
  797.  
  798. function onDeselected()
  799. Opaque()
  800. MakeSuit()
  801. end
  802.  
  803. hop.Selected:connect(onSelected)
  804. Humanoid.Died:connect(onDied)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement