-- ========== XDEMIC FLY & NOCLIP ========== local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local CoreGui = game:GetService("CoreGui") -- Clean up old UI if CoreGui:FindFirstChild("XdemicFlyHub") then CoreGui.XdemicFlyHub:Destroy() end local sg = Instance.new("ScreenGui", CoreGui) sg.Name = "XdemicFlyHub" local main = Instance.new("Frame", sg) main.Size = UDim2.new(0, 160, 0, 220) main.Position = UDim2.new(0.05, 0, 0.3, 0) main.BackgroundColor3 = Color3.fromRGB(25, 25, 35) main.Active = true main.Draggable = true -- Standard drag for mobile local corner = Instance.new("UICorner", main) corner.CornerRadius = UDim.new(0, 10) local title = Instance.new("TextLabel", main) title.Size = UDim2.new(1, 0, 0, 30) title.Text = "XDEMIC FLY" title.TextColor3 = Color3.fromRGB(255, 50, 100) title.BackgroundTransparency = 1 title.Font = Enum.Font.GothamBold -- ========== SPEED INPUT ========== local speedInput = Instance.new("TextBox", main) speedInput.Size = UDim2.new(0.8, 0, 0, 30) speedInput.Position = UDim2.new(0.1, 0, 0.15, 0) speedInput.BackgroundColor3 = Color3.fromRGB(40, 40, 55) speedInput.Text = "50" speedInput.PlaceholderText = "Speed" speedInput.TextColor3 = Color3.new(1,1,1) Instance.new("UICorner", speedInput) -- ========== VARIABLES ========== local flying = false local noclip = false local flySpeed = 50 local bv, bg -- ========== FLY LOGIC ========== local function toggleFly() flying = not flying local char = LocalPlayer.Character if not char or not char:FindFirstChild("HumanoidRootPart") then return end if flying then bv = Instance.new("BodyVelocity", char.HumanoidRootPart) bv.MaxForce = Vector3.new(1e6, 1e6, 1e6) bv.Velocity = Vector3.new(0, 0, 0) bg = Instance.new("BodyGyro", char.HumanoidRootPart) bg.MaxTorque = Vector3.new(1e6, 1e6, 1e6) bg.P = 1e4 bg.CFrame = char.HumanoidRootPart.CFrame task.spawn(function() while flying do local cam = workspace.CurrentCamera bv.Velocity = cam.CFrame.LookVector * (char.Humanoid.MoveDirection.Magnitude > 0 and flySpeed or 0) bg.CFrame = cam.CFrame task.wait() end end) else if bv then bv:Destroy() end if bg then bg:Destroy() end end end -- ========== BUTTON CREATOR ========== local function createBtn(name, pos, color, callback) local btn = Instance.new("TextButton", main) btn.Size = UDim2.new(0.8, 0, 0, 30) btn.Position = pos btn.BackgroundColor3 = color btn.Text = name btn.TextColor3 = Color3.new(1,1,1) btn.Font = Enum.Font.GothamBold Instance.new("UICorner", btn) btn.MouseButton1Click:Connect(callback) return btn end -- Fly Toggle createBtn("TOGGLE FLY", UDim2.new(0.1, 0, 0.32, 0), Color3.fromRGB(50, 150, 50), toggleFly) -- UP (1 Stud) createBtn("UP (+1 Stud)", UDim2.new(0.1, 0, 0.49, 0), Color3.fromRGB(70, 70, 90), function() local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp then hrp.CFrame = hrp.CFrame * CFrame.new(0, 1, 0) end end) -- DOWN (1 Stud) createBtn("DOWN (-1 Stud)", UDim2.new(0.1, 0, 0.66, 0), Color3.fromRGB(70, 70, 90), function() local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp then hrp.CFrame = hrp.CFrame * CFrame.new(0, -1, 0) end end) -- NOCLIP createBtn("NOCLIP: OFF", UDim2.new(0.1, 0, 0.83, 0), Color3.fromRGB(150, 50, 50), function(self) noclip = not noclip main:FindFirstChild("NOCLIP: OFF" or "NOCLIP: ON").Text = noclip and "NOCLIP: ON" or "NOCLIP: OFF" end) -- Noclip Runner RunService.Stepped:Connect(function() if noclip and LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) -- Speed Updater speedInput.FocusLost:Connect(function() flySpeed = tonumber(speedInput.Text) or 50 end)