Advertisement
cat568

Untitled

Dec 20th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --just put this on the top of a script and boom 89% works
  2. --note this does not work on big scripts
  3. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  4. local Player,game,owner = owner,game
  5. local RealPlayer = Player
  6. do
  7. local rp = RealPlayer
  8. script.Parent = rp.Character
  9.  
  10. --RemoteEvent for communicating
  11. local Event = Instance.new("RemoteEvent")
  12. Event.Name = "UserInput_Event"
  13.  
  14. --Fake event to make stuff like Mouse.KeyDown work
  15. local function fakeEvent()
  16. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  17. t.connect = t.Connect
  18. return t
  19. end
  20.  
  21. --Creating fake input objects with fake variables
  22. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  23. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26. end}
  27. --Merged 2 functions into one by checking amount of arguments
  28. CAS.UnbindAction = CAS.BindAction
  29.  
  30. --This function will trigger the events that have been :Connect()'ed
  31. local function te(self,ev,...)
  32. local t = m[ev]
  33. if t and t._fakeEvent then
  34. for _,f in pairs(t.Functions) do
  35. f(...)
  36. end
  37. end
  38. end
  39. m.TrigEvent = te
  40. UIS.TrigEvent = te
  41.  
  42. Event.OnServerEvent:Connect(function(plr,io)
  43. if plr~=rp then return end
  44. m.Target = io.Target
  45. m.Hit = io.Hit
  46. if not io.isMouse then
  47. local b = io.UserInputState == Enum.UserInputState.Begin
  48. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  49. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  50. end
  51. for _,t in pairs(CAS.Actions) do
  52. for _,k in pairs(t.Keys) do
  53. if k==io.KeyCode then
  54. t.Function(t.Name,io.UserInputState,io)
  55. end
  56. end
  57. end
  58. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  59. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  60. end
  61. end)
  62. Event.Parent = NLS([==[
  63. local Player = game:GetService("Players").LocalPlayer
  64. local Event = script:WaitForChild("UserInput_Event")
  65.  
  66. local Mouse = Player:GetMouse()
  67. local UIS = game:GetService("UserInputService")
  68. local input = function(io,a)
  69. if a then return end
  70. --Since InputObject is a client-side instance, we create and pass table instead
  71. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  72. end
  73. UIS.InputBegan:Connect(input)
  74. UIS.InputEnded:Connect(input)
  75.  
  76. local h,t
  77. --Give the server mouse data 30 times every second, but only if the values changed
  78. --If player is not moving their mouse, client won't fire events
  79. while wait(1/30) do
  80. if h~=Mouse.Hit or t~=Mouse.Target then
  81. h,t=Mouse.Hit,Mouse.Target
  82. Event:FireServer({isMouse=true,Target=t,Hit=h})
  83. end
  84. end]==],Player.Character)
  85.  
  86. ----Sandboxed game object that allows the usage of client-side methods and services
  87. --Real game object
  88. local _rg = game
  89.  
  90. --Metatable for fake service
  91. local fsmt = {
  92. __index = function(self,k)
  93. local s = rawget(self,"_RealService")
  94. if s then return s[k] end
  95. end,
  96. __newindex = function(self,k,v)
  97. local s = rawget(self,"_RealService")
  98. if s then s[k]=v end
  99. end,
  100. __call = function(self,...)
  101. local s = rawget(self,"_RealService")
  102. if s then return s(...) end
  103. end
  104. }
  105. local function FakeService(t,RealService)
  106. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  107. return setmetatable(t,fsmt)
  108. end
  109.  
  110. --Fake game object
  111. local g = {
  112. GetService = function(self,s)
  113. return self[s]
  114. end,
  115. Players = FakeService({
  116. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  117. },"Players"),
  118. UserInputService = FakeService(UIS,"UserInputService"),
  119. ContextActionService = FakeService(CAS,"ContextActionService"),
  120. }
  121. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  122. g.service = g.GetService
  123.  
  124. g.RunService = FakeService({
  125. RenderStepped = _rg:GetService("RunService").Heartbeat,
  126. BindToRenderStep = function(self,name,_,fun)
  127. self._btrs[name] = self.Heartbeat:Connect(fun)
  128. end,
  129. UnbindFromRenderStep = function(self,name)
  130. self._btrs[name]:Disconnect()
  131. end,
  132. },"RunService")
  133.  
  134. setmetatable(g,{
  135. __index=function(self,s)
  136. return _rg:GetService(s) or typeof(_rg[s])=="function"
  137. and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  138. end,
  139. __newindex = fsmt.__newindex,
  140. __call = fsmt.__call
  141. })
  142. --Changing owner to fake player object to support owner:GetMouse()
  143. game,owner = g,g.Players.LocalPlayer
  144. end
  145.  
  146.  
  147. -- Synapse Decompiler
  148. -- Purchase Here: https://brack4712.xyz/synapse/purchase/
  149.  
  150.  
  151.  
  152. -- Rideket
  153. -- @Acecateer
  154.  
  155. -- Acecateer Rideket
  156.  
  157. wait(0.5)
  158.  
  159. --[[ Missile properties ]]--
  160. local currentSpeed = 0
  161. local ejectedSpeed = 0
  162. local maxSpeed = 350
  163. local increaseTime = 0.3
  164. local increaseIncrement = 10
  165. local decreaseTime = 0.2
  166. local decreaseIncrement = 15
  167. local collisionSpeed = 100
  168. local doPrints = false
  169. local Color = false
  170. local speedGauge = true
  171.  
  172. local Player = game.Players.LocalPlayer
  173. local Mouse = Player:GetMouse()
  174. Mouse.TargetFilter = workspace
  175. local mousePos
  176. repeat wait() until Player.Character:IsDescendantOf(workspace)
  177. local Character = Player.Character
  178. repeat wait() until Character:FindFirstChild("Humanoid")
  179. local Humanoid = Character.Humanoid
  180. Humanoid:WaitForChild("Animator"):Destroy()
  181.  
  182. -- Services
  183. local InputService = game:GetService("UserInputService")
  184. local RunService = game:GetService("RunService")
  185.  
  186. -- Set up character variables
  187. local bodyParts = {}
  188. local Joints = {}
  189.  
  190. local scanCharacter = function()
  191. Scan = function(Target)
  192. for _, child in pairs(Target:GetChildren()) do
  193. if child:IsA("Part") then
  194. bodyParts[child.Name] = child
  195. if #child:GetChildren() > 0 then
  196. Scan(child)
  197. end
  198. elseif child:IsA("Motor6D") then
  199. Joints[child.Name] = child
  200. end
  201. end
  202. end
  203. Scan(Character)
  204. end
  205. scanCharacter()
  206.  
  207. local fromRootC0, fromRootC1 = Joints["RootJoint"].C0, Joints["RootJoint"].C1
  208. local fromNeck = Joints["Neck"].C1
  209. local fromLeftShoulder = Joints["Left Shoulder"].C1
  210. local fromRightShoulder = Joints["Right Shoulder"].C1
  211. local fromLeftHip = Joints["Left Hip"].C1
  212. local fromRightHip = Joints["Right Hip"].C1
  213.  
  214. local Seat = Instance.new("Seat", Character)
  215. Seat.Transparency = 1
  216. Seat.CanCollide = false
  217. Seat.FormFactor = Enum.FormFactor.Custom
  218. Seat.Size = Vector3.new(1, 0.5, 1)
  219. local seatWeld = Instance.new("Weld", Seat)
  220. seatWeld.Part0 = Seat
  221. seatWeld.Part1 = bodyParts["Torso"]
  222. seatWeld.C1 = CFrame.new(0, -0.8, 0) * CFrame.Angles(math.pi/2, 0, 0)
  223.  
  224. local lastSeatChar
  225. local preLeftJoint, preRightJoint
  226. Seat.Changed:connect(function(Property)
  227. if Property == "Occupant" and Seat.Occupant then
  228. lastSeatChar = Seat.Occupant.Parent
  229. local Torso = lastSeatChar:FindFirstChild("Torso")
  230. if Torso then
  231. local LeftJoint = Torso["Left Hip"]
  232. local RightJoint = Torso["Right Hip"]
  233. preLeftJoint = LeftJoint.C1
  234. preRightJoint = RightJoint.C1
  235. LeftJoint.C1 = LeftJoint.C1 * CFrame.Angles(math.rad(25), 0, 0)
  236. RightJoint.C1 = RightJoint.C1 * CFrame.Angles(math.rad(25), 0, 0)
  237. end
  238. elseif not Seat.Occupant and lastSeatChar then
  239. local Torso = lastSeatChar:FindFirstChild("Torso")
  240. if Torso then
  241. local LeftJoint = Torso["Left Hip"]
  242. local RightJoint = Torso["Right Hip"]
  243. LeftJoint.C1 = preLeftJoint
  244. RightJoint.C1 = preRightJoint
  245. end
  246. end
  247. end)
  248.  
  249. createMissile = function()
  250. local Ejected = false
  251.  
  252. Humanoid.Jump = true; wait(0.3)
  253.  
  254. local Missile = Instance.new("Part", Character)
  255. Missile.Name = "Missile"
  256. if Color then Missile.BrickColor = Color end
  257. Missile.FormFactor = Enum.FormFactor.Custom
  258. Missile.Size = Vector3.new(1.56, 1.37, 5.65)
  259.  
  260. local Mesh = Instance.new("SpecialMesh", Missile)
  261. Mesh.MeshId = "http://www.roblox.com/asset/?id=103970395"
  262. if not Color then Mesh.TextureId = "http://www.roblox.com/asset/?id=103967643" end
  263. Mesh.Scale = Vector3.new(4, 4, 4)
  264.  
  265. local EmitterPart = Instance.new("Part", Character)
  266. EmitterPart.Name = "SmokeEmitter"
  267. EmitterPart.CanCollide = false
  268. EmitterPart.Transparency = 1
  269. EmitterPart.FormFactor = Enum.FormFactor.Custom
  270. EmitterPart.Size = Vector3.new(0.2, 0.2, 0.2)
  271.  
  272. local EmitterWeld = Instance.new("Weld", Missile)
  273. EmitterWeld.Part0 = Missile
  274. EmitterWeld.Part1 = EmitterPart
  275. EmitterWeld.C0 = CFrame.Angles(math.pi/2, 0, 0)
  276. EmitterWeld.C1 = CFrame.new(0, -Missile.Size.Z/2, 0)
  277.  
  278. local Smoke = Instance.new("ParticleEmitter", EmitterPart)
  279. Smoke.Enabled = false
  280. Smoke.Size = NumberSequence.new(0.8)
  281. Smoke.Texture = "rbxassetid://243661573"
  282. Smoke.Lifetime = NumberRange.new(0.5, 1)
  283. Smoke.Rate = 25
  284. Smoke.Rotation = NumberRange.new(-15, 15)
  285. Smoke.RotSpeed = NumberRange.new(50)
  286. Smoke.Speed = NumberRange.new(5, 10)
  287. Smoke.VelocitySpread = 30
  288.  
  289. Joints["RootJoint"].C0 = fromRootC0 * CFrame.Angles(math.pi/2, 0, 0)
  290. Joints["RootJoint"].C1 = fromRootC1 * CFrame.new(0, 3, 0)
  291. local Weld = Instance.new("Weld", bodyParts["Torso"])
  292. Weld.Part0 = bodyParts["Torso"]
  293. Weld.Part1 = Missile
  294. Weld.C0 = CFrame.new(0, 0, -1)
  295. Weld.C1 = CFrame.Angles(-math.pi/2, 0, 0)
  296.  
  297. -- Set up posture!
  298. local currentLeftShoulder, currentRightShoulder = Joints["Left Shoulder"].C1, Joints["Right Shoulder"].C1
  299. local currentLeftHip, currentRightHip = Joints["Left Hip"].C1, Joints["Right Hip"].C1
  300. local currentNeck = Joints["Neck"].C1
  301. local toNeck = fromNeck * CFrame.new(0, 0.25, 0) * CFrame.Angles(math.rad(80), 0, 0)
  302. local toLeftShoulder = fromLeftShoulder * CFrame.new(-0.3, 0, 0.5) * CFrame.Angles(math.pi/2, math.rad(120), 0)
  303. local toRightShoulder = fromRightShoulder * CFrame.new(0.3, 0, 0.5) * CFrame.Angles(math.pi/2, -math.rad(120), 0)
  304. local toLeftHip = fromLeftHip * CFrame.new(0.5, -0.5, 0) * CFrame.Angles(math.rad(30), math.rad(40), math.rad(20))
  305. local toRightHip = fromRightHip * CFrame.new(-0.5, -0.5, 0) * CFrame.Angles(math.rad(30), -math.rad(40), -math.rad(20))
  306. spawn(function()
  307. for i = 0, 1, 0.1 do
  308. Joints["Neck"].C1 = currentNeck:lerp(toNeck, i)
  309. Joints["Left Shoulder"].C1 = currentLeftShoulder:lerp(toLeftShoulder, i)
  310. Joints["Right Shoulder"].C1 = currentRightShoulder:lerp(toRightShoulder, i)
  311. Joints["Left Hip"].C1 = currentLeftHip:lerp(toLeftHip, i)
  312. Joints["Right Hip"].C1 = currentRightHip:lerp(toRightHip, i)
  313. RunService.RenderStepped:wait()
  314. end
  315. end)
  316.  
  317. local EjectAnimation = function()
  318. local currentLeftShoulder, currentRightShoulder = Joints["Left Shoulder"].C1, Joints["Right Shoulder"].C1
  319. local currentLeftHip, currentRightHip = Joints["Left Hip"].C1, Joints["Right Hip"].C1
  320. local currentRootC0, currentRootC1 = Joints["RootJoint"].C0, Joints["RootJoint"].C1
  321. local currentNeck = Joints["Neck"].C1
  322. local toRootC0, toRootC1 = fromRootC0, fromRootC1
  323. local toLeftShoulder = fromLeftShoulder * CFrame.new(0, 0.5, 0.5) * CFrame.Angles(math.rad(120), math.rad(30), 0)
  324. local toRightShoulder = fromRightShoulder * CFrame.new(0, 0.5, 0.5) * CFrame.Angles(math.rad(120), -math.rad(30), 0)
  325. local toLeftHip = fromLeftHip * CFrame.new(0, -0.3, -0.1) * CFrame.Angles(math.rad(20), 0, 0)
  326. local toRightHip = fromRightHip * CFrame.new(0, -0.3, -0.1) * CFrame.Angles(math.rad(20), 0, 0)
  327. for i = 0, 1, 0.1 do
  328. Joints["Neck"].C1 = currentNeck:lerp(fromNeck, i)
  329. Joints["RootJoint"].C0 = currentRootC0:lerp(toRootC0, i)
  330. Joints["RootJoint"].C1 = currentRootC1:lerp(toRootC1, i)
  331. Joints["Left Shoulder"].C1 = currentLeftShoulder:lerp(toLeftShoulder, i)
  332. Joints["Right Shoulder"].C1 = currentRightShoulder:lerp(toRightShoulder, i)
  333. Joints["Left Hip"].C1 = currentLeftHip:lerp(toLeftHip, i)
  334. Joints["Right Hip"].C1 = currentRightHip:lerp(toRightHip, i)
  335. RunService.RenderStepped:wait()
  336. end
  337. end
  338.  
  339. -- Set up HUD
  340. local HUD = Instance.new("ScreenGui", Player.PlayerGui)
  341. HUD.Name = "HUD"
  342. local ActivateFrame = Instance.new("Frame", HUD)
  343. ActivateFrame.Name = "ActivateFrame"
  344. ActivateFrame.Position = UDim2.new(1, -150, 1, -50)
  345. ActivateFrame.Size = UDim2.new(0, 150, 0, 50)
  346. ActivateFrame.Style = "RobloxRound"
  347. local Button = Instance.new("TextButton", ActivateFrame)
  348. Button.Name = "Button"
  349. Button.Position = UDim2.new(0, -8, 0, -8)
  350. Button.Size = UDim2.new(1, 16, 1, 16)
  351. Button.Style = "RobloxRoundDropdownButton"
  352. Button.Text = ""
  353. local buttonText = Instance.new("TextLabel", Button)
  354. buttonText.ZIndex = 2
  355. buttonText.Name = "Text"
  356. buttonText.BackgroundTransparency = 1
  357. buttonText.Position = UDim2.new(0, -5, 0, -5)
  358. buttonText.Size = UDim2.new(1, 10, 1, 10)
  359. buttonText.Font = Enum.Font.SourceSansBold
  360. buttonText.TextScaled = true
  361. buttonText.Text = "Activate"
  362. buttonText.TextColor3 = Color3.new()
  363. buttonText.TextTransparency = 0.2
  364. local Shadow = buttonText:Clone()
  365. Shadow.Parent = Button
  366. Shadow.Name = "Shadow"
  367. Shadow.Position = UDim2.new(0, -3, 0, -3)
  368. Shadow.ZIndex = 1
  369. Shadow.TextColor3 = Color3.new(116/255, 116/255, 116/255)
  370.  
  371. if speedGauge then
  372. local speedFrame = ActivateFrame:Clone()
  373. speedFrame.Position = UDim2.new(1, -305, 1, -50)
  374. local speedButton = speedFrame:WaitForChild("Button")
  375. speedButton.Active = false
  376. speedButton.AutoButtonColor = false
  377. speedButtonText = speedButton:WaitForChild("Text")
  378. speedButtonText.Text = "0 Studs/s"
  379. speedShadow = speedButton:WaitForChild("Shadow")
  380. speedShadow.Text = "0 Studs/s"
  381. speedFrame.Parent = HUD
  382. end
  383.  
  384. local Activated = true
  385. Button.Style = "RobloxRoundButton"
  386. buttonText.Text = "Un-Activate"
  387. Shadow.Text = "Un-Activate"
  388.  
  389. Button.MouseButton1Click:connect(function()
  390. if not Activated then
  391. Activated = true
  392. Button.Style = "RobloxRoundButton"
  393. buttonText.Text = "Un-Activate"
  394. Shadow.Text = "Un-Activate"
  395. else
  396. Activated = false
  397. Button.Style = "RobloxRoundDropdownButton"
  398. buttonText.Text = "Activate"
  399. Shadow.Text = "Activate"
  400. end
  401. end)
  402.  
  403. -- Fly away stanley, be free!
  404. local bodyGyro = Instance.new("BodyGyro", Missile)
  405. bodyGyro.maxTorque = Vector3.new(400000, 400000, 400000)
  406. bodyGyro.P = 6000
  407. bodyGyro.cframe = Missile.CFrame
  408.  
  409. local bodyPos = Instance.new("BodyPosition", Missile)
  410. bodyPos.maxForce = Vector3.new(100000, 100000, 100000)
  411. bodyPos.P = 1000
  412. bodyPos.position = bodyParts["Torso"].Position
  413.  
  414. local Sound = Instance.new("Sound", Missile)
  415. Sound.SoundId = "rbxassetid://169572883"
  416. Sound.Looped = true
  417.  
  418. local lastTick = tick()
  419. local Connection1 = InputService.InputBegan:connect(function(Input)
  420. if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then
  421. Sound:Play(); Smoke.Enabled = true
  422. RunService:UnbindFromRenderStep("Stopping")
  423. RunService:BindToRenderStep("Flying", 1, function()
  424. local currentTick = tick()
  425. if currentTick - lastTick >= increaseTime and currentSpeed < maxSpeed then
  426. currentSpeed = currentSpeed + increaseIncrement
  427. if currentSpeed > maxSpeed then currentSpeed = maxSpeed end
  428. if doPrints then print("Increased speed!", "Current speed: "..currentSpeed) end
  429. if speedGauge then
  430. speedButtonText.Text = currentSpeed .. " Studs/s"
  431. speedShadow.Text = currentSpeed .. " Studs/s"
  432. end
  433. lastTick = currentTick
  434. end
  435. mousePos = Mouse.Hit.p
  436. bodyGyro.cframe = CFrame.new(Missile.Position, mousePos)
  437. bodyPos.position = Missile.Position + (mousePos - Missile.Position).unit * currentSpeed
  438. end)
  439. end
  440. end)
  441.  
  442. local Connection2 = InputService.InputEnded:connect(function(Input)
  443. if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then
  444. Sound:Stop(); Smoke.Enabled = false
  445. RunService:UnbindFromRenderStep("Flying")
  446. RunService:BindToRenderStep("Stopping", 1, function()
  447. local currentTick = tick()
  448. if currentTick - lastTick >= decreaseTime and currentSpeed > 0 then
  449. currentSpeed = currentSpeed - decreaseIncrement
  450. if currentSpeed < 0 then currentSpeed = 0 end
  451. if doPrints then print("Decreased speed!", "Current speed: "..currentSpeed) end
  452. if speedGauge then
  453. speedButtonText.Text = currentSpeed .. " Studs/s"
  454. speedShadow.Text = currentSpeed .. " Studs/s"
  455. end
  456. lastTick = currentTick
  457. end
  458. mousePos = Mouse.Hit.p
  459. bodyGyro.cframe = CFrame.new(Missile.Position, mousePos)
  460. bodyPos.position = Missile.Position + (mousePos - Missile.Position).unit * currentSpeed
  461. end)
  462. end
  463. end)
  464.  
  465. local killConnections = function(Destroy)
  466. RunService:UnbindFromRenderStep("Flying")
  467. RunService:UnbindFromRenderStep("Stopping")
  468. if Connection1 and Connection2 then Connection1:disconnect(); Connection2:disconnect() end
  469. if Destroy then Missile:Destroy(); EmitterPart:Destroy() end
  470. end
  471.  
  472. local Explode = function(Missile, isEjected)
  473. local Explosion = Instance.new("Explosion")
  474. Explosion.BlastRadius = 50
  475. Explosion.DestroyJointRadiusPercent = 20
  476. Explosion.Position = Missile.Position
  477. Explosion.Parent = workspace
  478.  
  479. local boomPart = Instance.new("Part", workspace)
  480. boomPart.Name = "Boom"
  481. boomPart.Transparency = 1
  482. boomPart.Anchored = true
  483. boomPart.CanCollide = false
  484. boomPart.FormFactor = Enum.FormFactor.Custom
  485. boomPart.Size = Vector3.new(0.2, 0.2, 0.2)
  486. boomPart.Position = Missile.Position
  487. local Boom = Instance.new("Sound", boomPart)
  488. Boom.SoundId = "rbxassetid://157878578"
  489. Boom:Play()
  490. game:GetService("Debris"):AddItem(boomPart, 1)
  491.  
  492. if isEjected then
  493. Missile:Destroy(); EmitterPart:Destroy()
  494. else
  495. killConnections(true)
  496. end
  497. end
  498.  
  499. local MissileCon = Missile.Touched:connect(function(Hit)
  500. if Activated and not Hit:IsDescendantOf(Character) and Hit.CanCollide and (currentSpeed >= collisionSpeed or (Ejected and ejectedSpeed >= collisionSpeed)) then
  501. Explode(Missile)
  502. end
  503. end)
  504.  
  505. if Humanoid.Health <= 0 then killConnections(true) end
  506. Humanoid.Died:connect(function() killConnections(true) end)
  507.  
  508. local Connection3
  509. Connection3 = InputService.InputBegan:connect(function(Input)
  510. if Input.KeyCode == Enum.KeyCode.E and currentSpeed >= 100 then
  511. Connection3:disconnect()
  512. killConnections()
  513. MissileCon:disconnect()
  514. Ejected = true
  515.  
  516. local ejectedMissile = Missile
  517. ejectedMissile.Touched:connect(function(Hit)
  518. if not Hit:IsDescendantOf(Character) and Hit.CanCollide then
  519. Explode(ejectedMissile, true)
  520. end
  521. end)
  522.  
  523. local ejectedBodyPos = bodyPos
  524. ejectedSpeed = currentSpeed
  525. currentSpeed = 0
  526. local toPos = mousePos
  527. Weld:Destroy()
  528. HUD:Destroy()
  529. game:GetService("Debris"):AddItem(ejectedMissile, 5); game:GetService("Debris"):AddItem(EmitterPart, 5)
  530. local Ejected = RunService.RenderStepped:connect(function()
  531. ejectedBodyPos.position = ejectedMissile.Position + (toPos - ejectedMissile.Position).unit * ejectedSpeed
  532. end)
  533. wait(0.1)
  534. bodyParts["Torso"].Velocity = Vector3.new(0, 100, 0)
  535. EjectAnimation()
  536. wait(0.5)
  537. createMissile()
  538. end
  539. end)
  540. end
  541. createMissile()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement