Advertisement
ohhhhhhshdhashdahsd

Laser Suit

Nov 22nd, 2014
685
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 38.23 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("Bright red")
  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("Bright red")
  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("Bright red")
  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("Bright red")
  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("Bright red")
  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("Bright red")
  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("Bright red")
  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("Bright red")
  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("Bright red")
  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. local Helm = Instance.new("Part", Suit)
  259. Helm.Locked = true
  260. Helm.CanCollide = false
  261. Helm.TopSurface = 0
  262. Helm.BottomSurface = 0
  263. Helm.formFactor = 0
  264. Helm.BrickColor = Main or BrickColor.new("Really black")
  265. Helm.Position = Head.Position
  266. Helm.Size = Vector3.new(2, 1, 1)
  267.  
  268. local Mesh = Instance.new("SpecialMesh", Helm)
  269. Mesh.MeshType = "Head"
  270. Mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
  271.  
  272. Weld(Head, Helm, nil, nil, false)
  273.  
  274. local Plate = Instance.new("Part", Suit)
  275. Plate.Locked = true
  276. Plate.CanCollide = false
  277. Plate.TopSurface = 0
  278. Plate.BottomSurface = 0
  279. Plate.formFactor = 0
  280. Plate.BrickColor = Main or BrickColor.new("Really black")
  281. Plate.Position = Torso.Position
  282. Plate.Size = Vector3.new(2, 2, 1)
  283.  
  284. local Block = Instance.new("BlockMesh", Plate)
  285.  
  286. Weld(Torso, Plate, nil, nil, false)
  287.  
  288. local Arm1 = Instance.new("Part", Suit)
  289. Arm1.Locked = true
  290. Arm1.CanCollide = false
  291. Arm1.TopSurface = 0
  292. Arm1.BottomSurface = 0
  293. Arm1.formFactor = 0
  294. Arm1.BrickColor = Main or BrickColor.new("Really black")
  295. Arm1.Position = LeftArm.Position
  296. Arm1.Size = Vector3.new(1, 2, 1)
  297. AddTrim(Arm1)
  298.  
  299. local Block2 = Instance.new("BlockMesh", Arm1)
  300.  
  301. Weld(LeftArm, Arm1, nil, nil, false)
  302.  
  303. local Arm2 = Instance.new("Part", Suit)
  304. Arm2.Locked = true
  305. Arm2.CanCollide = false
  306. Arm2.TopSurface = 0
  307. Arm2.BottomSurface = 0
  308. Arm2.formFactor = 0
  309. Arm2.BrickColor = Main or BrickColor.new("Really black")
  310. Arm2.Position = RightArm.Position
  311. Arm2.Size = Vector3.new(1, 2, 1)
  312. AddTrim(Arm2)
  313.  
  314. local Block3 = Instance.new("BlockMesh", Arm2)
  315.  
  316. Weld(RightArm, Arm2, nil, nil, false)
  317.  
  318. local Leg1 = Instance.new("Part", Suit)
  319. Leg1.Locked = true
  320. Leg1.CanCollide = false
  321. Leg1.TopSurface = 0
  322. Leg1.BottomSurface = 0
  323. Leg1.formFactor = 0
  324. Leg1.BrickColor = Main or BrickColor.new("Really black")
  325. Leg1.Position = LeftLeg.Position
  326. Leg1.Size = Vector3.new(1, 2, 1)
  327. AddTrim(Leg1)
  328.  
  329. local Block4 = Instance.new("BlockMesh", Leg1)
  330.  
  331. Weld(LeftLeg, Leg1, nil, nil, false)
  332.  
  333. local Leg2 = Instance.new("Part", Suit)
  334. Leg2.Locked = true
  335. Leg2.CanCollide = false
  336. Leg2.TopSurface = 0
  337. Leg2.BottomSurface = 0
  338. Leg2.formFactor = 0
  339. Leg2.BrickColor = Main or BrickColor.new("Really black")
  340. Leg2.Position = RightLeg.Position
  341. Leg2.Size = Vector3.new(1, 2, 1)
  342. AddTrim(Leg2)
  343.  
  344. local Block5 = Instance.new("BlockMesh", Leg2)
  345.  
  346. Weld(RightLeg, Leg2, nil, nil, false)
  347.  
  348. local LasFram = Instance.new("Part", Suit)
  349. LasFram.Locked = true
  350. LasFram.CanCollide = false
  351. LasFram.TopSurface = 0
  352. LasFram.BottomSurface = 0
  353. LasFram.formFactor = 0
  354. LasFram.BrickColor = BrickColor.new("Dark stone grey")
  355. LasFram.Position = Head.Position
  356. LasFram.Size = Vector3.new(1, 1, 1)
  357.  
  358. local Cylinder = Instance.new("CylinderMesh", LasFram)
  359. Cylinder.Scale = Vector3.new(1, 0.2, 1)
  360.  
  361. Weld(Head, LasFram, CFrame.new(0, 0.15, -0.2), nil, false)
  362.  
  363. local Las = Instance.new("Part", Suit)
  364. Las.Locked = true
  365. Las.CanCollide = false
  366. Las.TopSurface = 0
  367. Las.BottomSurface = 0
  368. Las.formFactor = 0
  369. Las.BrickColor = Trim or BrickColor.new("Bright red")
  370. Las.Position = Head.Position
  371. Las.Size = Vector3.new(1, 1, 1)
  372.  
  373. local Cylinder2 = Instance.new("CylinderMesh", Las)
  374. Cylinder2.Scale = Vector3.new(0.95, 0.1, 1)
  375.  
  376. Weld(Head, Las, CFrame.new(0, 0.15, -0.25), nil, false)
  377.  
  378. local LasStart = Instance.new("Part", Suit)
  379. LasStart.Locked = true
  380. LasStart.CanCollide = false
  381. LasStart.TopSurface = 0
  382. LasStart.BottomSurface = 0
  383. LasStart.formFactor = 0
  384. LasStart.Transparency = 1
  385. LasStart.BrickColor = Trim or BrickColor.new("Bright red")
  386. LasStart.Position = Head.Position
  387. LasStart.Size = Vector3.new(1, 1, 1)
  388. LasStart.Name = "Laser-Start"
  389.  
  390. Weld(Head, LasStart, CFrame.new(0, 0.15, -0.4), nil, false)
  391.  
  392. for index = 1, 10 do
  393. local Star = Instance.new("Part", Suit)
  394. Star.Locked = true
  395. Star.CanCollide = false
  396. Star.TopSurface = 0
  397. Star.BottomSurface = 0
  398. Star.formFactor = 0
  399. Star.BrickColor = Trim or BrickColor.new("Bright red")
  400. Star.Position = Torso.Position
  401. Star.Size = Vector3.new(1, 1, 1)
  402.  
  403. local Block6 = Instance.new("BlockMesh", Star)
  404. Block6.Scale = Vector3.new(0.15, 0.3, 1.05)
  405.  
  406. Weld(Torso, Star, CFrame.Angles(0, 0, math.rad(index * 36)) * CFrame.new(0, 0.4, 0), nil, false)
  407. end
  408.  
  409. local Ball = Instance.new("Part", Suit)
  410. Ball.Locked = true
  411. Ball.CanCollide = false
  412. Ball.TopSurface = 0
  413. Ball.BottomSurface = 0
  414. Ball.formFactor = 0
  415. Ball.Shape = 0
  416. Ball.BrickColor = Trim or BrickColor.new("Bright red")
  417. Ball.Position = Torso.Position
  418. Ball.Size = Vector3.new(1, 1, 1)
  419.  
  420. local BMesh = Instance.new("SpecialMesh", Ball)
  421. BMesh.MeshType = "Sphere"
  422. BMesh.Scale = Vector3.new(0.4, 0.4, 0.1)
  423.  
  424. Weld(Torso, Ball, CFrame.new(0, 0, -0.5), nil, false)
  425.  
  426. local Ball2 = Instance.new("Part", Suit)
  427. Ball2.Locked = true
  428. Ball2.CanCollide = false
  429. Ball2.TopSurface = 0
  430. Ball2.BottomSurface = 0
  431. Ball2.formFactor = 0
  432. Ball2.Shape = 0
  433. Ball2.BrickColor = Trim or BrickColor.new("Bright red")
  434. Ball2.Position = Torso.Position
  435. Ball2.Size = Vector3.new(1, 1, 1)
  436.  
  437. local BMesh2 = Instance.new("SpecialMesh", Ball2)
  438. BMesh2.MeshType = "Sphere"
  439. BMesh2.Scale = Vector3.new(0.4, 0.4, 0.1)
  440.  
  441. Weld(Torso, Ball2, CFrame.new(0, 0, 0.5), nil, false)
  442.  
  443. return Suit
  444.  
  445. else
  446. pcall(function()
  447. Suit.Parent = nil
  448. Suit = nil
  449. end)
  450. end
  451. end
  452.  
  453. function onHit(hit, origin)
  454. local Check = hit:GetFullName()
  455. if (not Check:match(Player.Name)) then
  456. hit:BreakJoints()
  457. hit.Velocity = CFrame.new((origin + hit.Position)/2, hit.Position).lookVector * 50
  458. wait(3)
  459. hit.Velocity = Vector3.new(0, 0, 0)
  460. end
  461. end
  462.  
  463. function Missile(Origin, Target)
  464. local Rocket = Template:Clone()
  465. Rocket.Parent = Workspace
  466. Rocket.CFrame = Origin * CFrame.Angles(math.rad(-90), 0, 0)
  467. Debris:AddItem(Rocket, 10)
  468.  
  469. local Mesh = Instance.new("SpecialMesh", Rocket)
  470. Mesh.MeshId = "http://www.roblox.com/asset/?id=2251534"
  471. Mesh.Scale = Vector3.new(0.1, 0.1, 0.1)
  472.  
  473. local BG = Instance.new("BodyGyro", Rocket)
  474. BG.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  475. BG.cframe = CFrame.new((Rocket.Position + Target)/2, Target)
  476.  
  477. local BV = Instance.new("BodyVelocity", Rocket)
  478. BV.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  479. BV.velocity = Rocket.CFrame.lookVector * 50
  480.  
  481. local UpdateDir = coroutine.create(function()
  482. while (Rocket.Parent ~= nil) do
  483. wait()
  484. BG.cframe = CFrame.new((Rocket.Position + Target)/2, Target)
  485. BV.velocity = Rocket.CFrame.lookVector * 50
  486. end
  487. end)
  488. coroutine.resume(UpdateDir)
  489.  
  490. return Rocket
  491. end
  492.  
  493. function onKeyDown(key)
  494. if (key == "q" or key == string.char(1)) then
  495. Mnum = 1
  496. elseif (key == "e" or key == string.char(2)) then
  497. Mnum = 2
  498. elseif (key == "r" or key == string.char(3)) then
  499. Mnum = 3
  500. elseif (key == "t" or key == string.char(4)) then
  501. Mnum = 4
  502. end
  503. end
  504.  
  505. function onButton1Down(mouse, Suit)
  506. --// Mask Laser: X = 0.8 | Y = 0.1 //--
  507. --// Hand Laser: X = 0.35 | Y = 0.35 //--
  508. local Mode = Modes[Mnum]
  509.  
  510. if (Mode == "Mask-Laser") then
  511. Hold = true
  512.  
  513. while (Hold == true and Player.Parent ~= nil) do -- // Incase you get kicked, disables laser // --
  514. local Laser = BlockLaser(Suit["Laser-Start"].Position, mouse.Hit.p, 0.8, 0.1, Trim)
  515. local Explo = Instance.new("Explosion", Laser)
  516. Explo.Position = mouse.Hit.p
  517. Explo.BlastRadius = 5
  518. Explo.BlastPressure = 0
  519. Explo.Hit:connect(function(hit) onHit(hit, mouse.Hit.p) end)
  520. wait()
  521. Laser.Parent = nil
  522. Laser = nil
  523. end
  524. elseif (Mode == "Laser-Missile") then
  525. if (not Bomb) then
  526. Bomb = true
  527.  
  528. LeftShoulder.Part1 = nil
  529. RightShoulder.Part1 = nil
  530.  
  531. local NewLeft = Instance.new("Weld", Torso)
  532. NewLeft.Part0 = Torso
  533. NewLeft.Part1 = LeftArm
  534. NewLeft.C0 = CFrame.new(-1, 0.5, 0)
  535. NewLeft.C1 = CFrame.new(0.5, 0.5, 0)
  536.  
  537. local NewRight = Instance.new("Weld", Torso)
  538. NewRight.Part0 = Torso
  539. NewRight.Part1 = RightArm
  540. NewRight.C0 = CFrame.new(1, 0.5, 0)
  541. NewRight.C1 = CFrame.new(-0.5, 0.5, 0)
  542.  
  543. Table.Insert(Welds, NewLeft)
  544. Table.Insert(Welds, NewRight)
  545.  
  546. Hold = false
  547.  
  548. for i = 1, 10 do
  549. NewLeft.C0 = NewLeft.C0 * CFrame.Angles(math.rad(9), math.rad(-5), math.rad(4))
  550. NewRight.C0 = NewRight.C0 * CFrame.Angles(math.rad(9), math.rad(5), math.rad(-4))
  551. pcall(function()
  552. Torso["Left Shoulder"].C0 = Torso["Left Shoulder"].C0 * CFrame.Angles(math.rad(9), math.rad(-5), math.rad(4))
  553. Torso["Right Shoulder"].C0 = Torso["Right Shoulder"].C0 * CFrame.Angles(math.rad(9), math.rad(5), math.rad(-4))
  554. end)
  555. wait()
  556. end
  557.  
  558. for i = 1, 7 do
  559. NewLeft.C0 = NewLeft.C0 * CFrame.Angles(0, math.rad(-4.5), math.rad(-9))
  560. NewRight.C0 = NewRight.C0 * CFrame.Angles(0, math.rad(4.5), math.rad(9))
  561. pcall(function()
  562. Torso["Left Shoulder"].C0 = Torso["Left Shoulder"].C0 * CFrame.Angles(math.rad(9), math.rad(-5), math.rad(4))
  563. Torso["Right Shoulder"].C0 = Torso["Right Shoulder"].C0 * CFrame.Angles(math.rad(9), math.rad(5), math.rad(-4))
  564. end)
  565. wait()
  566. end
  567.  
  568. Hold = true
  569.  
  570. local LeftFire = coroutine.create(function()
  571. while (Hold == true) do
  572. if (mouse.Target ~= nil and mouse.Target.Name ~= "TNSrocket") then
  573. if (Hold == true) then
  574. local Rocket = Missile(LeftArm.CFrame * CFrame.new(0, -1, 0), mouse.Hit.p)
  575. local connect
  576. connect = Rocket.Touched:connect(function(hit)
  577. local Check = hit:GetFullName()
  578. if (hit.Name ~= "TNSrocket" and not Check:match(Player.Name)) then
  579. local Explo = Instance.new("Explosion", Rocket)
  580. Explo.Position = Rocket.Position
  581. Explo.BlastRadius = 5
  582. Explo.BlastPressure = 0
  583. Explo.Hit:connect(function(hit) onHit(hit, Explo.Position) end)
  584. end
  585. NewLeft.C0 = NewLeft.C0 * CFrame.new(0, 0.1, 0)
  586. pcall(function()
  587. Torso["Left Shoulder"].C0 = Torso["Left Shoulder"].C0 * CFrame.new(0, 0.1, 0)
  588. end)
  589. for i = 1, 5 do
  590. NewLeft.C0 = NewLeft.C0 * CFrame.new(0, -0.02, 0)
  591. pcall(function()
  592. Torso["Left Shoulder"].C0 = Torso["Left Shoulder"].C0 * CFrame.new(0, -0.02, 0)
  593. end)
  594. wait()
  595. end
  596. Table.Insert(RocketConnect, connect)
  597. connect:disconnect()
  598. Rocket.Parent = nil
  599. end)
  600. else
  601. break
  602. end
  603. end
  604. wait(0.5)
  605. end
  606. end)
  607.  
  608. local RightFire = coroutine.create(function()
  609. while (Hold == true) do
  610. if (mouse.Target ~= nil and mouse.Target.Name ~= "TNSrocket") then
  611. if (Hold == true) then
  612. local Rocket = Missile(RightArm.CFrame * CFrame.new(0, -1, 0), mouse.Hit.p)
  613. Rocket.Touched:connect(function(hit)
  614. local Check = hit:GetFullName()
  615. if (hit.Name ~= "TNSrocket" and not Check:match(Player.Name)) then
  616. local Explo = Instance.new("Explosion", Rocket)
  617. Explo.Position = Rocket.Position
  618. Explo.BlastRadius = 5
  619. Explo.BlastPressure = 0
  620. Explo.Hit:connect(function(hit) onHit(hit, Explo.Position) end)
  621. end
  622. NewRight.C0 = NewRight.C0 * CFrame.new(0, 0.1, 0)
  623. pcall(function()
  624. Torso["Right Shoulder"].C0 = Torso["Right Shoulder"].C0 * CFrame.new(0, 0.1, 0)
  625. end)
  626. for i = 1, 5 do
  627. NewRight.C0 = NewRight.C0 * CFrame.new(0, -0.02, 0)
  628. pcall(function()
  629. Torso["Right Shoulder"].C0 = Torso["Right Shoulder"].C0 * CFrame.new(0, -0.02, 0)
  630. end)
  631. wait()
  632. end
  633. end)
  634. local ExploFix = coroutine.create(function()
  635. while (Explo.Parent ~= nil) do
  636. for _, user in pairs(Players:GetChildren()) do
  637. if (user.Character ~= nil) then
  638. local Torso = Userdata(user.Character, "Torso")
  639. if (Torso ~= nil) then
  640. if ((Rocket.Position - Torso.Position).magnitude < 5) then
  641. local Explo = Instance.new("Explosion", Rocket)
  642. Explo.Position = Rocket.Position
  643. Explo.BlastRadius = 5
  644. Explo.BlastPressure = 0
  645. Explo.Hit:connect(function(hit) onHit(hit, Explo.Position) end)
  646. Rocket.Parent = nil
  647. end
  648. end
  649. end
  650. end
  651. end
  652. end)
  653. coroutine.resume(ExploFix)
  654. else
  655. break
  656. end
  657. end
  658. wait(0.5)
  659. end
  660. end)
  661.  
  662. if (Bomb == true) then
  663. coroutine.resume(LeftFire)
  664. wait(0.25)
  665. coroutine.resume(RightFire)
  666. repeat
  667. wait()
  668. if (Bomb == false) then
  669. coroutine.yield(LeftFire)
  670. coroutine.yield(RightFire)
  671. LeftFire = nil
  672. RightFire = nil
  673. end
  674. until
  675. (LeftFire == nil and RightFire == nil)
  676. end
  677. end
  678. elseif (Mode == "Fly") then
  679. if (Flying == false) then
  680. Flying = true
  681.  
  682. LeftShoulder.Part1 = nil
  683. RightShoulder.Part1 = nil
  684. LeftHip.Part1 = nil
  685. RightHip.Part1 = nil
  686.  
  687. local NewLeft = Instance.new("Weld", Torso)
  688. NewLeft.Part0 = Torso
  689. NewLeft.Part1 = LeftArm
  690. NewLeft.C0 = CFrame.new(-1, 0.5, 0)
  691. NewLeft.C1 = CFrame.new(0.5, 0.5, 0)
  692.  
  693. local NewRight = Instance.new("Weld", Torso)
  694. NewRight.Part0 = Torso
  695. NewRight.Part1 = RightArm
  696. NewRight.C0 = CFrame.new(1, 0.5, 0)
  697. NewRight.C1 = CFrame.new(-0.5, 0.5, 0)
  698.  
  699. local NewLeftH = Instance.new("Weld", Torso)
  700. NewLeftH.Part0 = Torso
  701. NewLeftH.Part1 = LeftLeg
  702. NewLeftH.C0 = CFrame.new(-1, -1, 0)
  703. NewLeftH.C1 = CFrame.new(-0.5, 1, 0)
  704.  
  705. local NewRightH = Instance.new("Weld", Torso)
  706. NewRightH.Part0 = Torso
  707. NewRightH.Part1 = RightLeg
  708. NewRightH.C0 = CFrame.new(1, -1, 0)
  709. NewRightH.C1 = CFrame.new(0.5, 1, 0)
  710.  
  711. Table.Insert(Welds, NewLeft)
  712. Table.Insert(Welds, NewRight)
  713. Table.Insert(Welds, NewLeftH)
  714. Table.Insert(Welds, NewRightH)
  715.  
  716. local Rod1 = Instance.new("Part", Suit)
  717. Rod1.Locked = true
  718. Rod1.CanCollide = false
  719. Rod1.TopSurface = 0
  720. Rod1.BottomSurface = 0
  721. Rod1.formFactor = 0
  722. Rod1.Size = Vector3.new(1, 1, 1)
  723. Rod1.Position = RightArm.Position
  724. Rod1.BrickColor = Trim or BrickColor.new("Bright red")
  725.  
  726. local Rod2 = Instance.new("Part", Suit)
  727. Rod2.Locked = true
  728. Rod2.CanCollide = false
  729. Rod2.TopSurface = 0
  730. Rod2.BottomSurface = 0
  731. Rod2.formFactor = 0
  732. Rod2.Size = Vector3.new(1, 1, 1)
  733. Rod2.Position = LeftArm.Position
  734. Rod2.BrickColor = Trim or BrickColor.new("Bright red")
  735.  
  736. local BlockMesh = Instance.new("BlockMesh", Rod1)
  737. BlockMesh.Scale = Vector3.new(0.35, 2, 0.35)
  738. local BlockMesh2 = Instance.new("BlockMesh", Rod2)
  739. BlockMesh2.Scale = Vector3.new(0.35, 2, 0.35)
  740.  
  741. local Dir = Instance.new("Part", Suit)
  742. Dir.Locked = true
  743. Dir.CanCollide = false
  744. Dir.TopSurface = 0
  745. Dir.BottomSurface = 0
  746. Dir.formFactor = 0
  747. Dir.Transparency = 1
  748. Dir.Size = Vector3.new(1, 1, 1)
  749.  
  750. local Fire = Instance.new("Fire", Dir)
  751. Fire.Size = 3
  752. Fire.Heat = -5
  753. Fire.Color = Trim_Color3.Color or BrickColor.new("Bright red")
  754. Fire.SecondaryColor = Trim_Color3.Color or BrickColor.new("Really black")
  755.  
  756. local Attach = Weld(RightArm, Rod1, nil, nil, false)
  757. local Attach2 = Weld(LeftArm, Rod2, nil, nil, false)
  758. local Weld = Weld(Torso, Dir, CFrame.Angles(math.rad(90), 0, 0), nil, false)
  759.  
  760. local BV = Instance.new("BodyVelocity", Torso)
  761. BV.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  762.  
  763. local BG = Instance.new("BodyGyro", Torso)
  764. BG.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  765. BG.cframe = Torso.CFrame
  766.  
  767. Table.Insert(Welds, Rod1)
  768. Table.Insert(Welds, Rod2) --// Not just welds get removed ^_^ //--
  769. Table.Insert(Welds, Dir)
  770. Table.Insert(Welds, BG)
  771. Table.Insert(Welds, BV)
  772. Table.Insert(Welds, Fire)
  773.  
  774. for i = 1, 25 do
  775. BlockMesh.Scale = BlockMesh.Scale + Vector3.new(0, 0.2, 0)
  776. BlockMesh2.Scale = BlockMesh2.Scale + Vector3.new(0, 0.2, 0)
  777. wait()
  778. end
  779.  
  780. for i = 0, 1, 0.45 do
  781. NewLeft.C0 = NewLeft.C0 * CFrame.Angles(0, 0, math.rad(-9))
  782. NewRight.C0 = NewRight.C0 * CFrame.Angles(0, 0, math.rad(9))
  783. wait(0.05)
  784. end
  785.  
  786. for i = 1, 6 do
  787. BlockMesh.Scale = BlockMesh.Scale + Vector3.new(0.2, 0, 0.2)
  788. BlockMesh2.Scale = BlockMesh2.Scale + Vector3.new(0.2, 0, 0.2)
  789. wait()
  790. end
  791.  
  792. Flying = true
  793.  
  794. local Fly = coroutine.create(function()
  795. while (Flying == true) do
  796. wait()
  797. BG.cframe = CFrame.new((Torso.Position + mouse.Hit.p)/2, mouse.Hit.p) * CFrame.Angles(math.rad(-90), 0, 0)
  798. BV.velocity = Dir.CFrame.lookVector * Speed
  799. end
  800. end)
  801.  
  802. coroutine.resume(Fly)
  803.  
  804. end
  805. end
  806. end
  807.  
  808. function onButton1Up(mouse)
  809. Hold = false
  810. Bomb = false
  811. Flying = false
  812.  
  813. for _, welds in pairs(Welds) do
  814. welds:Remove()
  815. end
  816.  
  817. pcall(function()
  818. Torso["Left Shoulder"].C0 = CFrame.new(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  819. Torso["Right Shoulder"].C0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  820. end)
  821.  
  822. LeftShoulder.Part1 = LeftArm
  823. RightShoulder.Part1 = RightArm
  824. LeftHip.Part1 = LeftLeg
  825. RightHip.Part1 = RightLeg
  826. end
  827.  
  828. function onSelected(mouse)
  829. hop:Remove()
  830. script.Parent = script.Parent.Parent
  831. Opaque()
  832. Suit = MakeSuit()
  833. mouse.Button1Down:connect(function() onButton1Down(mouse, Suit) end)
  834. mouse.Button1Up:connect(function() onButton1Up(mouse) end)
  835. mouse.KeyDown:connect(function(key) onKeyDown(key) end)
  836. local Hint = Instance.new("Hint", Player.PlayerGui)
  837. Hint.Text = "Press Q for Laser / Press E for Missiles / Press T for Flying"
  838. wait(3)
  839. Hint:Remove()
  840. end
  841.  
  842. function onDeselected()
  843. Opaque()
  844. MakeSuit()
  845. end
  846.  
  847. hop.Selected:connect(onSelected)
  848. Humanoid.Died:connect(onDied)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement