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("========================================")