Advertisement
tallzack145

Jet Pack

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