Xdemic fly and noclip gui
Key RequiredUniversal

Xdemic fly and noclip gui

Universal ScriptSkihubdevkaiserSkihubdevkaiser 920 views 3.7K executesUpdated Apr 5, 2026
Unrated
00
Lua Script•123 lines (4145 chars)
-- ========== 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)

Features & Information

Made my kaiser if u want access to my scripts pre alpha contact me on discord kaiserrr0318 Thank you a lot ❤️

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts