ControlC
· Pastebin
Login
Register
ControlC
/
Create paste
Paste content
Up to 100 KB of text. BBCode formatting is supported.
Title
- optional
Content
B
I
U
S
</>
Colors ↓
Sizes ↓
Size 1
Size 2
Size 3
Size 4
Size 5
Size 6
Size 7
local savedSpeed = 50\r\n\r\nlocal function gui()\r\n local Players = game:GetService(\"Players\")\r\n local RunService = game:GetService(\"RunService\")\r\n local UserInputService = game:GetService(\"UserInputService\")\r\n local player = Players.LocalPlayer\r\n local character = player.Character or player.CharacterAdded:Wait()\r\n local humanoid = character:WaitForChild(\"Humanoid\")\r\n local HRP = character:WaitForChild(\"HumanoidRootPart\")\r\n local Camera = workspace.CurrentCamera\r\n\r\n local baseSpeed = savedSpeed\r\n local flySpeed = baseSpeed\r\n local flying = false\r\n local forwardHold = 0\r\n local inputFlags = { forward = false, back = false, left = false, right = false, up = false, down = false }\r\n\r\n local bodyVelocity = Instance.new(\"BodyVelocity\")\r\n bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5)\r\n\r\n local bodyGyro = Instance.new(\"BodyGyro\")\r\n bodyGyro.MaxTorque = Vector3.new(1e5, 1e5, 1e5)\r\n\r\n local screenGui = Instance.new(\"ScreenGui\")\r\n screenGui.Name = \"FlyScreenGui\"\r\n screenGui.ResetOnSpawn = false\r\n screenGui.Parent = player:WaitForChild(\"PlayerGui\")\r\n\r\n local toggleButton = Instance.new(\"TextButton\")\r\n toggleButton.Name = \"ToggleFlyButton\"\r\n toggleButton.Text = \"Fly OFF\"\r\n toggleButton.Size = UDim2.new(0, 100, 0, 50)\r\n toggleButton.Position = UDim2.new(1, -220, 0, 10)\r\n toggleButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)\r\n toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)\r\n toggleButton.Font = Enum.Font.GothamBold\r\n toggleButton.TextScaled = true\r\n toggleButton.BackgroundTransparency = 0.2\r\n toggleButton.Parent = screenGui\r\n\r\n local speedBox = Instance.new(\"TextBox\")\r\n speedBox.Name = \"SpeedBox\"\r\n speedBox.Text = tostring(baseSpeed)\r\n speedBox.Size = UDim2.new(0, 100, 0, 50)\r\n speedBox.Position = UDim2.new(1, -110, 0, 10)\r\n speedBox.BackgroundColor3 = Color3.fromRGB(40, 40, 40)\r\n speedBox.TextColor3 = Color3.fromRGB(255, 255, 255)\r\n speedBox.Font = Enum.Font.GothamBold\r\n speedBox.TextScaled = true\r\n speedBox.BackgroundTransparency = 0.2\r\n speedBox.Parent = screenGui\r\n\r\n local function newAnim(id)\r\n local anim = Instance.new(\"Animation\")\r\n anim.AnimationId = \"rbxassetid://\" .. id\r\n return anim\r\n end\r\n\r\n local animations = {\r\n forward = newAnim(90872539),\r\n up = newAnim(90872539),\r\n right1 = newAnim(136801964),\r\n right2 = newAnim(142495255),\r\n left1 = newAnim(136801964),\r\n left2 = newAnim(142495255),\r\n flyLow1 = newAnim(97169019),\r\n flyLow2 = newAnim(282574440),\r\n flyFast = newAnim(282574440),\r\n back1 = newAnim(136801964),\r\n back2 = newAnim(106772613),\r\n back3 = newAnim(42070810),\r\n back4 = newAnim(214744412),\r\n down = newAnim(233322916),\r\n idle1 = newAnim(97171309)\r\n }\r\n\r\n local tracks = {}\r\n for name, anim in pairs(animations) do\r\n tracks[name] = humanoid:LoadAnimation(anim)\r\n end\r\n\r\n local function stopAll()\r\n for _, track in pairs(tracks) do\r\n track:Stop()\r\n end\r\n end\r\n\r\n local function startFlying()\r\n flying = true\r\n forwardHold = 0\r\n flySpeed = baseSpeed\r\n bodyVelocity.Parent = HRP\r\n bodyGyro.Parent = HRP\r\n humanoid.PlatformStand = true\r\n end\r\n\r\n local function stopFlying()\r\n flying = false\r\n bodyVelocity.Parent = nil\r\n bodyGyro.Parent = nil\r\n humanoid.PlatformStand = false\r\n stopAll()\r\n end\r\n\r\n toggleButton.MouseButton1Click:Connect(function()\r\n if flying then\r\n stopFlying()\r\n toggleButton.Text = \"Fly OFF\"\r\n else\r\n startFlying()\r\n toggleButton.Text = \"Fly ON\"\r\n end\r\n end)\r\n\r\n speedBox.FocusLost:Connect(function()\r\n local num = tonumber(speedBox.Text)\r\n if num and num > 0 then\r\n baseSpeed = num\r\n savedSpeed = num\r\n if flying then flySpeed = baseSpeed end\r\n else\r\n speedBox.Text = tostring(baseSpeed)\r\n end\r\n end)\r\n\r\n UserInputService.InputBegan:Connect(function(input, gameProcessed)\r\n if gameProcessed then return end\r\n if input.KeyCode == Enum.KeyCode.W then inputFlags.forward = true end\r\n if input.KeyCode == Enum.KeyCode.S then inputFlags.back = true end\r\n if input.KeyCode == Enum.KeyCode.A then inputFlags.left = true end\r\n if input.KeyCode == Enum.KeyCode.D then inputFlags.right = true end\r\n if input.KeyCode == Enum.KeyCode.E then inputFlags.up = true end\r\n if input.KeyCode == Enum.KeyCode.Q then inputFlags.down = true end\r\n end)\r\n\r\n UserInputService.InputEnded:Connect(function(input)\r\n if input.KeyCode == Enum.KeyCode.W then inputFlags.forward = false end\r\n if input.KeyCode == Enum.KeyCode.S then inputFlags.back = false end\r\n if input.KeyCode == Enum.KeyCode.A then inputFlags.left = false end\r\n if input.KeyCode == Enum.KeyCode.D then inputFlags.right = false end\r\n if input.KeyCode == Enum.KeyCode.E then inputFlags.up = false end\r\n if input.KeyCode == Enum.KeyCode.Q then inputFlags.down = false end\r\n end)\r\n\r\n RunService.RenderStepped:Connect(function(dt)\r\n if not flying then return end\r\n\r\n if not inputFlags.forward then forwardHold = 0 end\r\n\r\n local dir = Vector3.zero\r\n local camCF = Camera.CFrame\r\n\r\n if inputFlags.forward then dir += camCF.LookVector end\r\n if inputFlags.back then dir -= camCF.LookVector end\r\n if inputFlags.left then dir -= camCF.RightVector end\r\n if inputFlags.right then dir += camCF.RightVector end\r\n if inputFlags.up then dir += Vector3.yAxis end\r\n if inputFlags.down then dir -= Vector3.yAxis end\r\n\r\n if dir.Magnitude > 0 then dir = dir.Unit end\r\n\r\n bodyVelocity.Velocity = dir * flySpeed\r\n bodyGyro.CFrame = camCF\r\n\r\n -- Animation Logic\r\n if inputFlags.up then\r\n if not tracks.up.IsPlaying then stopAll(); tracks.up:Play() end\r\n elseif inputFlags.down then\r\n if not tracks.down.IsPlaying then stopAll(); tracks.down:Play() end\r\n elseif inputFlags.left then\r\n if not tracks.left1.IsPlaying then\r\n stopAll()\r\n tracks.left1:Play(); tracks.left1.TimePosition = 2.0; tracks.left1:AdjustSpeed(0)\r\n tracks.left2:Play(); tracks.left2.TimePosition = 0.5; tracks.left2:AdjustSpeed(0)\r\n end\r\n elseif inputFlags.right then\r\n if not tracks.right1.IsPlaying then\r\n stopAll()\r\n tracks.right1:Play(); tracks.right1.TimePosition = 1.1; tracks.right1:AdjustSpeed(0)\r\n tracks.right2:Play(); tracks.right2.TimePosition = 0.5; tracks.right2:AdjustSpeed(0)\r\n end\r\n elseif inputFlags.back then\r\n if not tracks.back1.IsPlaying then\r\n stopAll()\r\n tracks.back1:Play(); tracks.back1.TimePosition = 5.3; tracks.back1:AdjustSpeed(0)\r\n tracks.back2:Play(); tracks.back2:AdjustSpeed(0)\r\n tracks.back3:Play(); tracks.back3.TimePosition = 0.8; tracks.back3:AdjustSpeed(0)\r\n tracks.back4:Play(); tracks.back4.TimePosition = 1; tracks.back4:AdjustSpeed(0)\r\n end\r\n elseif inputFlags.forward then\r\n forwardHold += dt\r\n if forwardHold >= 3 then\r\n if not tracks.flyFast.IsPlaying then\r\n stopAll()\r\n flySpeed = baseSpeed * 1.3\r\n tracks.flyFast:Play(); tracks.flyFast:AdjustSpeed(0.05)\r\n end\r\n else\r\n if not tracks.flyLow1.IsPlaying then\r\n stopAll()\r\n flySpeed = baseSpeed\r\n tracks.flyLow1:Play()\r\n tracks.flyLow2:Play()\r\n end\r\n end\r\n else\r\n if not tracks.idle1.IsPlaying then\r\n stopAll()\r\n tracks.idle1:Play(); tracks.idle1:AdjustSpeed(0)\r\n end\r\n end\r\n end)\r\nend\r\n\r\ngui()
Password
Anyone with the link will still need this password to view.
Expires
1 hour
3 hours
6 hours
12 hours
24 hours
48 hours
72 hours
Sign in to enable "Never expires".
Create paste
Please verify you are human
Cancel