
KeylessUniversal

--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
-- 561 Hub Launcher (Fully Integrated with Intro Image)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")
-- ===== INTRO IMAGE SETTINGS =====
local INTRO_IMAGE_ID = "115674173433831" -- your image
local INTRO_DURATION = 4 -- how many seconds it stays (change to 0 to wait forever)
local FADE_TIME = 0.5
-- Remove old intro if it exists
if CoreGui:FindFirstChild("IntroImageGUI") then
CoreGui.IntroImageGUI:Destroy()
end
local introGui = Instance.new("ScreenGui")
introGui.Name = "IntroImageGUI"
introGui.IgnoreGuiInset = true
introGui.ResetOnSpawn = false
introGui.Parent = CoreGui
local introImage = Instance.new("ImageLabel")
introImage.Size = UDim2.new(1, 0, 1, 0)
introImage.Position = UDim2.new(0, 0, 0, 0)
introImage.BackgroundTransparency = 1
introImage.Image = "rbxassetid://" .. INTRO_IMAGE_ID
introImage.ScaleType = Enum.ScaleType.Stretch
introImage.ImageTransparency = 1
introImage.Parent = introGui
-- Fade in
TweenService:Create(introImage, TweenInfo.new(FADE_TIME), {ImageTransparency = 0}):Play()
-- If you want the intro to wait for a click instead of a timer, set INTRO_DURATION = 0 and uncomment the mouse click block below:
-- introImage.InputBegan:Connect(function(input)
-- if input.UserInputType == Enum.UserInputType.MouseButton1 then
-- TweenService:Create(introImage, TweenInfo.new(FADE_TIME), {ImageTransparency = 1}):Play()
-- task.delay(FADE_TIME + 0.05, function() if introGui and introGui.Parent then introGui:Destroy() end showLauncher() end)
-- end
-- end)
-- ===== SHOW LAUNCHER (contains your full Fluent & Rayfield code) =====
local function showLauncher()
-- Launcher GUI
local ChoiceGui = Instance.new("ScreenGui")
ChoiceGui.Name = "HubLauncher"
ChoiceGui.ResetOnSpawn = false
ChoiceGui.Parent = PlayerGui
local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 300, 0, 150)
Frame.Position = UDim2.new(0.5, -150, 0.5, -75)
Frame.BackgroundColor3 = Color3.fromRGB(35,35,35)
Frame.BorderSizePixel = 0
Frame.Parent = ChoiceGui
local UIText = Instance.new("TextLabel")
UIText.Size = UDim2.new(1, 0, 0, 50)
UIText.Position = UDim2.new(0,0,0,0)
UIText.BackgroundTransparency = 1
UIText.Text = "Select GUI to Load"
UIText.TextColor3 = Color3.fromRGB(255,255,255)
UIText.Font = Enum.Font.SourceSansBold
UIText.TextScaled = true
UIText.Parent = Frame
local function createButton(name, positionY, callback)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 260, 0, 40)
btn.Position = UDim2.new(0, 20, 0, positionY)
btn.BackgroundColor3 = Color3.fromRGB(50,50,50)
btn.TextColor3 = Color3.fromRGB(255,255,255)
btn.Font = Enum.Font.SourceSansBold
btn.TextScaled = true
btn.Text = name
btn.Parent = Frame
btn.MouseButton1Click:Connect(function()
ChoiceGui:Destroy()
callback()
end)
end
-- ===== FLUENT SCRIPT =====
local function loadFluent()
local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
local SaveManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/SaveManager.lua"))()
local InterfaceManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/InterfaceManager.lua"))()
local Window = Fluent:CreateWindow({
Title = "561 Hub🔥 by fntbandoo",
SubTitle = "Fntbandoo Script Hub",
TabWidth = 160,
Size = UDim2.fromOffset(580, 460),
Acrylic = true,
Theme = "Dark",
MinimizeKey = Enum.KeyCode.RightShift
})
local Tabs = {
Main = Window:AddTab({ Title = "Main", Icon = "" }),
Misc = Window:AddTab({ Title = "Misc", Icon = "" }),
Settings = Window:AddTab({ Title = "Settings", Icon = "settings" }),
Discord = Window:AddTab({ Title = "Discord", Icon = "discord" })
}
-- Variables
local espEnabled = false
local noclipEnabled = false
local antiKickEnabled = false
local antiAFKEnabled = false
local savedPosition = nil
local speedInput, jumpInput = 16, 50
-- ===== FUNCTIONS =====
local function applyESP(player)
if player == Players.LocalPlayer then return end
if not player.Character then return end
if player.Character:FindFirstChild("ESP_Highlight") then player.Character.ESP_Highlight:Destroy() end
if player.Character:FindFirstChild("ESP_Name") then player.Character.ESP_Name:Destroy() end
if not espEnabled then return end
local highlight = Instance.new("Highlight")
highlight.Name = "ESP_Highlight"
highlight.FillColor = Color3.new(1,1,1)
highlight.FillTransparency = 0.5
highlight.OutlineColor = Color3.new(0,0,0)
highlight.OutlineTransparency = 0
highlight.Adornee = player.Character
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = player.Character
local billboard = Instance.new("BillboardGui")
billboard.Name = "ESP_Name"
billboard.Size = UDim2.new(0, 60, 0, 15)
billboard.Adornee = player.Character:FindFirstChild("HumanoidRootPart") or player.Character.PrimaryPart
billboard.AlwaysOnTop = true
billboard.StudsOffset = Vector3.new(0, 3, 0)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1,0,1,0)
label.BackgroundTransparency = 1
label.Text = player.DisplayName
label.TextColor3 = Color3.new(1,1,1)
label.TextStrokeTransparency = 0
label.TextStrokeColor3 = Color3.new(0,0,0)
label.Font = Enum.Font.SourceSansBold
label.TextScaled = true
label.Parent = billboard
billboard.Parent = player.Character
end
-- Toggle ESP
local function toggleESP(state)
espEnabled = state
for _, v in pairs(Players:GetPlayers()) do
applyESP(v)
v.CharacterAdded:Connect(function()
task.wait(1)
if espEnabled then applyESP(v) end
end)
end
end
-- Noclip
game:GetService("RunService").Stepped:Connect(function()
if noclipEnabled and LocalPlayer.Character then
for _, part in pairs(LocalPlayer.Character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end)
-- Anti-Kick
local function toggleAntiKick(state)
antiKickEnabled = state
if antiKickEnabled then
local mt = getrawmetatable(game)
setreadonly(mt,false)
local old = mt.__namecall
mt.__namecall = newcclosure(function(self,...)
local method = getnamecallmethod()
if tostring(self) == "Kick" or tostring(self) == "Ban" then return end
return old(self,...)
end)
setreadonly(mt,true)
end
end
-- Anti-AFK
local function toggleAntiAFK(state)
antiAFKEnabled = state
if state then
LocalPlayer.Idled:Connect(function()
if antiAFKEnabled then
game:GetService("VirtualUser"):CaptureController()
game:GetService("VirtualUser"):ClickButton2(Vector2.new())
end
end)
end
end
-- Teleport to player
local function teleportToPlayer(plr)
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
LocalPlayer.Character.HumanoidRootPart.CFrame = plr.Character.HumanoidRootPart.CFrame + Vector3.new(0,3,0)
Fluent:Notify({Title="561 Hub🔥", Content="Teleported to "..plr.DisplayName, Duration=3})
end
end
-- Fly GUI
local function runFlyGUI()
pcall(function()
loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Gui-Fly-v3-37111", true))()
end)
end
-- Mobile Aimbot
local function runAimbot()
pcall(function()
loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Aimbot-Mobile-34677", true))()
end)
end
-- Server Hop
local function fetchServers(placeId, sortOrder)
local url = "https://games.roblox.com/v1/games/"..placeId.."/servers/Public?sortOrder="..sortOrder.."&limit=100"
local response
if http_request then
response = http_request({Url=url, Method="GET"})
elseif syn and syn.request then
response = syn.request({Url=url, Method="GET"})
else
Fluent:Notify({Title="561 Hub🔥", Content="Executor does not support server hopping.", Duration=3})
return nil
end
if response and response.Body then
return game:GetService("HttpService"):JSONDecode(response.Body).data
end
return nil
end
local function joinServer(serverId)
game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, serverId, LocalPlayer)
end
local function joinLowestServer()
local servers = fetchServers(game.PlaceId, "Asc")
if servers and #servers > 0 then joinServer(servers[1].id) end
end
local function joinHighestServer()
local servers = fetchServers(game.PlaceId, "Desc")
if servers and #servers > 0 then joinServer(servers[1].id) end
end
-- ===== Tabs Setup =====
Tabs.Main:AddToggle("ESP", {Title="ESP", Default=false}):OnChanged(toggleESP)
Tabs.Main:AddToggle("Noclip", {Title="Noclip", Default=false}):OnChanged(function(v) noclipEnabled=v end)
Tabs.Main:AddButton({Title="Mobile Aimbot", Callback=runAimbot})
Tabs.Main:AddButton({Title="Fly GUI V3", Callback=runFlyGUI})
Tabs.Main:AddToggle("AntiKick", {Title="Anti-Kick & Ban", Default=false}):OnChanged(toggleAntiKick)
Tabs.Main:AddParagraph({Title="Teleport to Players", Content="Select a player below:"})
for _, plr in pairs(Players:GetPlayers()) do
if plr ~= LocalPlayer then
Tabs.Main:AddButton({Title=plr.DisplayName, Callback=function() teleportToPlayer(plr) end})
end
end
Players.PlayerAdded:Connect(function(plr)
if plr ~= LocalPlayer then
Tabs.Main:AddButton({Title=plr.DisplayName, Callback=function() teleportToPlayer(plr) end})
end
end)
-- Misc Tab
Tabs.Misc:AddInput("SpeedInput",{Title="Speed", Default="16", Numeric=true}):OnChanged(function(v) speedInput = tonumber(v) or 16 end)
Tabs.Misc:AddInput("JumpInput",{Title="Jump Power", Default="50", Numeric=true}):OnChanged(function(v) jumpInput = tonumber(v) or 50 end)
Tabs.Misc:AddButton({Title="Apply", Callback=function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
hum.WalkSpeed = speedInput
hum.JumpPower = jumpInput
Fluent:Notify({Title="561 Hub🔥", Content="Speed & JumpPower applied!", Duration=3})
end
end})
Tabs.Misc:AddButton({Title="Save Position", Callback=function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
savedPosition = LocalPlayer.Character.HumanoidRootPart.CFrame
Fluent:Notify({Title="561 Hub🔥", Content="Position saved!", Duration=3})
end
end})
Tabs.Misc:AddButton({Title="Teleport to Saved Position", Callback=function()
if savedPosition and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
LocalPlayer.Character.HumanoidRootPart.CFrame = savedPosition
Fluent:Notify({Title="561 Hub🔥", Content="Teleported to saved position!", Duration=3})
else
Fluent:Notify({Title="561 Hub🔥", Content="No position saved!", Duration=3})
end
end})
-- Discord Tab
Tabs.Discord:AddButton({Title="Copy Discord Link", Callback=function()
if setclipboard then
setclipboard("https://discord.gg/9hquecNc")
Fluent:Notify({Title="561 Hub🔥", Content="Discord link copied!", Duration=3})
else
Fluent:Notify({Title="561 Hub🔥", Content="Executor does not support clipboard.", Duration=3})
end
end})
-- Settings Tab
Tabs.Settings:AddToggle({Title="Anti-AFK", Default=false}):OnChanged(toggleAntiAFK)
Tabs.Settings:AddButton({Title="Join Lowest Server", Callback=joinLowestServer})
Tabs.Settings:AddButton({Title="Join Highest Server", Callback=joinHighestServer})
-- Save/Load Config
SaveManager:SetLibrary(Fluent)
InterfaceManager:SetLibrary(Fluent)
SaveManager:IgnoreThemeSettings()
SaveManager:SetFolder("561HubFluent")
InterfaceManager:SetFolder("561HubFluent/interface")
InterfaceManager:BuildInterfaceSection(Tabs.Settings)
SaveManager:BuildConfigSection(Tabs.Settings)
SaveManager:LoadAutoloadConfig()
Fluent:Notify({Title="561 Hub🔥", Content="Fluent GUI Fully Loaded!", Duration=5})
end
-- ===== RAYFIELD SCRIPT =====
local function loadRayfield()
local success, Rayfield = pcall(function()
return loadstring(game:HttpGet("https://sirius.menu/rayfield"))()
end)
if not success then
warn("Rayfield failed to load. Executor may not support it.")
return
end
local espEnabled = false
local noclipEnabled = false
local antiKickEnabled = false
local antiAFKEnabled = false
local savedPosition = nil
local speedInput, jumpInput = 16, 50
-- ===== ESP =====
local function applyESP(player)
if player == Players.LocalPlayer then return end
if not player.Character then return end
if player.Character:FindFirstChild("ESP_Highlight") then player.Character.ESP_Highlight:Destroy() end
if player.Character:FindFirstChild("ESP_Name") then player.Character.ESP_Name:Destroy() end
if not espEnabled then return end
local highlight = Instance.new("Highlight")
highlight.Name = "ESP_Highlight"
highlight.FillColor = Color3.new(1,1,1)
highlight.FillTransparency = 0.5
highlight.OutlineColor = Color3.new(0,0,0)
highlight.OutlineTransparency = 0
highlight.Adornee = player.Character
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Parent = player.Character
local billboard = Instance.new("BillboardGui")
billboard.Name = "ESP_Name"
billboard.Size = UDim2.new(0, 60, 0, 15)
billboard.Adornee = player.Character:FindFirstChild("HumanoidRootPart") or player.Character.PrimaryPart
billboard.AlwaysOnTop = true
billboard.StudsOffset = Vector3.new(0, 3, 0)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1,0,1,0)
label.BackgroundTransparency = 1
label.Text = player.DisplayName
label.TextColor3 = Color3.new(1,1,1)
label.TextStrokeTransparency = 0
label.TextStrokeColor3 = Color3.new(0,0,0)
label.Font = Enum.Font.SourceSansBold
label.TextScaled = true
label.Parent = billboard
billboard.Parent = player.Character
end
local function toggleESP(state)
espEnabled = state
for _, v in pairs(Players:GetPlayers()) do
applyESP(v)
v.CharacterAdded:Connect(function()
task.wait(1)
if espEnabled then applyESP(v) end
end)
end
end
-- Noclip
game:GetService("RunService").Stepped:Connect(function()
if noclipEnabled and LocalPlayer.Character then
for _, part in pairs(LocalPlayer.Character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end)
-- Mobile Aimbot
local function runAimbot()
pcall(function()
loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Aimbot-Mobile-34677", true))()
end)
end
-- Fly GUI
local function runFlyGUI()
pcall(function()
loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Gui-Fly-v3-37111", true))()
end)
end
-- Anti-Kick
local function toggleAntiKick(state)
antiKickEnabled = state
if antiKickEnabled then
local mt = getrawmetatable(game)
setreadonly(mt,false)
local old = mt.__namecall
mt.__namecall = newcclosure(function(self,...)
local method = getnamecallmethod()
if tostring(self) == "Kick" or tostring(self) == "Ban" then return end
return old(self,...)
end)
setreadonly(mt,true)
end
end
-- GUI Setup
local Window = Rayfield:CreateWindow({
Name = "561 Hub🔥",
LoadingTitle = "561 Hub🔥",
LoadingSubtitle = "Fntmistik / fntbandz made ts",
ConfigurationSaving = {Enabled = true, FolderName = "561HubRayfield", FileName = "MainConfig"},
KeySystem = false
})
-- Main Tab
local MainTab = Window:CreateTab("Main")
MainTab:CreateToggle({Name="ESP", CurrentValue=false, Flag="ESP_Toggle", Callback=toggleESP})
MainTab:CreateToggle({Name="Noclip", CurrentValue=false, Flag="Noclip_Toggle", Callback=function(s) noclipEnabled=s end})
MainTab:CreateButton({Name="Mobile Aimbot", Callback=runAimbot})
MainTab:CreateButton({Name="Fly GUI V3", Callback=runFlyGUI})
MainTab:CreateToggle({Name="Anti-Kick & Ban", CurrentValue=false, Flag="AntiKick_Toggle", Callback=toggleAntiKick})
-- Teleport to Players
MainTab:CreateSection("Teleport to Players")
local TeleportFolder = Instance.new("Folder")
local function refreshTeleportButtons()
for _, btn in ipairs(TeleportFolder:GetChildren()) do btn:Destroy() end
for _, plr in pairs(Players:GetPlayers()) do
if plr ~= LocalPlayer then
local newBtn = MainTab:CreateButton({
Name = plr.DisplayName,
Callback = function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
LocalPlayer.Character.HumanoidRootPart.CFrame = plr.Character.HumanoidRootPart.CFrame + Vector3.new(0,3,0)
Rayfield:Notify({Title="561 Hub🔥", Content="Teleported to "..plr.DisplayName, Duration=3})
end
end
})
newBtn.Parent = TeleportFolder
end
end
end
Players.PlayerAdded:Connect(refreshTeleportButtons)
Players.PlayerRemoving:Connect(refreshTeleportButtons)
refreshTeleportButtons()
-- Misc Tab
local MiscTab = Window:CreateTab("Misc")
MiscTab:CreateInput({Name="Speed", PlaceholderText="16", NumberOnly=true, Callback=function(v) speedInput = tonumber(v) or 16 end})
MiscTab:CreateInput({Name="Jump Power", PlaceholderText="50", NumberOnly=true, Callback=function(v) jumpInput = tonumber(v) or 50 end})
MiscTab:CreateButton({Name="Apply", Callback=function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
hum.WalkSpeed = speedInput
hum.JumpPower = jumpInput
Rayfield:Notify({Title="561 Hub🔥", Content="Speed and Jump Power applied!", Duration=3})
end
end})
local savedPosition = nil
MiscTab:CreateButton({Name="Save Position", Callback=function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
savedPosition = LocalPlayer.Character.HumanoidRootPart.CFrame
Rayfield:Notify({Title="561 Hub🔥", Content="Position saved!", Duration=3})
end
end})
MiscTab:CreateButton({Name="Teleport to Saved Position", Callback=function()
if savedPosition and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
LocalPlayer.Character.HumanoidRootPart.CFrame = savedPosition
Rayfield:Notify({Title="561 Hub🔥", Content="Teleported to saved position!", Duration=3})
else
Rayfield:Notify({Title="561 Hub🔥", Content="No position saved yet!", Duration=3})
end
end})
-- Discord Tab
local DiscordTab = Window:CreateTab("Discord")
DiscordTab:CreateButton({Name="Copy Discord Link", Callback=function()
if setclipboard then
setclipboard("https://discord.gg/9hquecNc")
Rayfield:Notify({Title="561 Hub🔥", Content="Discord link copied!", Duration=3})
else
Rayfield:Notify({Title="561 Hub🔥", Content="Executor does not support clipboard.", Duration=3})
end
end})
-- Settings Tab
local SettingsTab = Window:CreateTab("Settings")
local antiAFKEnabled = false
SettingsTab:CreateToggle({Name = "Anti-AFK", CurrentValue = false, Flag = "AntiAFK", Callback = function(value)
antiAFKEnabled = value
if value then
LocalPlayer.Idled:Connect(function()
if antiAFKEnabled then
game:GetService("VirtualUser"):CaptureController()
game:GetService("VirtualUser"):ClickButton2(Vector2.new())
end
end)
end
end})
-- Server Hop Buttons
local function fetchServers(placeId, sortOrder)
local url = "https://games.roblox.com/v1/games/"..placeId.."/servers/Public?sortOrder="..sortOrder.."&limit=100"
local response
if http_request then
response = http_request({Url=url, Method="GET"})
elseif syn and syn.request then
response = syn.request({Url=url, Method="GET"})
else
Rayfield:Notify({Title="561 Hub🔥", Content="Executor does not support server hopping.", Duration=3})
return nil
end
if response and response.Body then
return game:GetService("HttpService"):JSONDecode(response.Body).data
end
return nil
end
local function joinServer(serverId)
game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, serverId, LocalPlayer)
end
local function joinLowestServer()
local servers = fetchServers(game.PlaceId, "Asc")
if servers and #servers > 0 then joinServer(servers[1].id) end
end
local function joinHighestServer()
local servers = fetchServers(game.PlaceId, "Desc")
if servers and #servers > 0 then joinServer(servers[1].id) end
end
SettingsTab:CreateButton({Name="Join Lowest Server", Callback=joinLowestServer})
SettingsTab:CreateButton({Name="Join Highest Server", Callback=joinHighestServer})
Rayfield:Notify({Title="561 Hub🔥", Content="Rayfield GUI Fully Loaded!", Duration=3})
end
-- ===== Launcher Buttons =====
createButton("Fluent GUI Version", 60, loadFluent)
createButton("Rayfield GUI Version", 110, loadRayfield)
end
-- Run: wait then fade out intro, then show launcher
if INTRO_DURATION > 0 then
task.delay(INTRO_DURATION, function()
TweenService:Create(introImage, TweenInfo.new(FADE_TIME), {ImageTransparency = 1}):Play()
task.delay(FADE_TIME + 0.05, function()
if introGui and introGui.Parent then introGui:Destroy() end
pcall(showLauncher)
end)
end)
else
-- if INTRO_DURATION == 0, wait for fade-in to finish then wait for click or manual close (default: show immediately after fade-in)
task.delay(FADE_TIME + 0.05, function()
if introGui and introGui.Parent then introGui:Destroy() end
pcall(showLauncher)
end)
end



new updates coming even steal a brainrot and yuhh