Ultimate script hub
Key RequiredUniversal

Ultimate script hub

Universal ScriptXenureXenure 11.4K views 1.8K executesUpdated Sep 25, 2025
3.8/ 5(4 votes)
3175% Positive
Lua Script•570 lines (18940 chars)
-- Script Hub using Fluent UI Library with Fixed Fly UI and Updated Scripts
-- Loads popular scripts and toggles Fly UI in Tools tab
-- Place this in a LocalScript or execute via your Roblox executor

-- Load Fluent UI Library with error handling
local success, Fluent = pcall(function()
    return loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
end)

if not success then
    game.StarterGui:SetCore("SendNotification", {
        Title = "Error",
        Text = "Failed to load Fluent UI Library. Check your executor or internet.",
        Duration = 5
    })
    return
end

-- Initialize Fluent Window
local Window = Fluent:CreateWindow({
    Title = "Ultimate Script Hub",
    SubTitle = "Execute Popular Scripts",
    TabWidth = 120,
    Size = UDim2.new(0, 500, 0, 400),
    Theme = "Dark",
    Acrylic = true,
    MinimizeKey = Enum.KeyCode.RightControl
})

-- Notify on successful load
Fluent:Notify({
    Title = "Script Hub Loaded",
    Content = "Select a script or tool to use.",
    Duration = 3
})

-- Main Scripts Tab
local successTab, ScriptsTab = pcall(function()
    return Window:AddTab({ Title = "Scripts", Icon = "code" })
end)

if not successTab then
    game.StarterGui:SetCore("SendNotification", {
        Title = "Error",
        Text = "Failed to create Scripts tab.",
        Duration = 5
    })
    return
end

-- Add Script Button with Enhanced Error Handling
local function addScriptButton(tab, name, description, url)
    local buttonSuccess, _ = pcall(function()
        tab:AddButton({
            Title = name,
            Description = description,
            Callback = function()
                local loadSuccess, result = pcall(function()
                    local scriptContent = game:HttpGet(url)
                    if not scriptContent or scriptContent == "" then
                        error("Empty or invalid script content")
                    end
                    local scriptFunc = loadstring(scriptContent)
                    if not scriptFunc then
                        error("Failed to compile script: nil returned")
                    end
                    scriptFunc()
                end)
                if loadSuccess then
                    Fluent:Notify({
                        Title = name .. " Loaded",
                        Content = name .. " executed successfully!",
                        Duration = 3
                    })
                else
                    Fluent:Notify({
                        Title = "Error",
                        Content = "Failed to load " .. name .. ": " .. tostring(result),
                        Duration = 5
                    })
                end
            end
        })
    end)
    if not buttonSuccess then
        Fluent:Notify({
            Title = "Error",
            Content = "Failed to add button for " .. name,
            Duration = 5
        })
    end
end

-- Popular Scripts (Verified and Updated)
addScriptButton(
    ScriptsTab,
    "Infinite Yield",
    "Admin commands with extensive features",
    "https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"
)

addScriptButton(
    ScriptsTab,
    "Orca Hub",
    "Free universal script hub",
    "https://raw.githubusercontent.com/richie0866/orca/master/public/snapshot.lua"
)

addScriptButton(
    ScriptsTab,
    "Owl Hub",
    "Supports 30+ games with cheats",
    "https://raw.githubusercontent.com/CriShoux/OwlHub/master/OwlHub.txt"
)

addScriptButton(
    ScriptsTab,
    "Dark Dex",
    "Advanced script explorer",
    "https://raw.githubusercontent.com/infyiff/backup/main/dex.lua"
)

addScriptButton(
    ScriptsTab,
    "SimpleSpy",
    "Lightweight remote event spy",
    "https://raw.githubusercontent.com/exxtremestuffs/SimpleSpySource/master/SimpleSpy.lua"
)

addScriptButton(
    ScriptsTab,
    "V.G Hub",
    "Multi-game hub with various exploits",
    "https://raw.githubusercontent.com/1201for/V.G-Hub/main/V.Ghub"
)

addScriptButton(
    ScriptsTab,
    "Hydroxide",
    "Remote spy and script injector",
    "https://raw.githubusercontent.com/Upbolt/Hydroxide/master/initiator.lua"
)

addScriptButton(
    ScriptsTab,
    "Eagle Hub",
    "Popular hub for multiple games",
    "https://raw.githubusercontent.com/LoomianLegacyAlways/Eagle-Hub/main/Eagle%20Hub"
)

addScriptButton(
    ScriptsTab,
    "Fate's Admin",
    "Command-based admin script",
    "https://raw.githubusercontent.com/fatesc/fates-admin/main/main.lua"
)

-- Tools Tab
local ToolsTab = Window:AddTab({ Title = "Tools", Icon = "wrench" })

