
KeylessUniversal

-- 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
})



thx for free src