-- Fly GUI by XxERAGONxX12 (Frozen + Fast-Turn + Noclip Edition) local ScreenGui = Instance.new("ScreenGui") local MainFrame = Instance.new("Frame") local UICorner = Instance.new("UICorner") local Title = Instance.new("TextLabel") local SpeedInput = Instance.new("TextBox") local ToggleBtn = Instance.new("TextButton") local NoclipBtn = Instance.new("TextButton") -- GUI Setup ScreenGui.Parent = game.CoreGui ScreenGui.Name = "FlyGuiByERAGON" MainFrame.Name = "MainFrame" MainFrame.Parent = ScreenGui MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) MainFrame.Position = UDim2.new(0.5, -110, 0.5, -115) MainFrame.Size = UDim2.new(0, 220, 0, 230) MainFrame.Active = true MainFrame.Draggable = true UICorner.CornerRadius = UDim.new(0, 15) UICorner.Parent = MainFrame Title.Parent = MainFrame Title.Size = UDim2.new(1, 0, 0, 45) Title.Text = "FLY GUI BY XxERAGONxX12" Title.TextColor3 = Color3.fromRGB(0, 200, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 14 Title.BackgroundTransparency = 1 local function styleInput(obj, txt, pos) obj.Parent = MainFrame obj.Size = UDim2.new(0.8, 0, 0, 35) obj.Position = UDim2.new(0.1, 0, 0, pos) obj.BackgroundColor3 = Color3.fromRGB(40, 40, 40) obj.TextColor3 = Color3.new(1, 1, 1) obj.Font = Enum.Font.Gotham if obj:IsA("TextBox") then obj.PlaceholderText = txt obj.Text = "70" else obj.Text = txt end Instance.new("UICorner", obj) end styleInput(SpeedInput, "Speed (e.g. 70)", 55) styleInput(ToggleBtn, "ENABLE FLY", 105) styleInput(NoclipBtn, "NOCLIP: OFF", 165) -- Variables local flying = false local noclip = false local player = game.Players.LocalPlayer local userInput = game:GetService("UserInputService") local runService = game:GetService("RunService") local bv, bg -- Frozen & Noclip Logic local function setFrozen(state) local char = player.Character if char and char:FindFirstChild("Humanoid") then if state then local anims = char.Humanoid:GetPlayingAnimationTracks() for _, track in pairs(anims) do track:Stop() end if char:FindFirstChild("Animate") then char.Animate.Disabled = true end else if char:FindFirstChild("Animate") then char.Animate.Disabled = false end end end end runService.Stepped:Connect(function() if noclip and player.Character then for _, v in pairs(player.Character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end end end) -- Movement Logic local function getDirection() local cam = workspace.CurrentCamera.CFrame local direction = Vector3.new(0, 0, 0) if userInput:IsKeyDown(Enum.KeyCode.W) then direction = direction + cam.LookVector end if userInput:IsKeyDown(Enum.KeyCode.S) then direction = direction - cam.LookVector end if userInput:IsKeyDown(Enum.KeyCode.A) then direction = direction - cam.RightVector end if userInput:IsKeyDown(Enum.KeyCode.D) then direction = direction + cam.RightVector end if userInput:IsKeyDown(Enum.KeyCode.Space) then direction = direction + Vector3.new(0, 1, 0) end if userInput:IsKeyDown(Enum.KeyCode.LeftControl) then direction = direction - Vector3.new(0, 1, 0) end return direction end ToggleBtn.MouseButton1Click:Connect(function() flying = not flying local root = player.Character:FindFirstChild("HumanoidRootPart") if flying and root then ToggleBtn.Text = "DISABLE FLY" ToggleBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) setFrozen(true) bv = Instance.new("BodyVelocity", root) bg = Instance.new("BodyGyro", root) bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) bg.P, bg.D = 50000, 100 task.spawn(function() while flying do bv.Velocity = getDirection() * (tonumber(SpeedInput.Text) or 70) bg.CFrame = workspace.CurrentCamera.CFrame task.wait() end end) else ToggleBtn.Text = "ENABLE FLY" ToggleBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 215) setFrozen(false) if bv then bv:Destroy() end if bg then bg:Destroy() end end end) NoclipBtn.MouseButton1Click:Connect(function() noclip = not noclip NoclipBtn.Text = noclip and "NOCLIP: ON" or "NOCLIP: OFF" NoclipBtn.BackgroundColor3 = noclip and Color3.fromRGB(0, 180, 100) or Color3.fromRGB(40, 40, 40) end)