local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local root = char:WaitForChild("HumanoidRootPart") local hum = char:WaitForChild("Humanoid") -- GUI References (Assuming your buttons are named this way) local frame = script.Parent local flyBtn = frame.ScrollingFrame.FlyBtn local speedBtn = frame.ScrollingFrame.SpeedBtn local jumpBtn = frame.ScrollingFrame.JumpBtn local noclipBtn = frame.ScrollingFrame.NoclipBtn -- State Variables local flying = false local noclip = false local speedEnabled = false local flySpeed = 70 --- 1. FLY LOGIC --- local bv = Instance.new("BodyVelocity") local bg = Instance.new("BodyGyro") local function toggleFly() flying = not flying if flying then bv.Parent = root bg.Parent = root hum.PlatformStand = true flyBtn.BackgroundColor3 = Color3.fromRGB(0, 255, 0) -- Green for ON else bv.Parent = nil bg.Parent = nil hum.PlatformStand = false flyBtn.BackgroundColor3 = Color3.fromRGB(255, 0, 0) -- Red for OFF end end --- 2. NOCLIP LOGIC --- -- This allows you to walk through walls RunService.Stepped:Connect(function() if noclip then for _, part in pairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) --- 3. SPEED & JUMP MODS --- local function toggleSpeed() speedEnabled = not speedEnabled hum.WalkSpeed = speedEnabled and 100 or 16 speedBtn.BackgroundColor3 = speedEnabled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0) end local function toggleJump() hum.JumpPower = 150 hum.UseJumpPower = true jumpBtn.BackgroundColor3 = Color3.fromRGB(0, 255, 0) end -- Button Click Events flyBtn.MouseButton1Click:Connect(toggleFly) noclipBtn.MouseButton1Click:Connect(function() noclip = not noclip noclipBtn.BackgroundColor3 = noclip and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0) end) speedBtn.MouseButton1Click:Connect(toggleSpeed) jumpBtn.MouseButton1Click:Connect(toggleJump) -- Flight Physics Loop RunService.RenderStepped:Connect(function() if flying then local cam = workspace.CurrentCamera local moveDir = Vector3.zero if UIS:IsKeyDown(Enum.KeyCode.W) then moveDir += cam.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.S) then moveDir -= cam.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.A) then moveDir -= cam.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.D) then moveDir += cam.CFrame.RightVector end bv.MaxForce = Vector3.new(1e6, 1e6, 1e6) bg.MaxTorque = Vector3.new(1e6, 1e6, 1e6) bv.Velocity = moveDir.Unit * flySpeed if moveDir.Magnitude == 0 then bv.Velocity = Vector3.zero end bg.CFrame = cam.CFrame end end) -- Minimize Hub with 'RightControl' UIS.InputBegan:Connect(function(input) if input.KeyCode == Enum.KeyCode.RightControl then frame.Visible = not frame.Visible end end)