
KeylessUniversal

local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
local InterfaceManager = loadstring(game:HttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/InterfaceManager.lua"))()
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local VirtualUser = game:GetService("VirtualUser")
local Lighting = game:GetService("Lighting")
local TeleportService = game:GetService("TeleportService")
local HttpService = game:GetService("HttpService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local Window = Fluent:CreateWindow({
Title = "Software Hub",
SubTitle = "v1.0",
TabWidth = 160,
Size = UDim2.fromOffset(580, 460),
Acrylic = true,
Theme = "Darker",
MinimizeKey = Enum.KeyCode.LeftControl
})
local Tabs = {
Aim = Window:AddTab({ Title = "Aim", Icon = "crosshair" }),
Visual = Window:AddTab({ Title = "Visual", Icon = "eye" }),
Misc = Window:AddTab({ Title = "Misc", Icon = "layout-list" }),
ScriptHub = Window:AddTab({ Title = "Script Hub", Icon = "book-open" }),
Setting = Window:AddTab({ Title = "Setting", Icon = "settings" }),
}
-- =============================================
-- AIM TAB
-- =============================================
Tabs.Aim:AddSection("Aimbot")
local AimbotToggle = Tabs.Aim:AddToggle("AimbotEnabled", {
Title = "Aimbot Enable",
Description = "Automatically aim at the nearest player",
Default = false,
Callback = function() end
})
local AimKeyDropdown = Tabs.Aim:AddDropdown("AimKey", {
Title = "Aim Key",
Description = "Hold this key to activate aimbot",
Values = { "RMB (Right Click)", "LMB (Left Click)", "E", "Q", "F", "CapsLock", "Always On" },
Default = 1,
Callback = function() end
})
local SilentAimToggle = Tabs.Aim:AddToggle("SilentAim", {
Title = "Silent Aimbot",
Description = "Redirects bullets to the nearest player",
Default = false,
Callback = function() end
})
local TeamCheckToggle = Tabs.Aim:AddToggle("TeamCheck", {
Title = "Team Check",
Description = "Don't aim at teammates",
Default = false,
Callback = function() end
})
Tabs.Aim:AddSection("FOV")
local FOVToggle = Tabs.Aim:AddToggle("FOVEnabled", {
Title = "FOV Circle",
Description = "Draw an FOV circle on your screen",
Default = false,
Callback = function() end
})
local FOVSizeSlider = Tabs.Aim:AddSlider("FOVSize", {
Title = "FOV Size",
Description = "Radius of the FOV circle",
Default = 150,
Min = 50,
Max = 500,
Rounding = 0,
Callback = function() end
})
local SmoothnessSlider = Tabs.Aim:AddSlider("Smoothness", {
Title = "Smoothness",
Description = "Higher = slower aim",
Default = 5,
Min = 1,
Max = 20,
Rounding = 0,
Callback = function() end
})
Tabs.Aim:AddSection("Advanced")
local AimPartDropdown = Tabs.Aim:AddDropdown("AimPart", {
Title = "Aim Part",
Description = "Target body part to aim at",
Values = { "Head", "HumanoidRootPart" },
Default = 1,
Callback = function() end
})
-- =============================================
-- AIM SYSTEM
-- =============================================
local FOVCircle = Drawing.new("Circle")
FOVCircle.Visible = false
FOVCircle.Thickness = 1.5
FOVCircle.Color = Color3.fromRGB(255, 255, 255)
FOVCircle.Filled = false
FOVCircle.Transparency = 1
local AimKeyHeld = false
local AimKeyMap = {
["E"] = Enum.KeyCode.E,
["Q"] = Enum.KeyCode.Q,
["F"] = Enum.KeyCode.F,
["CapsLock"] = Enum.KeyCode.CapsLock,
}
local function IsSameTeam(player)
if not TeamCheckToggle.Value then return false end
local lt = LocalPlayer.Team
local tt = player.Team
if lt and tt then return lt == tt end
local ltc = LocalPlayer.TeamColor
local ttc = player.TeamColor
if ltc and ttc then return ltc == ttc end
pcall(function()
local lChar = LocalPlayer.Character
local tChar = player.Character
if lChar and tChar then
local lBC = lChar:FindFirstChildOfClass("BodyColors")
local tBC = tChar:FindFirstChildOfClass("BodyColors")
if lBC and tBC then
if lBC.TorsoColor == tBC.TorsoColor then return true end
end
end
end)
return false
end
UserInputService.InputBegan:Connect(function(input, gpe)
if gpe then return end
local key = AimKeyDropdown.Value or "RMB (Right Click)"
if key == "RMB (Right Click)" and input.UserInputType == Enum.UserInputType.MouseButton2 then
AimKeyHeld = true
elseif key == "LMB (Left Click)" and input.UserInputType == Enum.UserInputType.MouseButton1 then
AimKeyHeld = true
elseif key == "Always On" then
AimKeyHeld = true
else
local kc = AimKeyMap[key]
if kc and input.KeyCode == kc then AimKeyHeld = true end
end
end)
UserInputService.InputEnded:Connect(function(input)
local key = AimKeyDropdown.Value or "RMB (Right Click)"
if key == "Always On" then return end
if key == "RMB (Right Click)" and input.UserInputType == Enum.UserInputType.MouseButton2 then
AimKeyHeld = false
elseif key == "LMB (Left Click)" and input.UserInputType == Enum.UserInputType.MouseButton1 then
AimKeyHeld = false
else
local kc = AimKeyMap[key]
if kc and input.KeyCode == kc then AimKeyHeld = false end
end
end)
local function GetClosestTarget(partOverride)
local cam = Camera
local center = Vector2.new(cam.ViewportSize.X / 2, cam.ViewportSize.Y / 2)
local fov = FOVSizeSlider.Value
local part = partOverride or AimPartDropdown.Value or "Head"
local closest, minDist = nil, math.huge
for _, plr in ipairs(Players:GetPlayers()) do
if plr == LocalPlayer then continue end
if IsSameTeam(plr) then continue end
local char = plr.Character
if not char then continue end
local hum = char:FindFirstChildOfClass("Humanoid")
local tp = char:FindFirstChild(part)
if not hum or not tp then continue end
if hum.Health <= 0 then continue end
local vp, visible = cam:WorldToViewportPoint(tp.Position)
if not visible then continue end
local dist = (Vector2.new(vp.X, vp.Y) - center).Magnitude
if dist < fov and dist < minDist then
minDist = dist
closest = tp
end
end
return closest
end
-- Silent Aim
RunService.RenderStepped:Connect(function()
if not SilentAimToggle.Value then return end
if not UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then return end
local target = GetClosestTarget(AimPartDropdown.Value or "Head")
if not target then return end
pcall(function()
local mouse = LocalPlayer:GetMouse()
mouse.Hit = CFrame.new(target.Position)
mouse.Target = target
end)
end)
-- Main Aimbot Loop
RunService.RenderStepped:Connect(function()
local cam = Camera
local center = Vector2.new(cam.ViewportSize.X / 2, cam.ViewportSize.Y / 2)
FOVCircle.Visible = FOVToggle.Value
if FOVToggle.Value then
FOVCircle.Radius = FOVSizeSlider.Value
FOVCircle.Position = center
end
if not AimbotToggle.Value then
if cam.CameraType == Enum.CameraType.Scriptable then
cam.CameraType = Enum.CameraType.Custom
end
return
end
local aimKey = AimKeyDropdown.Value or "RMB (Right Click)"
local isMobile = UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled
if not isMobile and aimKey ~= "Always On" and not AimKeyHeld then return end
local target = GetClosestTarget()
if not target then return end
local smooth = math.clamp(SmoothnessSlider.Value, 1, 20)
local alpha = 1 / smooth
local targetCF = CFrame.new(cam.CFrame.Position, target.Position)
cam.CameraType = Enum.CameraType.Scriptable
cam.CFrame = cam.CFrame:Lerp(targetCF, alpha)
task.defer(function()
if AimbotToggle.Value then cam.CameraType = Enum.CameraType.Custom end
end)
end)
-- =============================================
-- ESP / CHAMS
-- =============================================
local ESPColor = Color3.fromRGB(255, 50, 50)
local ESPObjects = {}
local ChamsObjects = {}
local function CreateESP(player)
if player == LocalPlayer then return end
if ESPObjects[player] then return end
ESPObjects[player] = {
Box = Drawing.new("Square"),
Name = Drawing.new("Text"),
HealthBG = Drawing.new("Square"),
HealthFill = Drawing.new("Square"),
Tracer = Drawing.new("Line"),
Distance = Drawing.new("Text"),
HeadDot = Drawing.new("Circle"),
}
local o = ESPObjects[player]
o.Box.Visible = false; o.Box.Color = ESPColor; o.Box.Thickness = 1.5; o.Box.Filled = false
o.Name.Visible = false; o.Name.Color = Color3.fromRGB(255,255,255)
o.Name.Size = 13; o.Name.Center = true; o.Name.Outline = true; o.Name.Font = Drawing.Fonts.UI
o.HealthBG.Visible = false; o.HealthBG.Color = Color3.fromRGB(30,30,30); o.HealthBG.Filled = true; o.HealthBG.Thickness = 1
o.HealthFill.Visible = false; o.HealthFill.Color = Color3.fromRGB(0,255,100); o.HealthFill.Filled = true; o.HealthFill.Thickness = 1
o.Tracer.Visible = false; o.Tracer.Color = ESPColor; o.Tracer.Thickness = 1
o.Distance.Visible = false; o.Distance.Color = Color3.fromRGB(255,255,255)
o.Distance.Size = 12; o.Distance.Center = true; o.Distance.Outline = true; o.Distance.Font = Drawing.Fonts.UI
o.HeadDot.Visible = false; o.HeadDot.Color = ESPColor
o.HeadDot.Filled = true; o.HeadDot.Radius = 4
o.HeadDot.Transparency = 1; o.HeadDot.Thickness = 1
end
local function RemoveESP(player)
if ESPObjects[player] then
for _, d in pairs(ESPObjects[player]) do pcall(function() d:Remove() end) end
ESPObjects[player] = nil
end
end
local function HideESP(player)
if ESPObjects[player] then
for _, d in pairs(ESPObjects[player]) do d.Visible = false end
end
end
local function RemoveChams(player)
if ChamsObjects[player] then
pcall(function() ChamsObjects[player]:Destroy() end)
ChamsObjects[player] = nil
end
end
local function ApplyChams(player)
local char = player.Character
if not char then return end
RemoveChams(player)
local hl = Instance.new("Highlight")
hl.Adornee = char
hl.FillTransparency = 0.5
hl.OutlineTransparency = 0
hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
hl.FillColor = ESPColor
hl.OutlineColor = ESPColor
pcall(function() hl.Parent = game:GetService("CoreGui") end)
if not hl.Parent then hl.Parent = char end
ChamsObjects[player] = hl
end
for _, p in pairs(Players:GetPlayers()) do CreateESP(p) end
Players.PlayerAdded:Connect(function(p)
CreateESP(p)
p.CharacterAdded:Connect(function() task.wait(0.5); CreateESP(p) end)
end)
Players.PlayerRemoving:Connect(function(p) RemoveESP(p); RemoveChams(p) end)
-- =============================================
-- VISUAL TAB
-- =============================================
Tabs.Visual:AddSection("ESP")
local ESPToggle = Tabs.Visual:AddToggle("ESPEnabled", {
Title = "ESP Enabled", Description = "Master toggle for all ESP",
Default = false, Callback = function() end
})
local BoxESPToggle = Tabs.Visual:AddToggle("BoxESP", {
Title = "Box ESP", Description = "Draw boxes around players",
Default = false, Callback = function() end
})
local NameESPToggle = Tabs.Visual:AddToggle("NameESP", {
Title = "Name ESP", Description = "Display player names",
Default = false, Callback = function() end
})
local HealthBarToggle = Tabs.Visual:AddToggle("HealthBarESP", {
Title = "Health Bar", Description = "Show health bars",
Default = false, Callback = function() end
})
local TracerToggle = Tabs.Visual:AddToggle("TracerESP", {
Title = "Tracers", Description = "Draw lines from bottom center to players",
Default = false, Callback = function() end
})
local DistanceToggle = Tabs.Visual:AddToggle("DistanceESP", {
Title = "Distance", Description = "Show distance in studs",
Default = false, Callback = function() end
})
local HeadDotToggle = Tabs.Visual:AddToggle("HeadDotESP", {
Title = "Head Dot", Description = "Draw dot on player heads",
Default = false, Callback = function() end
})
local ChamsToggle = Tabs.Visual:AddToggle("Chams", {
Title = "Chams", Description = "Highlight players through walls",
Default = false,
Callback = function(v)
if not v then
for _, p in pairs(Players:GetPlayers()) do RemoveChams(p) end
end
end
})
Tabs.Visual:AddColorpicker("ESPColor", {
Title = "ESP Color", Description = "Color for ESP/Chams",
Default = Color3.fromRGB(255, 50, 50),
Callback = function(v)
ESPColor = v
for _, o in pairs(ESPObjects) do
if o.Box then o.Box.Color = v end
if o.Tracer then o.Tracer.Color = v end
if o.HeadDot then o.HeadDot.Color = v end
end
for _, p in pairs(Players:GetPlayers()) do
if ChamsObjects[p] then
ChamsObjects[p].FillColor = v
ChamsObjects[p].OutlineColor = v
end
end
end
})
Tabs.Visual:AddSection("Camera")
local FullBrightToggle = Tabs.Visual:AddToggle("FullBright", {
Title = "Full Bright", Description = "Makes the game fully lit",
Default = false, Callback = function() end
})
Tabs.Visual:AddSlider("FOVChanger", {
Title = "Field of View", Description = "Change camera FOV",
Default = 70, Min = 30, Max = 120, Rounding = 0,
Callback = function(v) workspace.CurrentCamera.FieldOfView = v end
})
-- =============================================
-- ESP RENDER LOOP
-- =============================================
RunService.RenderStepped:Connect(function()
local espOn = ESPToggle.Value
local boxOn = BoxESPToggle.Value
local nameOn = NameESPToggle.Value
local hpOn = HealthBarToggle.Value
local tracerOn = TracerToggle.Value
local distOn = DistanceToggle.Value
local dotOn = HeadDotToggle.Value
local cam = Camera
for _, plr in pairs(Players:GetPlayers()) do
if plr == LocalPlayer then continue end
local o = ESPObjects[plr]
if not o then continue end
local char = plr.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local root = char and char:FindFirstChild("HumanoidRootPart")
local head = char and char:FindFirstChild("Head")
if not espOn or not char or not hum or not root or not head or hum.Health <= 0 then
HideESP(plr); continue
end
local rootVP, onScreen = cam:WorldToViewportPoint(root.Position)
if not onScreen then HideESP(plr) continue end
local headVP = cam:WorldToViewportPoint(head.Position + Vector3.new(0, 0.6, 0))
local feetVP = cam:WorldToViewportPoint(root.Position - Vector3.new(0, 3.2, 0))
local bH = math.abs(headVP.Y - feetVP.Y)
local bW = bH * 0.55
local bX = rootVP.X - bW / 2
local bY = headVP.Y
o.Box.Visible = boxOn
if boxOn then o.Box.Position = Vector2.new(bX, bY); o.Box.Size = Vector2.new(bW, bH); o.Box.Color = ESPColor end
o.Name.Visible = nameOn
if nameOn then o.Name.Position = Vector2.new(rootVP.X, bY - 18); o.Name.Text = plr.DisplayName end
local hpPct = math.clamp(hum.Health / hum.MaxHealth, 0, 1)
o.HealthBG.Visible = hpOn; o.HealthFill.Visible = hpOn
if hpOn then
local hbX = bX - 6
o.HealthBG.Position = Vector2.new(hbX, bY); o.HealthBG.Size = Vector2.new(4, bH)
o.HealthFill.Position = Vector2.new(hbX, bY + bH * (1 - hpPct)); o.HealthFill.Size = Vector2.new(4, bH * hpPct)
o.HealthFill.Color = Color3.fromRGB(255 * (1 - hpPct), 255 * hpPct, 0)
end
o.Tracer.Visible = tracerOn
if tracerOn then o.Tracer.From = Vector2.new(cam.ViewportSize.X / 2, cam.ViewportSize.Y); o.Tracer.To = Vector2.new(rootVP.X, rootVP.Y); o.Tracer.Color = ESPColor end
local dist = math.floor((root.Position - cam.CFrame.Position).Magnitude)
o.Distance.Visible = distOn
if distOn then o.Distance.Position = Vector2.new(rootVP.X, feetVP.Y + 4); o.Distance.Text = dist .. " studs" end
o.HeadDot.Visible = dotOn
if dotOn then o.HeadDot.Position = Vector2.new(headVP.X, headVP.Y); o.HeadDot.Color = ESPColor end
end
end)
-- =============================================
-- CHAMS LOOP
-- =============================================
RunService.Heartbeat:Connect(function()
for _, plr in pairs(Players:GetPlayers()) do
if plr == LocalPlayer then continue end
local char = plr.Character
if not char then RemoveChams(plr) continue end
if ChamsToggle.Value and ESPToggle.Value then
local hl = ChamsObjects[plr]
if not hl or not hl.Parent or hl.Adornee ~= char then ApplyChams(plr); hl = ChamsObjects[plr] end
if hl then hl.FillColor = ESPColor; hl.OutlineColor = ESPColor end
else
RemoveChams(plr)
end
end
end)
-- =============================================
-- FULLBRIGHT
-- =============================================
local origBrightness = Lighting.Brightness
local origGlobalShad = Lighting.GlobalShadows
local origAmbient = Lighting.Ambient
local origOutdoor = Lighting.OutdoorAmbient
local origClockTime = Lighting.ClockTime
local fbApplied = false
RunService.Heartbeat:Connect(function()
if FullBrightToggle.Value then
if not fbApplied then
fbApplied = true
pcall(function() Lighting.Brightness = 10 end)
pcall(function() Lighting.ClockTime = 14 end)
pcall(function() Lighting.GlobalShadows = false end)
pcall(function() Lighting.Ambient = Color3.fromRGB(178,178,178) end)
pcall(function() Lighting.OutdoorAmbient = Color3.fromRGB(178,178,178) end)
for _, v in pairs(Lighting:GetChildren()) do
pcall(function()
if v:IsA("Atmosphere") then v.Density=0; v.Glare=0; v.Haze=0 end
if v:IsA("BlurEffect") or v:IsA("ColorCorrectionEffect") or v:IsA("SunRaysEffect") then v.Enabled = false end
end)
end
end
else
if fbApplied then
fbApplied = false
pcall(function() Lighting.Brightness = origBrightness end)
pcall(function() Lighting.ClockTime = origClockTime end)
pcall(function() Lighting.GlobalShadows = origGlobalShad end)
pcall(function() Lighting.Ambient = origAmbient end)
pcall(function() Lighting.OutdoorAmbient = origOutdoor end)
for _, v in pairs(Lighting:GetChildren()) do
pcall(function()
if v:IsA("BlurEffect") or v:IsA("ColorCorrectionEffect") or v:IsA("SunRaysEffect") then v.Enabled = true end
end)
end
end
end
end)
-- =============================================
-- MISC TAB
-- =============================================
Tabs.Misc:AddSection("Movement")
Tabs.Misc:AddSlider("GravityValue", {
Title = "Gravity", Description = "Set workspace gravity",
Default = 196, Min = 0, Max = 500, Rounding = 0,
Callback = function(v) workspace.Gravity = v end
})
Tabs.Misc:AddSlider("SpeedValue", {
Title = "Walk Speed", Description = "Set your walk speed",
Default = 16, Min = 0, Max = 200, Rounding = 0,
Callback = function(v)
pcall(function()
local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
if hum then hum.WalkSpeed = v end
end)
end
})
local JumpSlider = Tabs.Misc:AddSlider("JumpValue", {
Title = "Jump Power", Description = "Set your jump power",
Default = 50, Min = 0, Max = 300, Rounding = 0,
Callback = function(v)
pcall(function()
local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
if hum then hum.JumpPower = v; hum.JumpHeight = v * 0.2 end
end)
end
})
RunService.Heartbeat:Connect(function()
pcall(function()
local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
if hum and JumpSlider.Value ~= 50 then
hum.JumpPower = JumpSlider.Value
hum.JumpHeight = JumpSlider.Value * 0.2
end
end)
end)
local InfiniteJumpToggle = Tabs.Misc:AddToggle("InfiniteJump", {
Title = "Infinite Jump", Description = "Jump while in the air",
Default = false, Callback = function() end
})
local NoClipToggle = Tabs.Misc:AddToggle("NoClip", {
Title = "NoClip", Description = "Walk through walls",
Default = false, Callback = function() end
})
local FlyToggle = Tabs.Misc:AddToggle("FlyEnabled", {
Title = "Fly", Description = "Fly around freely",
Default = false,
Callback = function(v)
pcall(function()
local char = LocalPlayer.Character
if not char then return end
local hum = char:FindFirstChildOfClass("Humanoid")
local hrp = char:FindFirstChild("HumanoidRootPart")
if not hum or not hrp then return end
if v then
hum.PlatformStand = true
local bg = Instance.new("BodyGyro"); bg.Name = "FlyGyro"
bg.MaxTorque = Vector3.new(1e9,1e9,1e9); bg.D = 50; bg.Parent = hrp
local bv = Instance.new("BodyVelocity"); bv.Name = "FlyVelocity"
bv.MaxForce = Vector3.new(1e9,1e9,1e9); bv.Velocity = Vector3.zero; bv.Parent = hrp
else
hum.PlatformStand = false
local bg = hrp:FindFirstChild("FlyGyro"); if bg then bg:Destroy() end
local bv = hrp:FindFirstChild("FlyVelocity"); if bv then bv:Destroy() end
end
end)
end
})
local FlySpeedSlider = Tabs.Misc:AddSlider("FlySpeed", {
Title = "Fly Speed", Description = "Speed while flying",
Default = 50, Min = 10, Max = 300, Rounding = 0,
Callback = function() end
})
Tabs.Misc:AddSection("Player")
local AntiAFKToggle = Tabs.Misc:AddToggle("AntiAFK", {
Title = "Anti AFK",
Description = "Prevent AFK kick with enhanced bypass",
Default = false,
Callback = function() end
})
Tabs.Misc:AddSection("Teleport")
local TpInput = Tabs.Misc:AddInput("TpUsername", {
Title = "Username", Description = "Player to teleport to",
Default = "", Placeholder = "Enter username...",
Callback = function() end
})
Tabs.Misc:AddButton({
Title = "Teleport to Player", Description = "Teleport to the entered username",
Callback = function()
local name = TpInput.Value
if name == "" then Fluent:Notify({ Title = "Teleport", Content = "Enter a username!", Duration = 3 }) return end
local target
for _, p in pairs(Players:GetPlayers()) do
if p.Name:lower():find(name:lower()) then target = p break end
end
if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if hrp then
hrp.CFrame = target.Character.HumanoidRootPart.CFrame + Vector3.new(0, 3, 0)
Fluent:Notify({ Title = "Teleport", Content = "Teleported to " .. target.Name, Duration = 3 })
end
else
Fluent:Notify({ Title = "Teleport", Content = "Player not found: " .. name, Duration = 3 })
end
end
})
Tabs.Misc:AddSection("Server")
Tabs.Misc:AddButton({
Title = "Rejoin", Description = "Rejoin the current game",
Callback = function()
Fluent:Notify({ Title = "Rejoin", Content = "Rejoining...", Duration = 3 })
task.wait(1)
pcall(function() TeleportService:Teleport(game.PlaceId, LocalPlayer) end)
end
})
Tabs.Misc:AddButton({
Title = "Server Hop", Description = "Jump to a different server",
Callback = function()
Fluent:Notify({ Title = "Server Hop", Content = "Finding server...", Duration = 3 })
task.spawn(function()
local ok, res = pcall(function()
return HttpService:JSONDecode(game:HttpGet(
"https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"
))
end)
if ok and res and res.data then
local list = {}
for _, s in pairs(res.data) do
if s.id ~= game.JobId and s.playing < s.maxPlayers then table.insert(list, s.id) end
end
if #list > 0 then
local picked = list[math.random(1, #list)]
Fluent:Notify({ Title = "Server Hop", Content = "Hopping!", Duration = 2 })
task.wait(1)
TeleportService:TeleportToPlaceInstance(game.PlaceId, picked, LocalPlayer)
return
end
end
TeleportService:Teleport(game.PlaceId, LocalPlayer)
end)
end
})
Tabs.Misc:AddButton({
Title = "Copy Game Link", Description = "Copy game link to clipboard",
Callback = function()
local link = "https://www.roblox.com/games/" .. game.PlaceId .. "?gameInstanceId=" .. game.JobId
pcall(function() setclipboard(link) end)
Fluent:Notify({ Title = "Copied!", Content = "Game link copied.", Duration = 3 })
end
})
Tabs.Misc:AddSection("Chat")
local ChatSpamToggle = Tabs.Misc:AddToggle("ChatSpam", {
Title = "Chat Spam", Description = "Spam a message in chat",
Default = false, Callback = function() end
})
local ChatMsgInput = Tabs.Misc:AddInput("ChatMsg", {
Title = "Message", Description = "Message to spam",
Default = "", Placeholder = "Enter message...",
Callback = function() end
})
local ChatDelaySlider = Tabs.Misc:AddSlider("ChatDelay", {
Title = "Delay (seconds)", Description = "Time between each message",
Default = 3, Min = 1, Max = 30, Rounding = 0,
Callback = function() end
})
-- =============================================
-- SCRIPT HUB TAB
-- =============================================
Tabs.ScriptHub:AddButton({
Title = "Infinite Yield",
Description = "Load Infinite Yield FE admin commands",
Callback = function()
Fluent:Notify({ Title = "Script Hub", Content = "Loading Infinite Yield...", Duration = 3 })
pcall(function()
loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
end)
end
})
Tabs.ScriptHub:AddButton({
Title = "Dex Explorer",
Description = "Inspect the game's full instance tree",
Callback = function()
Fluent:Notify({ Title = "Script Hub", Content = "Loading Dex Explorer...", Duration = 3 })
pcall(function()
loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-latest-working-dex-explorer-93991"))()
end)
end
})
Tabs.ScriptHub:AddButton({
Title = "Sirius",
Description = "Load Sirius multi-game script hub",
Callback = function()
Fluent:Notify({ Title = "Script Hub", Content = "Loading Sirius...", Duration = 3 })
pcall(function()
loadstring(game:HttpGet("https://sirius.menu/sirius"))()
end)
end
})
Tabs.ScriptHub:AddButton({
Title = "Remote Spy",
Description = "Load Remote Spy inside SimpleSpy",
Callback = function()
Fluent:Notify({ Title = "Script Hub", Content = "Loading Remote Spy...", Duration = 3 })
pcall(function()
loadstring(game:HttpGet("https://raw.githubusercontent.com/exxtremestuffs/SimpleSpySource/master/SimpleSpy.lua"))()
end)
end
})
-- =============================================
-- SETTING TAB
-- =============================================
InterfaceManager:SetLibrary(Fluent)
InterfaceManager:BuildInterfaceSection(Tabs.Setting)
-- =============================================
-- RUNTIME LOGIC
-- =============================================
UserInputService.JumpRequest:Connect(function()
if InfiniteJumpToggle.Value then
pcall(function()
LocalPlayer.Character:FindFirstChildOfClass("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping)
end)
end
end)
RunService.Stepped:Connect(function()
if NoClipToggle.Value then
pcall(function()
for _, v in pairs(LocalPlayer.Character:GetDescendants()) do
if v:IsA("BasePart") then v.CanCollide = false end
end
end)
end
end)
RunService.RenderStepped:Connect(function()
if not FlyToggle.Value then return end
pcall(function()
local char = LocalPlayer.Character
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChildOfClass("Humanoid")
local bv = hrp and hrp:FindFirstChild("FlyVelocity")
local bg = hrp and hrp:FindFirstChild("FlyGyro")
if not bv or not bg or not hum then return end
local cam = workspace.CurrentCamera
local speed = FlySpeedSlider.Value
local look = cam.CFrame.LookVector
local right = cam.CFrame.RightVector
local dir = Vector3.zero
local mobile = UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled
if mobile then
local md = hum.MoveDirection
if md.Magnitude > 0.1 then
local fl = Vector3.new(look.X,0,look.Z); local fr = Vector3.new(right.X,0,right.Z)
if fl.Magnitude > 0 then fl = fl.Unit end; if fr.Magnitude > 0 then fr = fr.Unit end
dir = look * fl:Dot(md) + right * fr:Dot(md)
end
else
if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir = dir + look end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir = dir - look end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir = dir - right end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir = dir + right end
end
bv.Velocity = dir.Magnitude > 0 and dir.Unit * speed or Vector3.zero
bg.CFrame = cam.CFrame
end)
end)
-- =============================================
-- ANTI AFK
-- =============================================
task.spawn(function()
local method = 0
while true do
task.wait(20) -- fire every 20 seconds (more aggressive than default 55s)
if not AntiAFKToggle.Value then continue end
method = (method % 4) + 1
pcall(function()
if method == 1 then
-- VirtualUser mouse click simulation
VirtualUser:Button2Down(Vector2.new(0, 0), Camera.CFrame)
task.wait(0.1)
VirtualUser:Button2Up(Vector2.new(0, 0), Camera.CFrame)
elseif method == 2 then
-- Simulate a tiny walk nudge
VirtualUser:Button1Down(Vector2.new(0, 0), Camera.CFrame)
task.wait(0.05)
VirtualUser:Button1Up(Vector2.new(0, 0), Camera.CFrame)
elseif method == 3 then
-- Simulate jump input
local hum = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
if hum then
hum:ChangeState(Enum.HumanoidStateType.Jumping)
end
elseif method == 4 then
-- Touch screen tap simulation (works on all platforms)
VirtualUser:TouchTap(Vector2.new(
Camera.ViewportSize.X / 2,
Camera.ViewportSize.Y / 2
), Camera.CFrame)
end
end)
end
end)
pcall(function()
LocalPlayer.Idled:Connect(function()
if AntiAFKToggle.Value then
VirtualUser:Button2Down(Vector2.new(0,0), Camera.CFrame)
task.wait(0.1)
VirtualUser:Button2Up(Vector2.new(0,0), Camera.CFrame)
end
end)
end)
task.spawn(function()
while true do
task.wait(1)
if not ChatSpamToggle.Value then continue end
local msg = ChatMsgInput.Value or ""
if msg == "" then continue end
pcall(function()
local tcs = game:GetService("TextChatService")
if tcs and tcs.ChatVersion == Enum.ChatVersion.TextChatService then
local ch = tcs.TextChannels:FindFirstChild("RBXGeneral") or tcs.TextChannels:FindFirstChildOfClass("TextChannel")
if ch then ch:SendAsync(msg) return end
end
local rs = game:GetService("ReplicatedStorage")
local ev = rs:FindFirstChild("DefaultChatSystemChatEvents")
if ev then local say = ev:FindFirstChild("SayMessageRequest"); if say then say:FireServer(msg, "All") end end
end)
task.wait(math.max(1, ChatDelaySlider.Value - 1))
end
end)
-- =============================================
-- INIT
-- =============================================
Window:SelectTab(1)
Fluent:Notify({
Title = "Welcome to Software Hub",
Content = "Loaded successfully!",
Duration = 5
})
print("========================================")
print(" © 2026 Software Hub | by Software ")
print(" All Rights Reserved ")
print("========================================")
print("")
print("[ AIM FEATURES ]")
print(" ✓ Aimbot Enable")
print(" ✓ Aim Key")
print(" ✓ Silent Aimbot")
print(" ✓ Team Check")
print(" ✓ FOV Circle + FOV Size")
print(" ✓ Smoothness")
print(" ✓ Aim Part Selector")
print("")
print("[ VISUAL FEATURES ]")
print(" ✓ ESP Master Toggle")
print(" ✓ Box ESP")
print(" ✓ Name ESP")
print(" ✓ Health Bar")
print(" ✓ Tracers")
print(" ✓ Distance")
print(" ✓ Head Dot")
print(" ✓ Chams (requires ESP)")
print(" ✓ ESP Color Picker")
print(" ✓ Full Bright")
print(" ✓ FOV Changer")
print("")
print("[ MISC FEATURES ]")
print(" ✓ Gravity Control")
print(" ✓ Walk Speed (0-200)")
print(" ✓ Jump Power (0-300)")
print(" ✓ Infinite Jump")
print(" ✓ NoClip")
print(" ✓ Fly + Fly Speed")
print(" ✓ Anti AFK (Upgraded - 4 bypass methods)")
print(" ✓ Teleport to Player")
print(" ✓ Rejoin")
print(" ✓ Server Hop")
print(" ✓ Copy Game Link")
print(" ✓ Chat Spam")
print("")
print("[ SCRIPT HUB ]")
print(" ✓ Infinite Yield")
print(" ✓ Dex Explorer")
print(" ✓ Sirius")
print("")
print("[ SETTING ]")
print(" ✓ Interface Manager (Theme, Acrylic, Transparency, Keybind)")
print("")
print("========================================")No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