-- Fly UI Integration
local function createFlyUI()
    local UserInputService = game:GetService("UserInputService")
    local Players = game:GetService("Players")
    local RunService = game:GetService("RunService")
    local TweenService = game:GetService("TweenService")

    local player = Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local humanoid = character:WaitForChild("Humanoid")
    local rootPart = character:WaitForChild("HumanoidRootPart")
    local camera = workspace.CurrentCamera

    -- Fly UI GUI Setup
    local gui = Instance.new("ScreenGui")
    gui.Name = "FlyUI"
    gui.ResetOnSpawn = false
    gui.Enabled = false -- Start hidden
    gui.Parent = player:WaitForChild("PlayerGui")

    local frame = Instance.new("Frame")
    frame.Size = UDim2.new(0, 200, 0, 150)
    frame.Position = UDim2.new(0, 20, 0, 20)
    frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    frame.BackgroundTransparency = 0.3
    frame.Parent = gui

    local uicorner = Instance.new("UICorner")
    uicorner.CornerRadius = UDim.new(0, 8)
    uicorner.Parent = frame

    -- Drag Bar
    local dragBar = Instance.new("Frame")
    dragBar.Size = UDim2.new(0, 145, 0, 20)
    dragBar.Position = UDim2.new(0, 15, 0, 5)
    dragBar.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
    dragBar.Parent = frame
    local dragCorner = Instance.new("UICorner")
    dragCorner.CornerRadius = UDim.new(0, 5)
    dragCorner.Parent = dragBar

    local dragLabel = Instance.new("TextLabel")
    dragLabel.Size = UDim2.new(1, 0, 1, 0)
    dragLabel.BackgroundTransparency = 1
    dragLabel.Text = "Drag"
    dragLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
    dragLabel.TextSize = 12
    dragLabel.Font = Enum.Font.SourceSans
    dragLabel.Parent = dragBar

    -- Minimize Button
    local minimizeButton = Instance.new("TextButton")
    minimizeButton.Size = UDim2.new(0, 25, 0, 25)
    minimizeButton.Position = UDim2.new(1, -30, 0, 5)
    minimizeButton.Text = "-"
    minimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
    minimizeButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    minimizeButton.TextSize = 14
    minimizeButton.Parent = frame
    local minimizeCorner = Instance.new("UICorner")
    minimizeCorner.CornerRadius = UDim.new(0, 5)
    minimizeCorner.Parent = minimizeButton

    -- Fly Toggle Button
    local flyButton = Instance.new("TextButton")
    flyButton.Size = UDim2.new(0, 170, 0, 40)
    flyButton.Position = UDim2.new(0, 15, 0, 35)
    flyButton.Text = "Fly: OFF"
    flyButton.TextColor3 = Color3.fromRGB(255, 255, 255)
    flyButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    flyButton.TextSize = 16
    flyButton.Parent = frame
    local flyCorner = Instance.new("UICorner")
    flyCorner.CornerRadius = UDim.new(0, 5)
    flyCorner.Parent = flyButton

    -- No-Clip Toggle Button
    local noClipButton = Instance.new("TextButton")
    noClipButton.Size = UDim2.new(0, 170, 0, 40)
    noClipButton.Position = UDim2.new(0, 15, 0, 80)
    noClipButton.Text = "No-Clip: OFF"
    noClipButton.TextColor3 = Color3.fromRGB(255, 255, 255)
    noClipButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    noClipButton.TextSize = 16
    noClipButton.Parent = frame
    local noClipCorner = Instance.new("UICorner")
    noClipCorner.CornerRadius = UDim.new(0, 5)
    noClipCorner.Parent = noClipButton

    -- Fly Speed Slider
    local speedLabel = Instance.new("TextLabel")
    speedLabel.Size = UDim2.new(0, 170, 0, 20)
    speedLabel.Position = UDim2.new(0, 15, 0, 120)
    speedLabel.Text = "Speed: 50"
    speedLabel.BackgroundTransparency = 1
    speedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
    speedLabel.TextSize = 14
    speedLabel.Parent = frame

    local sliderFrame = Instance.new("Frame")
    sliderFrame.Size = UDim2.new(0, 170, 0, 10)
    sliderFrame.Position = UDim2.new(0, 15, 0, 140)
    sliderFrame.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
    sliderFrame.Parent = frame
    local sliderCorner = Instance.new("UICorner")
    sliderCorner.CornerRadius = UDim.new(0, 5)
    sliderCorner.Parent = sliderFrame

    local sliderFill = Instance.new("Frame")
    sliderFill.Size = UDim2.new(0.5, 0, 1, 0)
    sliderFill.BackgroundColor3 = Color3.fromRGB(100, 100, 255)
    sliderFill.Parent = sliderFrame
    local fillCorner = Instance.new("UICorner")
    fillCorner.CornerRadius = UDim.new(0, 5)
    fillCorner.Parent = sliderFill

    -- Dragging Logic
    local dragging = false
    local dragStart = nil
    local startPos = nil

    dragBar.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = true
            dragStart = input.Position
            startPos = frame.Position
        end
    end)

    UserInputService.InputChanged:Connect(function(input)
        if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
            local delta = input.Position - dragStart
            local newPos = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
            frame.Position = newPos
        end
    end)

    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = false
        end
    end)

    -- Minimize/Maximize Logic
    local isMinimized = false
    local originalSize = frame.Size
    minimizeButton.MouseButton1Click:Connect(function()
        isMinimized = not isMinimized
        minimizeButton.Text = isMinimized and "+" or "-"
        local targetSize = isMinimized and UDim2.new(0, 200, 0, 30) or originalSize
        TweenService:Create(frame, TweenInfo.new(0.3), {Size = targetSize}):Play()
        dragBar.Visible = not isMinimized
        flyButton.Visible = not isMinimized
        noClipButton.Visible = not isMinimized
        speedLabel.Visible = not isMinimized
        sliderFrame.Visible = not isMinimized
    end)

    -- Fly Variables
    local isFlying = false
    local isNoClip = false
    local flySpeed = 50
    local bodyVelocity = nil
    local bodyGyro = nil
    local moveDirection = Vector3.new(0, 0, 0)

    -- Fly Function
    local function startFlying()
        if not isFlying then
            isFlying = true
            flyButton.Text = "Fly: ON"
            flyButton.BackgroundColor3 = Color3.fromRGB(60, 100, 60)
            humanoid.PlatformStand = true
            humanoid.WalkSpeed = 0
            bodyVelocity = Instance.new("BodyVelocity")
            bodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
            bodyVelocity.Velocity = Vector3.new(0, 0, 0)
            bodyVelocity.Parent = rootPart

            bodyGyro = Instance.new("BodyGyro")
            bodyGyro.MaxTorque = Vector3.new(4000, 4000, 4000)
            bodyGyro.CFrame = camera.CFrame
            bodyGyro.Parent = rootPart
        end
    end

    local function stopFlying()
        if isFlying then
            isFlying = false
            flyButton.Text = "Fly: OFF"
            flyButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
            humanoid.PlatformStand = false
            humanoid.WalkSpeed = 16
            if bodyVelocity then
                bodyVelocity:Destroy()
                bodyVelocity = nil
            end
            if bodyGyro then
                bodyGyro:Destroy()
                bodyGyro = nil
            end
        end
    end

    -- No-Clip Function
    local function setNoClip(state)
        isNoClip = state
        noClipButton.Text = "No-Clip: " .. (state and "ON" or "OFF")
        noClipButton.BackgroundColor3 = state and Color3.fromRGB(60, 100, 60) or Color3.fromRGB(50, 50, 50)
        for _, part in pairs(character:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = not state
            end
        end
    end

    -- Fly Movement
    RunService.RenderStepped:Connect(function()
        if isFlying and bodyVelocity and bodyGyro then
            bodyGyro.CFrame = camera.CFrame
            local velocity = camera.CFrame:VectorToWorldSpace(moveDirection * flySpeed)
            bodyVelocity.Velocity = velocity
        end
    end)

    -- Input Handling
    local inputStates = {}
    UserInputService.InputBegan:Connect(function(input, gameProcessed)
        if gameProcessed then return end
        if isFlying then
            if input.KeyCode == Enum.KeyCode.W then
                inputStates.W = true
            elseif input.KeyCode == Enum.KeyCode.S then
                inputStates.S = true
            elseif input.KeyCode == Enum.KeyCode.A then
                inputStates.A = true
            elseif input.KeyCode == Enum.KeyCode.D then
                inputStates.D = true
            elseif input.KeyCode == Enum.KeyCode.Space then
                inputStates.Space = true
            elseif input.KeyCode == Enum.KeyCode.LeftShift then
                inputStates.LeftShift = true
            end
        end
    end)

    UserInputService.InputEnded:Connect(function(input)
        if isFlying then
            if input.KeyCode == Enum.KeyCode.W then
                inputStates.W = false
            elseif input.KeyCode == Enum.KeyCode.S then
                inputStates.S = false
            elseif input.KeyCode == Enum.KeyCode.A then
                inputStates.A = false
            elseif input.KeyCode == Enum.KeyCode.D then
                inputStates.D = false
            elseif input.KeyCode == Enum.KeyCode.Space then
                inputStates.Space = false
            elseif input.KeyCode == Enum.KeyCode.LeftShift then
                inputStates.LeftShift = false
            end
        end
    end)

    RunService.Heartbeat:Connect(function()
        if isFlying then
            moveDirection = Vector3.new(
                (inputStates.A and -1 or 0) + (inputStates.D and 1 or 0),
                (inputStates.Space and 1 or 0) + (inputStates.LeftShift and -1 or 0),
                (inputStates.W and -1 or 0) + (inputStates.S and 1 or 0)
            )
        end
    end)

    -- Button Connections
    flyButton.MouseButton1Click:Connect(function()
        if isFlying then
            stopFlying()
        else
            startFlying()
        end
    end)

    noClipButton.MouseButton1Click:Connect(function()
        setNoClip(not isNoClip)
    end)

    -- Speed Slider Logic
    local sliderDragging = false
    sliderFrame.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            sliderDragging = true
        end
    end)

    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            sliderDragging = false
        end
    end)

    UserInputService.InputChanged:Connect(function(input)
        if sliderDragging and input.UserInputType == Enum.UserInputType.MouseMovement then
            local mousePos = UserInputService:GetMouseLocation()
            local sliderPos = sliderFrame.AbsolutePosition
            local sliderWidth = sliderFrame.AbsoluteSize.X
            local relativePos = math.clamp((mousePos.X - sliderPos.X) / sliderWidth, 0, 1)
            flySpeed = 20 + relativePos * 130
            speedLabel.Text = "Speed: " .. math.floor(flySpeed)
            sliderFill.Size = UDim2.new(relativePos, 0, 1, 0)
        end
    end)

    -- Cleanup on character reset
    player.CharacterAdded:Connect(function(newCharacter)
        character = newCharacter
        humanoid = character:WaitForChild("Humanoid")
        rootPart = character:WaitForChild("HumanoidRootPart")
        stopFlying()
        setNoClip(false)
    end)

    -- Function to toggle Fly UI visibility
    local function toggleFlyUI()
        gui.Enabled = not gui.Enabled
        Fluent:Notify({
            Title = "Fly UI",
            Content = gui.Enabled and "Fly UI opened!" or "Fly UI closed!",
            Duration = 3
        })
    end

    -- Return toggle function and GUI for management
    return toggleFlyUI, gui
