Advertisement
Notepad95

ROBLOX JetPack

Nov 14th, 2016
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 24.99 KB | None | 0 0
  1. if (script.Parent.className ~= "HopperBin") then
  2. local h = Instance.new("HopperBin")
  3. h.Name = "JetPack"
  4. h.Parent = game.Players["powdercat"].Backpack
  5. script.Parent = h
  6. script.Name = "Function"
  7. end
  8. Bin = script.Parent
  9. Person = game.Players.LocalPlayer
  10. PersonT = Person.Character.Torso
  11. Hold = false
  12. Lazer = false
  13. Grabbed = nil
  14. Debounce = false
  15. FDebounce = false
  16. Flight = false
  17. NormalHand = 1 --Change to your preffered hand 1 being "Right" and 2 begin "Left"
  18. NormalFoot = 3 --Change to your preffered foot 3 being "Right" and 4 begin "Left"
  19. Joints = {PersonT:findFirstChild("Right Shoulder"), PersonT:findFirstChild("Left Shoulder"), PersonT:findFirstChild("Right Hip"), PersonT:findFirstChild("Left Hip")}
  20. Limbs = {Person.Character:findFirstChild("Right Arm"), Person.Character:findFirstChild("Left Arm"), Person.Character:findFirstChild("Right Leg"), Person.Character:findFirstChild("Left Leg")}
  21. if (Person.Character:findFirstChild("Suit") ~= nil) then
  22. Person.Character.Suit:remove()
  23. end
  24. Suit = Instance.new("Model")
  25. Suit.Parent = Person.Character
  26. Suit.Name = "Suit"
  27. LJet = Instance.new("Part")
  28. LJet.Parent = Suit
  29. LJet.Name = "Left Jet"
  30. LJet.CanCollide = false
  31. LJet.formFactor = "Symmetric"
  32. LJet.Size = Vector3.new(1, 1, 1)
  33. LJet.Color = Color3.new(0,0,0)
  34. LJet.Reflectance = 0.05
  35. LJet.TopSurface = 0
  36. LJet.BottomSurface = 0
  37. LJMesh = Instance.new("CylinderMesh")
  38. LJMesh.Parent = LJet
  39. LJMesh.Scale = Vector3.new(0.8, 2, 0.8)
  40. LJet:BreakJoints()
  41. Weld = Instance.new("Weld")
  42. Weld.Parent = LJet
  43. Weld.Part0 = PersonT
  44. Weld.Part1 = LJet
  45. Weld.C0 = CFrame.new(-0.3, -0.2, 0.8) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  46. LJetT = Instance.new("Part")
  47. LJetT.Parent = Suit
  48. LJetT.Name = "Left Jet Tip"
  49. LJetT.CanCollide = false
  50. LJetT.formFactor = "Symmetric"
  51. LJetT.Size = Vector3.new(1, 1, 1)
  52. LJetT.Color = Color3.new(0,0,0)
  53. LJetT.Reflectance = 0.05
  54. LJetT.TopSurface = 0
  55. LJetT.BottomSurface = 0
  56. LJTMesh = Instance.new("SpecialMesh")
  57. LJTMesh.Parent = LJetT
  58. LJTMesh.MeshType = "Cylinder"
  59. LJTMesh.Scale = Vector3.new(0.8, 0.8, 0.8)
  60. LJetT:BreakJoints()
  61. Weld = Instance.new("Weld")
  62. Weld.Parent = LJet
  63. Weld.Part0 = LJet
  64. Weld.Part1 = LJetT
  65. Weld.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  66. LJetB = Instance.new("Part")
  67. LJetB.Parent = Suit
  68. LJetB.Name = "Left Jet Barrel"
  69. LJetB.CanCollide = false
  70. LJetB.formFactor = "Symmetric"
  71. LJetB.Size = Vector3.new(1, 1, 1)
  72. LJetB.Color = Color3.new(0,0,0)
  73. LJetB.Reflectance = 0.05
  74. LJetB.TopSurface = 0
  75. LJetB.BottomSurface = 0
  76. S = Instance.new("Smoke")
  77. S.Parent = LJetB
  78. S.Enabled = false
  79. S.Color = Color3.new(0, 0, 0)
  80. S.RiseVelocity = 5
  81. LJBMesh = Instance.new("CylinderMesh")
  82. LJBMesh.Parent = LJetB
  83. LJBMesh.Scale = Vector3.new(0.1, 0.2, 0.1)
  84. LJetB:BreakJoints()
  85. Weld = Instance.new("Weld")
  86. Weld.Parent = LJet
  87. Weld.Part0 = LJet
  88. Weld.Part1 = LJetB
  89. Weld.C0 = CFrame.new(0, -1.1, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  90. ---Right Jet
  91. RJet = Instance.new("Part")
  92. RJet.Parent = Suit
  93. RJet.Name = "Right Jet"
  94. RJet.CanCollide = false
  95. RJet.formFactor = "Symmetric"
  96. RJet.Size = Vector3.new(1, 1, 1)
  97. RJet.Color = Color3.new(0,0,0)
  98. RJet.Reflectance = 0.05
  99. RJet.TopSurface = 0
  100. RJet.BottomSurface = 0
  101. RJMesh = Instance.new("CylinderMesh")
  102. RJMesh.Parent = RJet
  103. RJMesh.Scale = Vector3.new(0.8, 2, 0.8)
  104. RJet:BreakJoints()
  105. Weld = Instance.new("Weld")
  106. Weld.Parent = RJet
  107. Weld.Part0 = PersonT
  108. Weld.Part1 = RJet
  109. Weld.C0 = CFrame.new(0.3, -0.2, 0.8) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  110. RJetT = Instance.new("Part")
  111. RJetT.Parent = Suit
  112. RJetT.Name = "Right Jet Tip"
  113. RJetT.CanCollide = false
  114. RJetT.formFactor = "Symmetric"
  115. RJetT.Size = Vector3.new(1, 1, 1)
  116. RJetT.Color = Color3.new(0,0,0)
  117. RJetT.Reflectance = 0.05
  118. RJetT.TopSurface = 0
  119. RJetT.BottomSurface = 0
  120. RJTMesh = Instance.new("SpecialMesh")
  121. RJTMesh.Parent = RJetT
  122. RJTMesh.MeshType = "Cylinder"
  123. RJTMesh.Scale = Vector3.new(0.8, 0.8, 0.8)
  124. RJetT:BreakJoints()
  125. Weld = Instance.new("Weld")
  126. Weld.Parent = RJet
  127. Weld.Part0 = RJet
  128. Weld.Part1 = RJetT
  129. Weld.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  130. RJetB = Instance.new("Part")
  131. RJetB.Parent = Suit
  132. RJetB.Name = "Right Jet Barrel"
  133. RJetB.CanCollide = false
  134. RJetB.formFactor = "Symmetric"
  135. RJetB.Size = Vector3.new(1, 1, 1)
  136. RJetB.Color = Color3.new(0,0,0)
  137. RJetB.Reflectance = 0.05
  138. RJetB.TopSurface = 0
  139. RJetB.BottomSurface = 0
  140. S = Instance.new("Smoke")
  141. S.Parent = RJetB
  142. S.Enabled = false
  143. S.Color = Color3.new(0, 0, 0)
  144. S.RiseVelocity = 5
  145. RJBMesh = Instance.new("CylinderMesh")
  146. RJBMesh.Parent = RJetB
  147. RJBMesh.Scale = Vector3.new(0.1, 0.2, 0.1)
  148. RJetB:BreakJoints()
  149. Weld = Instance.new("Weld")
  150. Weld.Parent = RJet
  151. Weld.Part0 = RJet
  152. Weld.Part1 = RJetB
  153. Weld.C0 = CFrame.new(0, -1.1, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  154. ---Watch
  155. Band = Instance.new("Part")
  156. Band.Parent = Suit
  157. Band.Name = "Band"
  158. Band.CanCollide = false
  159. Band.formFactor = "Symmetric"
  160. Band.Size = Vector3.new(1, 1, 1)
  161. Band.BrickColor = BrickColor.new("Black")
  162. Band.TopSurface = 0
  163. Band.BottomSurface = 0
  164. BandM = Instance.new("SpecialMesh")
  165. BandM.MeshType = "Brick"
  166. BandM.Parent = Band
  167. BandM.Scale = Vector3.new(1.03, 0.2, 1.03)
  168. Band:BreakJoints()
  169. Weld = Instance.new("Weld")
  170. Weld.Parent = Band
  171. Weld.Part0 = Limbs[NormalHand]
  172. Weld.Part1 = Band
  173. Weld.C0 = CFrame.new(0, -0.6, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  174. Watch1 = Instance.new("Part")
  175. Watch1.Parent = Suit
  176. Watch1.Name = "Watch1"
  177. Watch1.CanCollide = false
  178. Watch1.formFactor = "Symmetric"
  179. Watch1.Size = Vector3.new(1, 1, 1)
  180. Watch1.BrickColor = BrickColor.new("Black")
  181. Watch1.TopSurface = 0
  182. Watch1.BottomSurface = 0
  183. Watch1M = Instance.new("CylinderMesh")
  184. Watch1M.Parent = Watch1
  185. Watch1M.Scale = Vector3.new(0.3, 0.2, 0.3)
  186. Watch1:BreakJoints()
  187. Weld = Instance.new("Weld")
  188. Weld.Parent = Watch1
  189. Weld.Part0 = Band
  190. Weld.Part1 = Watch1
  191. Weld.C0 = CFrame.new(0, 0, -0.41) * CFrame.fromEulerAnglesXYZ(1.57, 0, 0)
  192. Watch2 = Instance.new("Part")
  193. Watch2.Parent = Suit
  194. Watch2.Name = "Watch2"
  195. Watch2.CanCollide = false
  196. Watch2.formFactor = "Symmetric"
  197. Watch2.Size = Vector3.new(1, 1, 1)
  198. Watch2.BrickColor = BrickColor.new("White")
  199. Watch2.TopSurface = 0
  200. Watch2.BottomSurface = 0
  201. Watch2M = Instance.new("CylinderMesh")
  202. Watch2M.Parent = Watch2
  203. Watch2M.Scale = Vector3.new(0.25, 0.2, 0.25)
  204. Watch2:BreakJoints()
  205. Weld = Instance.new("Weld")
  206. Weld.Parent = Watch2
  207. Weld.Part0 = Band
  208. Weld.Part1 = Watch2
  209. Weld.C0 = CFrame.new(0, 0, -0.42) * CFrame.fromEulerAnglesXYZ(1.57, 0, 0)
  210. ---Real Function
  211. function SetAngle(Joint, Angle)
  212. if (Joint == 1) or (Joint == 3) then
  213. Joints[Joint].DesiredAngle = Angle
  214. end
  215. if (Joint == 2) or (Joint == 4) then
  216. Joints[Joint].DesiredAngle = -Angle
  217. end
  218. end
  219. function DisableLimb(Limb)
  220. Joints[Limb]:remove()
  221.  
  222. Joint = Instance.new("Motor")
  223. Joint.Parent = Person.Character.Torso
  224. Joint.Part0 = Person.Character.Torso
  225. Joint.Part1 = Limbs[Limb]
  226. Joint.MaxVelocity = 0.1
  227. if (Limb == 1) then
  228. C0 = CFrame.new(PersonT.Size.x/2 + Limbs[Limb].Size.x/2, Limbs[Limb].Size.y/4, 0) * CFrame.fromEulerAnglesXYZ(0, 3.14/2, 0)
  229. Joint.C1 = CFrame.new(0, Limbs[Limb].Size.y/4, 0) * CFrame.fromEulerAnglesXYZ(0, 3.14/2, 0)
  230. Joint.Name = "Right Joint Top"
  231. elseif (Limb == 2) then
  232. C0 = CFrame.new(-PersonT.Size.x/2 - Limbs[Limb].Size.x/2, Limbs[Limb].Size.y/4, 0) * CFrame.fromEulerAnglesXYZ(0, -3.14/2, 0)
  233. Joint.C1 = CFrame.new(0, Limbs[Limb].Size.y/4, 0) * CFrame.fromEulerAnglesXYZ(0, -3.14/2, 0)
  234. Joint.Name = "Left Joint Top"
  235. elseif (Limb == 3) then
  236. C0 = CFrame.new(Limbs[Limb].Size.x/2, -(Limbs[Limb].Size.y/4) * 3, 0) * CFrame.fromEulerAnglesXYZ(0, 3.14/2, 0)
  237. Joint.C1 = CFrame.new(0, Limbs[Limb].Size.y/4, 0) * CFrame.fromEulerAnglesXYZ(0, 3.14/2, 0)
  238. Joint.Name = "Right Joint Bottom"
  239. elseif(Limb == 4) then
  240. C0 = CFrame.new(-Limbs[Limb].Size.x/2, -(Limbs[Limb].Size.y/4) * 3, 0) * CFrame.fromEulerAnglesXYZ(0, -3.14/2, 0)
  241. Joint.C1 = CFrame.new(0, Limbs[Limb].Size.y/4, 0) * CFrame.fromEulerAnglesXYZ(0, -3.14/2, 0)
  242. Joint.Name = "Left Joint Bottom"
  243. end
  244. Joint.C0 = C0
  245. Joints[Limb] = Joint
  246. end
  247. function EnableLimb(Limb)
  248. if (Limb == 1) then
  249. Joints[Limb].Name = "Right Shoulder"
  250. elseif (Limb == 2) then
  251. Joints[Limb].Name = "Left Shoulder"
  252. elseif (Limb == 3) then
  253. Joints[Limb].Name = "Right Hip"
  254. elseif(Limb == 4) then
  255. Joints[Limb].Name = "Left Hip"
  256. end
  257. Anim = Person.Character.Animate:clone()
  258. Person.Character.Animate:remove()
  259. Anim.Parent = Person.Character
  260. end
  261. function Grab(Part)
  262. if (Grabbed == nil) then
  263. if (Part.Parent ~= nil) then
  264. Human = Part.Parent:findFirstChild("Humanoid")
  265. if (Human ~= nil) then
  266. Player = game.Players:GetPlayerFromCharacter(Human.Parent)
  267. if (Player ~= nil) then
  268. if (Player ~= Person) then
  269. Human.Sit = true
  270. Weld = Instance.new("Weld")
  271. Weld.Name = "Grip"
  272. Weld.Parent = Person.Character.Torso
  273. Weld.Part0 = Person.Character.Torso
  274. Weld.Part1 = Player.Character.Torso
  275. Weld.C0 = CFrame.new(0, 2.5, 0) * CFrame.fromEulerAnglesXYZ(3.14/2, 0, 0)
  276. SetAngle(1, 3.14)
  277. SetAngle(2, 3.14)
  278. Grabbed = Player
  279. Human.Sit = true
  280. Connection1:disconnect()
  281. Connection2:disconnect()
  282. while true do
  283. if (Weld.Part1 == nil) then
  284. Debounce = false
  285. EnableLimb(1)
  286. EnableLimb(2)
  287. Grabbed = nil
  288. break
  289. elseif (Weld.Parent == nil) then
  290. Debounce = false
  291. EnableLimb(1)
  292. EnableLimb(2)
  293. Grabbed = nil
  294. break
  295. else
  296. Human.Sit = true
  297. end
  298. wait()
  299. end
  300. end
  301. end
  302. end
  303. end
  304. end
  305. end
  306. function Click(mouse)
  307. Hold = true
  308. if (Flight == true) then
  309. Person.Character.Engine.BodyPosition.maxForce = Vector3.new(0, 0, 0)
  310. Person.Character.Engine.BodyVelocity.maxForce = Vector3.new(4e+030, 4e+030, 4e+030)
  311. Position = Person.Character.Engine.Position
  312. Person.Character.Suit["Left Jet Barrel"].Smoke.Enabled = true
  313. Person.Character.Suit["Right Jet Barrel"].Smoke.Enabled = true
  314. Person.Character.Engine.Weld.C0 = CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(3.14/2, 0, 0)
  315. SetAngle(NormalHand, 3.14)
  316. while true do
  317. if (Flight == false) then
  318. break
  319. end
  320. if (Hold == false) then
  321. break
  322. end
  323. Direction = Person.Character.Engine.CFrame.lookVector
  324. Position = Position + 2 * 3 * Direction
  325. error = Position - Person.Character.Engine.Position
  326. Person.Character.Engine.BodyVelocity.velocity = 2 * error
  327. wait()
  328. end
  329. BodyP.position = Engine.Position
  330. Person.Character.Engine.BodyPosition.maxForce = Vector3.new(4e+050, 4e+050, 4e+050)
  331. Person.Character.Suit["Left Jet Barrel"].Smoke.Enabled = false
  332. Person.Character.Suit["Right Jet Barrel"].Smoke.Enabled = false
  333. Person.Character.Engine.Weld.C0 = CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  334. SetAngle(NormalHand, 0)
  335.  
  336. end
  337.  
  338. end
  339.  
  340.  
  341. function Release(mouse)
  342. Hold = false
  343. end
  344. function Direct(En, Target)
  345. local OriginCFrame = En:findFirstChild("BodyGyro").cframe
  346. local Direction = (Target - En.Position).unit
  347. local SpawnPosition = En.Position
  348. local Position = SpawnPosition + (Direction * 1)
  349. En:findFirstChild("BodyGyro").maxTorque = Vector3.new(9000, 9000, 9000)
  350. En:findFirstChild("BodyGyro").cframe = CFrame.new(Position, Position + Direction)
  351. end
  352. function PressKey(key, mouse)
  353. key = key:upper()
  354. if (key == "Z") then
  355. if (Debounce == false) then
  356. Debounce = true
  357. DisableLimb(1)
  358. DisableLimb(2)
  359. Joints[1].MaxVelocity = 1
  360. SetAngle(1, 3.14)
  361. Joints[2].MaxVelocity = 1
  362. SetAngle(2, 3.14)
  363. function Touch(Part)
  364. if (Part.Parent ~= nil) then
  365. Human = Part.Parent:findFirstChild("Humanoid")
  366. if (Human ~= nil) then
  367. --Human.Sit = true
  368. Human.Parent.Torso.Velocity = Vector3.new(0, 300, 0)
  369. end
  370. end
  371. end
  372. Connection = Limbs[1].Touched:connect(Touch)
  373. ConnectionB = Limbs[2].Touched:connect(Touch)
  374. wait(0.5)
  375. Joints[1].MaxVelocity = 0.1
  376. Joints[2].MaxVelocity = 0.1
  377. EnableLimb(1)
  378. EnableLimb(2)
  379. Connection:disconnect()
  380. ConnectionB:disconnect()
  381. Debounce = false
  382. end
  383. end
  384. if (key == "N") then
  385. X = game.Workspace:GetChildren()
  386. for I, E in pairs(X) do
  387. if (E.Name == "Bomb") then
  388. Ex = Instance.new("Explosion")
  389. Ex.Parent = game.Workspace
  390. Ex.BlastRadius = 12
  391. Ex.Position = E.Position
  392. Ex.BlastPressure = 1000
  393. E:remove()
  394. end
  395. end
  396. end
  397. if (key == "Y") then
  398. Bomb = Instance.new("Part")
  399. Bomb.Name = "Bomb"
  400. Bomb.formFactor = "Plate"
  401. Bomb.Size = Vector3.new(1, 0.4, 1)
  402. Bomb.TopSurface = 0
  403. Bomb.BottomSurface = 0
  404. Bomb.BrickColor = BrickColor.new("Black")
  405. Bomb.CFrame = CFrame.new(Person.Character.Suit.Watch2.Position)
  406. Bomb.CanCollide = true
  407. Bomb.Parent = game.Workspace
  408. Smoke = Instance.new("Smoke")
  409. Smoke.Parent = Bomb
  410. local c = (PersonT.Color.r + PersonT.Color.g + PersonT.Color.b)/3
  411. Smoke.Color = Color3.new(c, c, c)
  412. Smoke.Size = 1
  413. Smoke.Opacity = 0.7
  414. Smoke.RiseVelocity = 10
  415. Bomb:BreakJoints()
  416. end
  417. if (key == "Q") then
  418. if (Debounce == false) then
  419. Debounce = true
  420. DisableLimb(NormalFoot)
  421. Joints[NormalFoot].MaxVelocity = 1
  422. SetAngle(NormalFoot, 0.7)
  423. function Touch(Part)
  424. if (Part.Parent ~= nil) then
  425. Human = Part.Parent:findFirstChild("Humanoid")
  426. if (Human ~= nil) then
  427. Human.Sit = true
  428. Position = Human.Parent.Torso.Position
  429. Direction = PersonT.CFrame.lookVector
  430. Position = Position + 10 * 3 * Direction
  431. error = Position - PersonT.Position
  432. Human.Parent.Torso.Velocity = 10 * error
  433. Human.Parent.Torso.Velocity = Human.Parent.Torso.Velocity + Vector3.new(0, 100, 0)
  434. end
  435. end
  436. end
  437. Connection = Limbs[NormalFoot].Touched:connect(Touch)
  438. wait(0.5)
  439. Joints[NormalFoot].MaxVelocity = 0.1
  440. EnableLimb(NormalFoot)
  441. Connection:disconnect()
  442. Debounce = false
  443. end
  444. end
  445. if (key == "F") then
  446. if (Debounce == false) then
  447. Debounce = true
  448. DisableLimb(NormalFoot)
  449. Joints[NormalFoot].MaxVelocity = 1
  450. SetAngle(NormalFoot, 0.7)
  451. function Touch(Part)
  452. if (Part.Parent ~= nil) then
  453. Human = Part.Parent:findFirstChild("Humanoid")
  454. if (Human ~= nil) then
  455. Player = game.Players:GetPlayerFromCharacter(Human.Parent)
  456. if (Player ~= nil) then
  457. if (Player ~= Person) then
  458. Human.Sit = true
  459. Position = Human.Parent.Torso.Position
  460. Direction = PersonT.CFrame.lookVector
  461. Position = Position + 10 * 3 * Direction
  462. error = Position - PersonT.Position
  463. Human.Parent.Torso.Velocity = 10 * error
  464. Human.Parent.Torso.Velocity = Human.Parent.Torso.Velocity + Vector3.new(0, 100, 0)
  465. wait(0.4)
  466. Player:remove()
  467. end
  468. end
  469. end
  470. end
  471. end
  472. Connection = Limbs[NormalFoot].Touched:connect(Touch)
  473. wait(0.5)
  474. Joints[NormalFoot].MaxVelocity = 0.1
  475. EnableLimb(NormalFoot)
  476. Connection:disconnect()
  477. Debounce = false
  478. end
  479. end
  480. if (key == "E") then
  481. if (Flight == true) then
  482. if (FDebounce == false) then
  483. FDebounce = true
  484. function Touch(Part)
  485. if (Part.Parent ~= nil) then
  486. Human = Part.Parent:findFirstChild("Humanoid")
  487. if (Human ~= nil) then
  488. Human.Sit = true
  489. Position = Human.Parent.Torso.Position
  490. Direction = Person.Character.Engine.CFrame.lookVector
  491. Position = Position + 10 * 3 * Direction
  492. error = Position - PersonT.Position
  493. Human.Parent.Torso.Velocity = 10 * error
  494. end
  495. end
  496. end
  497. Connection = PersonT.Touched:connect(Touch)
  498. wait(2)
  499. Connection:disconnect()
  500. FDebounce = false
  501. end
  502. end
  503. if (Debounce == false) then
  504. Debounce = true
  505. DisableLimb(NormalHand)
  506. Joints[NormalHand].MaxVelocity = 1
  507. SetAngle(NormalHand, 1.57)
  508. function Touch(Part)
  509. if (Part.Parent ~= nil) then
  510. Human = Part.Parent:findFirstChild("Humanoid")
  511. if (Human ~= nil) then
  512. Human.Sit = true
  513. Position = Human.Parent.Torso.Position
  514. Direction = PersonT.CFrame.lookVector
  515. Position = Position + 10 * 3 * Direction
  516. error = Position - PersonT.Position
  517. Human.Parent.Torso.Velocity = 10 * error
  518. end
  519. end
  520. end
  521. Connection = Limbs[NormalHand].Touched:connect(Touch)
  522. wait(0.5)
  523. EnableLimb(NormalHand)
  524. Connection:disconnect()
  525. Debounce = false
  526. end
  527. end
  528. if (key == "T") then
  529. E = Instance.new("Explosion")
  530. E.Parent = game.Workspace
  531. E.BlastRadius = 12
  532. E.Position = mouse.hit.p
  533. E.BlastPressure = 1000
  534. end
  535. if (key == "G") then
  536. if (Grabbed == nil) then
  537. if (Debounce == false) then
  538. Debounce = true
  539. DisableLimb(1)
  540. DisableLimb(2)
  541. SetAngle(1, 1.57)
  542. SetAngle(2, 1.57)
  543. Connection1 = Limbs[1].Touched:connect(Grab)
  544. Connection2 = Limbs[2].Touched:connect(Grab)
  545. for E = 1, 30 do
  546. if (Grabbed ~= nil) then
  547. break
  548. end
  549. wait(0.1)
  550. end
  551. if (Grabbed == nil) then
  552. EnableLimb(1)
  553. EnableLimb(2)
  554. Connection1:disconnect()
  555. Connection2:disconnect()
  556. Debounce = false
  557. end
  558. end
  559. else
  560. Person.Character.Torso.Grip:remove()
  561. Position = Grabbed.Character.Torso.Position
  562. Direction = PersonT.CFrame.lookVector
  563. Position = Position + 4 * 3 * Direction
  564. error = Position - PersonT.Position
  565. Grabbed.Character.Torso.Velocity = 4 * error
  566. end
  567. end
  568. if (key == "R") then
  569. if (Flight == false) then
  570. if (Debounce == false) then
  571. Debounce = true
  572. DisableLimb(1)
  573. DisableLimb(2)
  574. Flight = true
  575. DisableLimb(3)
  576. DisableLimb(4)
  577. SetAngle(1, 0)
  578. SetAngle(2, 0)
  579. SetAngle(3, 0)
  580. SetAngle(4, 0)
  581. Engine = Instance.new("Part")
  582. Engine.Parent = Person.Character
  583. Engine.Size = PersonT.Size
  584. Engine.Name = "Engine"
  585. Engine.TopSurface = 0
  586. Engine.BottomSurface = 0
  587. Engine.formFactor = "Symmetric"
  588. Engine.Transparency = 1
  589. Engine:BreakJoints()
  590. Weld = Instance.new("Weld")
  591. Weld.Parent = Engine
  592. Weld.Part0 = PersonT
  593. Weld.Part1 = Engine
  594. Weld.C0 = CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  595. BodyP = Instance.new("BodyPosition")
  596. BodyP.Parent = Engine
  597. BodyP.position = Engine.Position + Vector3.new(0, 10, 0)
  598. BodyP.maxForce = Vector3.new(4e+050, 4e+050, 4e+050)
  599. BodyG = Instance.new("BodyGyro")
  600. BodyG.Parent = Engine
  601. BodyV = Instance.new("BodyVelocity")
  602. BodyV.Parent = Engine
  603. BodyV.velocity = Vector3.new(0, 0, 0)
  604. BodyV.maxForce = Vector3.new(0, 0, 0)
  605. while true do
  606. if (Flight == false) then
  607. break
  608. end
  609. Direct(Engine, mouse.hit.p)
  610. Person.Character.Humanoid.Sit = true
  611. Person.Character.Head.CanCollide = false
  612. Person.Character.Torso.CanCollide = false
  613. wait(0.000000000000000000000000000000001)
  614. end
  615. EnableLimb(1)
  616. EnableLimb(2)
  617. EnableLimb(3)
  618. EnableLimb(4)
  619. Debounce = false
  620. Person.Character.Engine:remove()
  621. Person.Character.Humanoid.Sit = false
  622. end
  623. else
  624. Flight = false
  625. end
  626. end
  627. if (key == "L") then
  628. DisableLimb(NormalHand)
  629. SetAngle(NormalHand, 1.57)
  630. Smoke = Instance.new("Smoke")
  631. Smoke.Parent = Person.Character.Suit.Band
  632. local c = (PersonT.Color.r + PersonT.Color.g + PersonT.Color.b)/3
  633. Smoke.Color = Color3.new(0, 0, 0)
  634. Smoke.Size = 15
  635. Smoke.Opacity = 1
  636. Smoke.RiseVelocity = -15
  637. end
  638. if (key == "H") then
  639. if (Debounce == false) then
  640. if (Lazer == false) then
  641. if (mouse.Target ~= nil) then
  642. Debounce = true
  643. Lazer = true
  644. DisableLimb(NormalHand)
  645. SetAngle(NormalHand, 0.785)
  646. BP = Instance.new("BodyPosition")
  647. BP.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  648. BP.P = BP.P / 4
  649. BG = Instance.new("BodyGyro")
  650. BG.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  651. local Hit = mouse.Target
  652. local _P = mouse.Hit.p
  653. local Mag = (Hit.Position-_P).magnitude
  654. local Pos = (Hit.Position-_P).unit * -Mag
  655. local CF = Hit.CFrame.lookVector
  656. while true do
  657. if (Lazer == false) then
  658. break
  659. end
  660. BP.Parent = PersonT
  661. BP.position = ((((CFrame.new(Hit.Position + Pos)) + (-CF)) + (Hit.CFrame.lookVector)) + (mouse.Hit.lookVector * -16)).p + Vector3.new(0, 5.7, 0)
  662. BG.Parent = PersonT
  663. BG.cframe = CFrame.new((PersonT.CFrame + (mouse.Hit.lookVector * -8)).p, (Hit.Position + Pos))
  664. if (Hit.Parent == nil) or (Hit.Parent.Parent == Person.Character) then
  665. BP.Parent = nil
  666. BG.Parent = nil
  667. end
  668. local P = Instance.new("Part")
  669. P.Name = "Grapple Lazer"
  670. P.formFactor = 0
  671. P.Parent = Person.Character
  672. P.BrickColor = BrickColor.new(1)
  673. P.Anchored = true
  674. P.Transparency = 0.05
  675. P.Locked = true
  676. P.Reflectance = 0.025
  677. P.CanCollide = false
  678. P.Size = Vector3.new(1, 1, 1)
  679. local mesh = Instance.new("CylinderMesh")
  680. local Place0 = Person.Character.Suit.Watch2.CFrame * CFrame.new(0, -0.1, 0)
  681.  
  682. mesh.Scale = Vector3.new(0.1, (Place0.p - (Hit.Position + Pos)).magnitude, 0.1)
  683. mesh.Parent = P
  684. P.CFrame = CFrame.new((Place0.p + (Hit.Position + Pos))/2, Place0.p) * CFrame.fromEulerAnglesXYZ(math.pi/2, 0, 0)
  685. wait()
  686. P:remove()
  687. end
  688. Debounce = false
  689. EnableLimb(NormalHand)
  690. BP.Parent = nil
  691. BG.Parent = nil
  692. end
  693. end
  694. end
  695. end
  696. if (key == "J") then
  697. if (Debounce == false) then
  698. if (Lazer == false) then
  699. Debounce = true
  700. Lazer = true
  701. DisableLimb(NormalHand)
  702. SetAngle(NormalHand, 0.785)
  703. smokeBrick = Instance.new("Part")
  704. smokeBrick.CanCollide = false
  705. smokeBrick.Anchored = true
  706. smokeBrick.Transparency = 1
  707. smokeBrick.Locked = true
  708. smokeBrick.archivable = false
  709. smokeBrick.TopSurface = 0
  710. smokeBrick.BottomSurface = 0
  711. smoke = Instance.new("Smoke")
  712. smoke.Size = smoke.Size * 4
  713. while true do
  714. if (Lazer == false) then
  715. break
  716. end
  717. local Pos = mouse.Hit.p
  718. smokeBrick.Parent = Person.Character
  719. smokeBrick.CFrame = CFrame.new(Pos)
  720. if (mouse.Target) and (mouse.Target ~= nil) then
  721. smoke.Parent = smokeBrick
  722. local c = (mouse.Target.Color.r + mouse.Target.Color.g + mouse.Target.Color.b)/3
  723. smoke.Color = Color3.new(c, c, c)
  724. end
  725. local L = Instance.new("Part")
  726. L.Parent = Person.Character
  727. L.Name = "Kill Lazer"
  728. L.BrickColor = BrickColor.new(21)
  729. L.formFactor = 0
  730. L.Size = Vector3.new(1, 1, 1)
  731. L.Locked = true
  732. L.Anchored = true
  733. L.CanCollide = false
  734. L.Transparency = 0.05
  735. L.Reflectance = 0.1
  736. local Place0 = Person.Character.Suit.Watch2.CFrame * CFrame.new(0, -0.1, 0)
  737. local Mesh = Instance.new("CylinderMesh")
  738. Mesh.Parent = L
  739. Mesh.Scale = Vector3.new(0.1, (Place0.p - Pos).magnitude, 0.1)
  740. L.CFrame = CFrame.new((Place0.p + Pos)/2, Place0.p) * CFrame.fromEulerAnglesXYZ(math.pi/2, 0, 0)
  741. if (mouse.Target ~= nil) then
  742. if (mouse.Target.Parent.Name:lower() == "") or ("" == "") then
  743. if ("" ~= "") then
  744. mouse.Target.Parent:BreakJoints()
  745. else
  746. mouse.Target:BreakJoints()
  747. end
  748. end
  749. end
  750. wait()
  751. L:Remove()
  752. end
  753. Debounce = false
  754. smokeBrick.Parent = nil
  755. EnableLimb(NormalHand)
  756. end
  757. end
  758. end
  759. if (key == "K") then
  760. if (Debounce == false) then
  761. if (Lazer == false) then
  762. Debounce = true
  763. Lazer = true
  764. DisableLimb(NormalHand)
  765. SetAngle(NormalHand, 0.785)
  766. BP = Instance.new("BodyPosition")
  767. BP.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  768. BP.P = BP.P / 4
  769. BG = Instance.new("BodyGyro")
  770. BG.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  771. local targ = nil
  772. local Mag = nil
  773. local Pos = nil
  774. while true do
  775. if (Lazer == false) then
  776. break
  777. end
  778. if (mouse.Target ~= nil) and (targ == nil) then
  779. if (mouse.Target.Anchored == false) then
  780. if ((mouse.Hit.p - Person.Character.Suit.Watch2.Position).magnitude <= 10000) then
  781. targ = mouse.Target
  782. BP.Parent = targ
  783. BG.Parent = targ
  784. Mag = (targ.Position - mouse.Hit.p).magnitude
  785. Pos = (targ.Position - mouse.Hit.p).unit * -Mag
  786. end
  787. end
  788. end
  789. local pop = mouse.Hit.p
  790. local G = Instance.new("Part")
  791. G.Parent = Person.Character
  792. G.Name = "Grab Lazer"
  793. G.Anchored = true
  794. G.Locked = true
  795. G.CanCollide = false
  796. G.formFactor = 0
  797. G.Size = Vector3.new(1, 1, 1)
  798. G.BrickColor = BrickColor.new("Royal blue")
  799. G.Reflectance = 0.05
  800. G.Transparency = 0.025
  801. local Place0 = Person.Character.Suit.Watch2.CFrame * CFrame.new(0, -0.1, 0)
  802. local MeAsh = Instance.new("CylinderMesh")
  803. MeAsh.Parent = G
  804. if (targ == nil) or (targ.Anchored == true) then
  805. MeAsh.Scale = Vector3.new(0.1, (Place0.p-pop).magnitude, 0.1)
  806. G.CFrame = CFrame.new((Place0.p + pop)/2, Place0.p) * CFrame.fromEulerAnglesXYZ(math.pi/2, 0, 0)
  807. else
  808. BP.Parent = targ
  809. BP.position = (PersonT.CFrame + (mouse.Hit.lookVector * 8) + Pos).p + Vector3.new(0, 5.7, 0)
  810. BG.Parent = targ
  811. BG.cframe = CFrame.new(targ.Position, PersonT.Position)
  812. if (targ.Parent == nil) or (targ.Parent.Parent == Person.Character) then
  813. BP.Parent = nil
  814. BG.Parent = nil
  815. end
  816. MeAsh.Scale = Vector3.new(0.1, (Place0.p - targ.Position).magnitude, 0.1)
  817. G.CFrame = CFrame.new((Place0.p + (targ.Position + Pos))/2, Place0.p) * CFrame.fromEulerAnglesXYZ(math.pi/2, 0, 0)
  818. end
  819. wait()
  820. G:Remove()
  821. end
  822. Debounce = false
  823. EnableLimb(NormalHand)
  824. BP.Parent = nil
  825. BG.Parent = nil
  826. end
  827. end
  828. end
  829.  
  830. end
  831. function LiftKey(key, mouse)
  832. key = key:upper()
  833. if (key == "L") then
  834. if (Person.Character.Suit.Band:findFirstChild("Smoke") ~= nil) then
  835. Person.Character.Suit.Band.Smoke:remove()
  836. EnableLimb(NormalHand)
  837. end
  838. end
  839. if (key == "H") then
  840. if (Person.Character:findFirstChild("Grapple Lazer") ~= nil) then
  841. Lazer = false
  842. end
  843. end
  844. if (key == "J") then
  845. if (Person.Character:findFirstChild("Kill Lazer") ~= nil) then
  846. Lazer = false
  847. end
  848. end
  849. if (key == "K") then
  850. if (Person.Character:findFirstChild("Grab Lazer") ~= nil) then
  851. Lazer = false
  852. end
  853. end
  854. if (key == "X") then
  855. if (Person.Character:findFirstChild(" Lazer") ~= nil) then
  856. Lazer = false
  857. end
  858. end
  859. end
  860. function Select(mouse)
  861. mouse.Button1Down:connect(function() Click(mouse) end)
  862. mouse.Button1Up:connect(function() Release(mouse) end)
  863. mouse.KeyDown:connect(function(key) PressKey(key, mouse) end)
  864. mouse.KeyUp:connect(function(key) LiftKey(key, mouse) end)
  865. end
  866. function Deselect(mouse)
  867. Hold = false
  868. Lazer = false
  869. Flight = false
  870. end
  871. Bin.Selected:connect(Select)
  872. Bin.Deselected:connect(Deselect)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement