nij55

Roblox press E to fly script

Oct 16th, 2020 (edited)
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.77 KB | None | 0 0
  1. -- Player Variables
  2. local Player = game.Players.LocalPlayer
  3. local Mouse = Player:GetMouse()
  4.  
  5. -- Fly
  6. local Flying = false
  7. local Controls = {f = 0, b = 0, l = 0, r = 0}
  8. local LastControls = {f = 0, b = 0, l = 0, r = 0}
  9. local MaxSpeed = 50
  10. local Speed = 0
  11.  
  12. local BodyMovers = {BodyGyro,BodyVelocity}
  13.  
  14. game:GetService('RunService').Stepped:Connect(function()
  15.     if Flying and BodyMovers.BodyGyro == nil and BodyMovers.BodyVelocity == nil then
  16.         BodyMovers.BodyGyro = Instance.new('BodyGyro', Player.Character.Head)
  17.         BodyMovers.BodyGyro.P = 9e4
  18.         BodyMovers.BodyGyro.maxTorque = Vector3.new(21474836437, 21474836437, 21474836437)
  19.         BodyMovers.BodyGyro.CFrame = Player.Character.Head.CFrame
  20.         BodyMovers.BodyVelocity = Instance.new('BodyVelocity', Player.Character.Head)
  21.         BodyMovers.BodyVelocity.velocity = Vector3.new(0,0.1,0)
  22.         BodyMovers.BodyVelocity.maxForce = Vector3.new(21474836437, 21474836437, 21474836437)
  23.     elseif Flying then
  24.         Player.Character.Humanoid.PlatformStand = true
  25.         if Controls.l + Controls.r ~= 0 or Controls.f + Controls.b ~= 0 then
  26.             Speed = Speed+.5+(Speed/MaxSpeed)
  27.             if Speed > MaxSpeed then
  28.                 Speed = MaxSpeed
  29.             end
  30.             elseif not (Controls.l + Controls.r ~= 0 or Controls.f + Controls.b ~= 0) and Speed ~= 0 then
  31.             Speed = Speed-1
  32.             if Speed < 0 then
  33.                 Speed = 0
  34.             end
  35.         end
  36.         if (Controls.l + Controls.r) ~= 0 or (Controls.f + Controls.b) ~= 0 then
  37.             BodyMovers.BodyVelocity.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (Controls.f+Controls.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(Controls.l+Controls.r,(Controls.f+Controls.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*Speed
  38.             LastControls = {f = Controls.f, b = Controls.b, l = Controls.l, r = Controls.r}
  39.         elseif (Controls.l + Controls.r) == 0 and (Controls.f + Controls.b) == 0 and Speed ~= 0 then
  40.             BodyMovers.BodyVelocity.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector * (LastControls.f+LastControls.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame * CFrame.new(LastControls.l+LastControls.r,(LastControls.f+LastControls.b)*.2,0).p) - game.Workspace.CurrentCamera.CoordinateFrame.p))*Speed
  41.         else
  42.             BodyMovers.BodyVelocity.velocity = Vector3.new(0,0.1,0)
  43.         end
  44.         BodyMovers.BodyGyro.cframe = game.Workspace.CurrentCamera.CoordinateFrame
  45.     elseif not Flying then
  46.         if  BodyMovers.BodyGyro ~= nil then
  47.             BodyMovers.BodyGyro:Destroy()
  48.             Player.Character.Humanoid.PlatformStand = false
  49.             BodyMovers.BodyGyro = nil
  50.         end
  51.         if  BodyMovers.BodyVelocity ~= nil then
  52.             BodyMovers.BodyVelocity:Destroy()
  53.             Player.Character.Humanoid.PlatformStand = false
  54.             BodyMovers.BodyVelocity = nil
  55.         end
  56.         Controls = {f = 0, b = 0, l = 0, r = 0}
  57.         LastControls = {f = 0, b = 0, l = 0, r = 0}
  58.         Speed = 0
  59.     end
  60. end)
  61.  
  62. -- Player Respawned
  63. function Refresh()
  64.     Flying = false
  65. end
  66.  
  67. Player.CharacterAdded:Connect(Refresh)
  68.  
  69. -- Input Object Stuff
  70. game:GetService('UserInputService').InputBegan:Connect(function(Input,GPE)
  71.     if not GPE then
  72.         if Input.KeyCode == Enum.KeyCode.E then
  73.             if Flying then
  74.                 Flying = false
  75.             else
  76.                 Flying = true
  77.             end
  78.         elseif Input.KeyCode == Enum.KeyCode.W then Controls.f = 1
  79.         elseif Input.KeyCode == Enum.KeyCode.S then Controls.b = -1
  80.         elseif Input.KeyCode == Enum.KeyCode.A then Controls.l = -1
  81.         elseif Input.KeyCode == Enum.KeyCode.D then Controls.r = 1
  82.         end
  83.     end
  84. end)
  85.  
  86. game:GetService('UserInputService').InputEnded:Connect(function(Input,GPE)
  87.     if not GPE then
  88.         if Input.KeyCode == Enum.KeyCode.W then Controls.f = 0
  89.         elseif Input.KeyCode == Enum.KeyCode.S then Controls.b = 0
  90.         elseif Input.KeyCode == Enum.KeyCode.A then Controls.l = 0
  91.         elseif Input.KeyCode == Enum.KeyCode.D then Controls.r = 0
  92.         end
  93.     end
  94. end)
Add Comment
Please, Sign In to add comment