Advertisement
TROLERMASTERH

Roblox Jetpack

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