end

-- Simple Fly Button in Tools Tab
local flyUIToggle = nil
local flyUIGui = nil
ToolsTab:AddButton({
    Title = "Simple Fly",
    Description = "Toggle custom Fly UI with no-clip and speed controls",
    Callback = function()
        local success, result = pcall(function()
            if not flyUIToggle then
                -- Create Fly UI if it doesn't exist
                flyUIToggle, flyUIGui = createFlyUI()
                flyUIGui.Enabled = true -- Ensure it opens on first click
                Fluent:Notify({
                    Title = "Fly UI",
                    Content = "Fly UI created and opened!",
                    Duration = 3
                })
            else
                -- Toggle existing Fly UI
                flyUIToggle()
            end
        end)
        if not success then
            Fluent:Notify({
                Title = "Error",
                Content = "Failed to load Fly UI: " .. tostring(result),
                Duration = 5
            })
        end
    end
})

-- Settings Tab
local SettingsTab = Window:AddTab({ Title = "Settings", Icon = "settings" })

SettingsTab:AddToggle({
    Title = "Dark Mode",
    Description = "Toggle between light and dark theme",
    Default = true,
    Callback = function(value)
        Fluent.Options.Theme = value and "Dark" or "Light"
        Fluent:Notify({
            Title = "Theme Changed",
            Content = "Theme set to " .. (value and "Dark" or "Light"),
            Duration = 3
        })
    end
})

SettingsTab:AddButton({
    Title = "Unload Hub",
    Description = "Close the script hub and Fly UI",
    Callback = function()
        -- Destroy Fly UI if it exists
        if flyUIGui then
            flyUIGui:Destroy()
            flyUIToggle = nil
            flyUIGui = nil
        end
        Window:Destroy()
        game.StarterGui:SetCore("SendNotification", {
            Title = "Unloaded",
            Text = "Script Hub and Fly UI have been closed.",
            Duration = 3
        })
    end
})

-- Debugging Notification
Fluent:Notify({
    Title = "UI Initialized",
    Content = "If tabs/buttons or Fly UI are missing, check your executor or try again.",
    Duration = 5
})

Features & Information

OPEN SOURCE and KEYLESS includes: Owl hub-- aimbot Infinite yeild hydroxide eagle hub fates admin simple spy orca hub v.g hub CUSTOM FLY SYSTEM made by me :D
#free#fly#keyless#hub#scripthub

Community Comments (1)

vaxtalastusvaxtalastusSep 26, 2025

thx for free src

More Scripts for Universal Scripts