-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- beanieboyhub x Uni Hub | Lexington & Concord | Mobile + PC | v2.1 (Silent Aim) -- Menu: tap the "BU" button (or RightShift on PC) local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local Workspace = game:GetService("Workspace") local RS = game:GetService("ReplicatedStorage") local VU = game:GetService("VirtualUser") local TweenService = game:GetService("TweenService") local LP = Players.LocalPlayer local TOUCH = UIS.TouchEnabled and not UIS.MouseEnabled local guiParent = (gethui and gethui()) or game:GetService("CoreGui") pcall(function() if guiParent:FindFirstChild("BBH_Loader") then guiParent.BBH_Loader:Destroy() end if guiParent:FindFirstChild("LC_Menu") then guiParent.LC_Menu:Destroy() end end) ---------------------------------------------------------------- THEME local T = { bg = Color3.fromRGB(13, 11, 24), panel = Color3.fromRGB(22, 19, 38), item = Color3.fromRGB(32, 28, 54), item2 = Color3.fromRGB(52, 46, 84), teal = Color3.fromRGB(45, 212, 191), tealD = Color3.fromRGB(20, 150, 140), cream = Color3.fromRGB(255, 244, 224), creamD = Color3.fromRGB(176, 168, 190), purple = Color3.fromRGB(139, 92, 246), blue = Color3.fromRGB(59, 130, 246), red = Color3.fromRGB(150, 45, 70), } local function mk(cls, parent, props) local o = Instance.new(cls) for k, v in pairs(props or {}) do o[k] = v end o.Parent = parent return o end local function corner(o, r) local c = Instance.new("UICorner", o) c.CornerRadius = UDim.new(0, r or 8) return c end local function round(o) local c = Instance.new("UICorner", o) c.CornerRadius = UDim.new(1, 0) return c end local function stroke(o, color, th, tr) local s = Instance.new("UIStroke", o) s.Color = color s.Thickness = th or 1 s.Transparency = tr or 0 s.ApplyStrokeMode = Enum.ApplyStrokeMode.Border return s end local function seq(...) local cs = { ... } local n, k = #cs, {} for i, c in ipairs(cs) do k[i] = ColorSequenceKeypoint.new((i - 1) / (n - 1), c) end return ColorSequence.new(k) end local function grad(o, colors, rot) local g = Instance.new("UIGradient", o) g.Color = seq(table.unpack(colors)) g.Rotation = rot or 0 return g end ---------------------------------------------------------------- MAIN HUB local function buildHub() local Camera = Workspace.CurrentCamera local running = true local S = { ESP = false, ESPInfo = true, ESPTeam = true, Fullbright = false, Crosshair = false, Aim = false, AimAlways = false, AimTeam = true, AimWall = true, Silent = false, AimPart = "Head", FOV = 180, Smooth = 0.3, ShowFOV = true, Predict = false, BulletSpeed = 400, Drop = false, DropMul = 1, AutoFire = false, Hitbox = false, HitSize = 6, Speed = false, SpeedVal = 24, Jump = false, JumpVal = 60, InfJump = false, Noclip = false, Fly = false, FlySpeed = 60, AntiAFK = true, Spy = false, } local conns = {} local function bind(sig, fn) local c = sig:Connect(fn); conns[#conns + 1] = c; return c end local function sameTeam(p) return LP.Team ~= nil and p.Team ~= nil and LP.Team == p.Team end local footerL, fovFrame, crossFrame local anim = {} local fps, tcount = 60, 0 ------------------------------------------------ entity tracking local ents = {} local function addEnt(h) if h:IsA("Humanoid") then local m = h.Parent if m and m:IsA("Model") and m ~= LP.Character then ents[m] = true end end end for _, d in ipairs(Workspace:GetDescendants()) do addEnt(d) end bind(Workspace.DescendantAdded, function(d) if d:IsA("Humanoid") then task.defer(addEnt, d) end end) local function info(m) if not m.Parent then ents[m] = nil return end if m == LP.Character then return end local hum = m:FindFirstChildOfClass("Humanoid") local root = m:FindFirstChild("HumanoidRootPart") or m.PrimaryPart if not hum or not root or hum.Health <= 0 then return end return hum, root, Players:GetPlayerFromCharacter(m) end local function myRoot() local c = LP.Character return c and c:FindFirstChild("HumanoidRootPart") end ------------------------------------------------ ESP + hitbox loop local esp, origSize = {}, {} local function killESP(m) local o = esp[m] if o then pcall(function() o.hl:Destroy() o.bb:Destroy() end) esp[m] = nil end end local function makeESP(m, root) local hl = mk("Highlight", m, { FillColor = T.purple, OutlineColor = T.teal, FillTransparency = 0.55, DepthMode = Enum.HighlightDepthMode.AlwaysOnTop, }) local bb = mk("BillboardGui", m, { Size = UDim2.fromOffset(180, 30), StudsOffset = Vector3.new(0, 3.4, 0), AlwaysOnTop = true, Adornee = root, }) local l = mk("TextLabel", bb, { Size = UDim2.new(1, 0, 1, 0), BackgroundTransparency = 1, Font = Enum.Font.GothamBold, TextSize = 13, TextColor3 = T.cream, TextStrokeColor3 = T.bg, TextStrokeTransparency = 0, }) esp[m] = { hl = hl, bb = bb, lbl = l } end task.spawn(function() while running do local mr = myRoot() local cnt = 0 for m in pairs(ents) do local hum, root, p = info(m) if hum then cnt = cnt + 1 end local show = S.ESP and hum and not (p and S.ESPTeam and sameTeam(p)) if show then if not esp[m] then makeESP(m, root) end local o = esp[m] o.bb.Enabled = S.ESPInfo if S.ESPInfo then local d = mr and (root.Position - mr.Position).Magnitude or 0 o.lbl.Text = ("%s [%dm] %d HP"):format(p and p.DisplayName or m.Name, d, hum.Health) end else killESP(m) end if hum and root then if S.Hitbox and not (p and S.AimTeam and sameTeam(p)) then origSize[root] = origSize[root] or root.Size root.Size = Vector3.new(S.HitSize, S.HitSize, S.HitSize) root.Transparency = 0.7 root.CanCollide = false elseif origSize[root] then root.Size = origSize[root] root.Transparency = 1 origSize[root] = nil end end end for m in pairs(esp) do if not m.Parent then killESP(m) end end tcount = cnt if footerL then footerL.Text = ("FPS %d | Targets %d"):format(fps, tcount) end task.wait(0.25) end end) ------------------------------------------------ aimbot + silent local aimHeld, flyUp, flyDown = false, false, false local mouse = LP:GetMouse() local silentPos = nil local function aimOrigin() if TOUCH then return Camera.ViewportSize / 2 end return UIS:GetMouseLocation() end local function visible(part, model) local ign = { Camera } if LP.Character then ign[#ign + 1] = LP.Character end local rp = RaycastParams.new() rp.FilterType = Enum.RaycastFilterType.Exclude rp.FilterDescendantsInstances = ign local o = Camera.CFrame.Position local hit = Workspace:Raycast(o, part.Position - o, rp) return (not hit) or hit.Instance:IsDescendantOf(model) end local function getTarget() local bestPart, bestDist, bestModel = nil, S.FOV, nil local origin = aimOrigin() for m in pairs(ents) do local hum, root, p = info(m) if hum and not (p and S.AimTeam and sameTeam(p)) then local part = m:FindFirstChild(S.AimPart) or root if part then local sp, onScreen = Camera:WorldToViewportPoint(part.Position) if onScreen then local screenDist = (Vector2.new(sp.X, sp.Y) - origin).Magnitude if screenDist < bestDist then if not S.AimWall or visible(part, m) then bestPart, bestDist, bestModel = part, screenDist, m end end end end end end return bestPart, bestModel end -- Silent Aim: spoof Mouse.Hit / Mouse.Target pcall(function() local mt = getrawmetatable(game) setreadonly(mt, false) local oldIndex = mt.__index mt.__index = newcclosure(function(self, key) if S.Silent and silentPos and self == mouse then if key == "Hit" or key == "hit" then return CFrame.new(silentPos) elseif key == "Target" or key == "target" then return nil elseif key == "UnitRay" then local origin = Camera.CFrame.Position return Ray.new(origin, (silentPos - origin).Unit) end end return oldIndex(self, key) end) setreadonly(mt, true) end) local lastFire = 0 bind(RunService.RenderStepped, function(dt) Camera = Workspace.CurrentCamera fps = fps + (1 / math.max(dt, 1e-3) - fps) * 0.1 local rot = (os.clock() * 60) % 360 if anim.main then anim.main.Rotation = rot end if anim.fab then anim.fab.Rotation = rot end if crossFrame then crossFrame.Visible = S.Crosshair end if fovFrame then local o = aimOrigin() fovFrame.Visible = S.Aim and S.ShowFOV fovFrame.Size = UDim2.fromOffset(S.FOV * 2, S.FOV * 2) fovFrame.Position = UDim2.fromOffset(o.X, o.Y) end local active = S.Aim and (S.AimAlways or aimHeld or (not TOUCH and UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2))) silentPos = nil if not active then return end local part, m = getTarget() if not part then return end local pos = part.Position local cp = Camera.CFrame.Position local dist = (pos - cp).Magnitude local t = dist / math.max(S.BulletSpeed, 1) if S.Predict then local root = m:FindFirstChild("HumanoidRootPart") or part pos = pos + root.AssemblyLinearVelocity * t end if S.Drop then pos = pos + Vector3.new(0, 0.5 * Workspace.Gravity * t * t * S.DropMul, 0) end if S.Silent then silentPos = pos else Camera.CFrame = Camera.CFrame:Lerp(CFrame.new(cp, pos), S.Smooth) end if S.AutoFire and os.clock() - lastFire > 0.12 then local tool = LP.Character and LP.Character:FindFirstChildOfClass("Tool") if tool then lastFire = os.clock() pcall(function() tool:Activate() end) end end end) ------------------------------------------------ movement local flyBV local function stopFly() if flyBV then flyBV:Destroy() flyBV = nil end end bind(RunService.Heartbeat, function() local char = LP.Character local hum = char and char:FindFirstChildOfClass("Humanoid") local root = char and char:FindFirstChild("HumanoidRootPart") if not hum then return end if S.Speed then hum.WalkSpeed = S.SpeedVal end if S.Jump then hum.UseJumpPower = true hum.JumpPower = S.JumpVal end if S.Fly and root then if not flyBV or flyBV.Parent ~= root then stopFly() flyBV = mk("BodyVelocity", root, { MaxForce = Vector3.new(1e9, 1e9, 1e9) }) end local cf = Camera.CFrame local fl = Vector3.new(cf.LookVector.X, 0, cf.LookVector.Z) if fl.Magnitude < 0.01 then fl = Vector3.new(0, 0, -1) end local look = fl.Unit local right = Vector3.new(cf.RightVector.X, 0, cf.RightVector.Z).Unit local mv = hum.MoveDirection local dir = cf.LookVector * mv:Dot(look) + cf.RightVector * mv:Dot(right) if flyUp then dir = dir + Vector3.new(0, 1, 0) end if flyDown then dir = dir - Vector3.new(0, 1, 0) end flyBV.Velocity = dir * S.FlySpeed else stopFly() end end) bind(RunService.Stepped, function() if S.Noclip and LP.Character then for _, v in ipairs(LP.Character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end end end) bind(UIS.JumpRequest, function() if S.InfJump and LP.Character then local h = LP.Character:FindFirstChildOfClass("Humanoid") if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end end end) bind(LP.Idled, function() if S.AntiAFK then pcall(function() VU:CaptureController() VU:ClickButton2(Vector2.new()) end) end end) local lightBackup = { Brightness = Lighting.Brightness, ClockTime = Lighting.ClockTime, FogEnd = Lighting.FogEnd, GlobalShadows = Lighting.GlobalShadows, Ambient = Lighting.Ambient, } local function setFullbright(on) if on then Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 1e6 Lighting.GlobalShadows = false Lighting.Ambient = Color3.new(1, 1, 1) else for k, v in pairs(lightBackup) do Lighting[k] = v end end end ------------------------------------------------ GUI base local SCALE = TOUCH and 0.9 or 1 local gui = mk("ScreenGui", guiParent, { Name = "LC_Menu", ResetOnSpawn = false, IgnoreGuiInset = true, ZIndexBehavior = Enum.ZIndexBehavior.Sibling, }) local function makeDraggable(handle, target, scale, onTap) local dragging, startIn, startPos, moved bind(handle.InputBegan, function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging, moved, startIn, startPos = true, 0, i.Position, target.Position end end) bind(UIS.InputChanged, function(i) if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then local d = (i.Position - startIn) / scale moved = math.max(moved, d.Magnitude) target.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y) end end) bind(UIS.InputEnded, function(i) if dragging and (i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch) then dragging = false if onTap and moved < 8 then onTap() end end end) end -- FOV ring + crosshair fovFrame = mk("Frame", gui, { AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, Visible = false }) stroke(fovFrame, T.teal, 1.5, 0.15) round(fovFrame) crossFrame = mk("Frame", gui, { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.5, 0), Size = UDim2.fromOffset(6, 6), BackgroundColor3 = T.teal, BorderSizePixel = 0, Visible = false, }) round(crossFrame) stroke(crossFrame, T.cream, 1) -- toast notifications local toastObj local function toast(text, color) if toastObj then toastObj:Destroy() end local f = mk("Frame", gui, { AnchorPoint = Vector2.new(0.5, 0), Position = UDim2.new(0.5, 0, 0, -50), Size = UDim2.fromOffset(260, 36), BackgroundColor3 = T.panel, BorderSizePixel = 0, }) corner(f, 10) stroke(f, color or T.teal, 1.5) mk("TextLabel", f, { BackgroundTransparency = 1, Size = UDim2.new(1, 0, 1, 0), Text = text, Font = Enum.Font.GothamBold, TextSize = 13, TextColor3 = T.cream, }) toastObj = f TweenService:Create(f, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Position = UDim2.new(0.5, 0, 0, 16) }):Play() task.delay(1.8, function() if toastObj == f then local tw = TweenService:Create(f, TweenInfo.new(0.25), { Position = UDim2.new(0.5, 0, 0, -50) }) tw:Play() tw.Completed:Wait() if f.Parent then f:Destroy() end if toastObj == f then toastObj = nil end end end) end ------------------------------------------------ main window local H = math.clamp(Camera.ViewportSize.Y / SCALE - 40, 300, 430) local main = mk("Frame", gui, { Size = UDim2.fromOffset(360, H), Position = UDim2.new(0, 76, 0.5, -H / 2), BackgroundColor3 = T.bg, BorderSizePixel = 0, Visible = false, ClipsDescendants = true, }) corner(main, 14) local uiScale = mk("UIScale", main, { Scale = 0 }) anim.main = grad(stroke(main, T.purple, 2), { T.teal, T.purple, T.blue, T.teal }, 0) local isOpen = false local function setOpen(b) isOpen = b if b then main.Visible = true TweenService:Create(uiScale, TweenInfo.new(0.25, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Scale = SCALE }):Play() else local tw = TweenService:Create(uiScale, TweenInfo.new(0.15), { Scale = 0 }) tw:Play() tw.Completed:Connect(function() if not isOpen then main.Visible = false end end) end end -- header local hdr = mk("Frame", main, { Size = UDim2.new(1, 0, 0, 54), BorderSizePixel = 0, BackgroundColor3 = Color3.new(1, 1, 1) }) grad(hdr, { T.tealD, T.purple, T.blue }, 20) mk("TextLabel", hdr, { BackgroundTransparency = 1, Position = UDim2.new(0, 14, 0, 7), Size = UDim2.new(1, -60, 0, 22), Text = "beanieboyhub x Uni Hub", Font = Enum.Font.GothamBlack, TextSize = 16, TextColor3 = T.cream, TextXAlignment = Enum.TextXAlignment.Left, }) mk("TextLabel", hdr, { BackgroundTransparency = 1, Position = UDim2.new(0, 14, 0, 29), Size = UDim2.new(1, -60, 0, 16), Text = "Lexington & Concord - Mobile + PC", Font = Enum.Font.Gotham, TextSize = 11, TextColor3 = T.cream, TextTransparency = 0.2, TextXAlignment = Enum.TextXAlignment.Left, }) local closeB = mk("TextButton", hdr, { Position = UDim2.new(1, -40, 0, 13), Size = UDim2.fromOffset(28, 28), BackgroundColor3 = Color3.new(0, 0, 0), BackgroundTransparency = 0.6, Text = "X", Font = Enum.Font.GothamBold, TextSize = 13, TextColor3 = T.cream, AutoButtonColor = false, }) round(closeB) closeB.Activated:Connect(function() setOpen(false) end) makeDraggable(hdr, main, SCALE) -- tabs / pages / footer local tabBar = mk("Frame", main, { Position = UDim2.new(0, 8, 0, 60), Size = UDim2.new(1, -16, 0, 30), BackgroundTransparency = 1 }) mk("UIListLayout", tabBar, { FillDirection = Enum.FillDirection.Horizontal, Padding = UDim.new(0, 4) }) local footer = mk("Frame", main, { Position = UDim2.new(0, 0, 1, -26), Size = UDim2.new(1, 0, 0, 26), BackgroundColor3 = T.panel, BorderSizePixel = 0 }) footerL = mk("TextLabel", footer, { BackgroundTransparency = 1, Position = UDim2.new(0, 12, 0, 0), Size = UDim2.new(0.55, 0, 1, 0), Text = "FPS -- | Targets --", Font = Enum.Font.GothamMedium, TextSize = 11, TextColor3 = T.teal, TextXAlignment = Enum.TextXAlignment.Left, }) mk("TextLabel", footer, { BackgroundTransparency = 1, AnchorPoint = Vector2.new(1, 0), Position = UDim2.new(1, -12, 0, 0), Size = UDim2.new(0.45, 0, 1, 0), Text = "RShift / BU button", Font = Enum.Font.Gotham, TextSize = 11, TextColor3 = T.creamD, TextXAlignment = Enum.TextXAlignment.Right, }) local pages, tabBtns, cur = {}, {}, nil local function showPage(name) for n, p in pairs(pages) do p.Visible = (n == name) end for n, b in pairs(tabBtns) do local on = (n == name) b.BackgroundColor3 = on and T.purple or T.item b.TextColor3 = on and T.cream or T.creamD end end local function newPage(name) local b = mk("TextButton", tabBar, { Size = UDim2.new(0.2, -4, 1, 0), BackgroundColor3 = T.item, BorderSizePixel = 0, Text = name, Font = Enum.Font.GothamBold, TextSize = 12, TextColor3 = T.creamD, AutoButtonColor = false, }) corner(b, 8) tabBtns[name] = b local p = mk("ScrollingFrame", main, { Position = UDim2.new(0, 0, 0, 96), Size = UDim2.new(1, 0, 1, -122), BackgroundTransparency = 1, BorderSizePixel = 0, ScrollBarThickness = 3, ScrollBarImageColor3 = T.purple, AutomaticCanvasSize = Enum.AutomaticSize.Y, CanvasSize = UDim2.new(), Visible = false, }) mk("UIListLayout", p, { Padding = UDim.new(0, 6), HorizontalAlignment = Enum.HorizontalAlignment.Center }) mk("UIPadding", p, { PaddingTop = UDim.new(0, 6), PaddingBottom = UDim.new(0, 8) }) pages[name] = p b.Activated:Connect(function() showPage(name) end) return p end ------------------------------------------------ UI components local function mkRow(h) local f = mk("Frame", cur, { Size = UDim2.new(1, -16, 0, h or 38), BackgroundColor3 = T.item, BorderSizePixel = 0 }) corner(f, 10) stroke(f, T.item2, 1, 0.3) return f end local function rowLabel(f, text, w) return mk("TextLabel", f, { BackgroundTransparency = 1, Position = UDim2.new(0, 12, 0, 0), Size = UDim2.new(w or 1, -24, 0, 38), Text = text, Font = Enum.Font.GothamMedium, TextSize = 13, TextColor3 = T.cream, TextXAlignment = Enum.TextXAlignment.Left, }) end local function section(text) local f = mk("Frame", cur, { Size = UDim2.new(1, -16, 0, 22), BackgroundTransparency = 1 }) local bar = mk("Frame", f, { Position = UDim2.new(0, 2, 0.5, -7), Size = UDim2.fromOffset(3, 14), BackgroundColor3 = Color3.new(1, 1, 1), BorderSizePixel = 0 }) round(bar) grad(bar, { T.purple, T.blue }, 90) mk("TextLabel", f, { BackgroundTransparency = 1, Position = UDim2.new(0, 12, 0, 0), Size = UDim2.new(1, -12, 1, 0), Text = string.upper(text), Font = Enum.Font.GothamBold, TextSize = 11, TextColor3 = T.teal, TextXAlignment = Enum.TextXAlignment.Left, }) end local function toggle(text, key, cb) local f = mkRow(38) rowLabel(f, text, 1) local track = mk("Frame", f, { AnchorPoint = Vector2.new(1, 0.5), Position = UDim2.new(1, -12, 0.5, 0), Size = UDim2.fromOffset(42, 22), BackgroundColor3 = T.item2, BorderSizePixel = 0, }) round(track) local knob = mk("Frame", track, { AnchorPoint = Vector2.new(0, 0.5), Position = UDim2.new(0, 3, 0.5, 0), Size = UDim2.fromOffset(16, 16), BackgroundColor3 = T.creamD, BorderSizePixel = 0, }) round(knob) local btn = mk("TextButton", f, { BackgroundTransparency = 1, Size = UDim2.new(1, 0, 1, 0), Text = "" }) local function paint(animate) local on = S[key] local ti = TweenInfo.new(animate and 0.15 or 0) TweenService:Create(track, ti, { BackgroundColor3 = on and T.teal or T.item2 }):Play() TweenService:Create(knob, ti, { Position = on and UDim2.new(0, 23, 0.5, 0) or UDim2.new(0, 3, 0.5, 0), BackgroundColor3 = on and T.cream or T.creamD, }):Play() end paint(false) btn.Activated:Connect(function() S[key] = not S[key] paint(true) toast(text .. (S[key] and " ON" or " OFF"), S[key] and T.teal or T.creamD) if cb then cb(S[key]) end end) end local function slider(text, key, min, max, step, fmt) local pg = cur local f = mkRow(52) mk("TextLabel", f, { BackgroundTransparency = 1, Position = UDim2.new(0, 12, 0, 4), Size = UDim2.new(0.6, 0, 0, 20), Text = text, Font = Enum.Font.GothamMedium, TextSize = 13, TextColor3 = T.cream, TextXAlignment = Enum.TextXAlignment.Left, }) local val = mk("TextLabel", f, { BackgroundTransparency = 1, AnchorPoint = Vector2.new(1, 0), Position = UDim2.new(1, -12, 0, 4), Size = UDim2.new(0.35, 0, 0, 20), Font = Enum.Font.GothamBold, TextSize = 13, TextColor3 = T.teal, TextXAlignment = Enum.TextXAlignment.Right, }) local track = mk("Frame", f, { Position = UDim2.new(0, 14, 0, 34), Size = UDim2.new(1, -28, 0, 6), BackgroundColor3 = T.item2, BorderSizePixel = 0 }) round(track) local fill = mk("Frame", track, { Size = UDim2.new(0, 0, 1, 0), BackgroundColor3 = Color3.new(1, 1, 1), BorderSizePixel = 0 }) round(fill) grad(fill, { T.teal, T.purple, T.blue }, 0) local knob = mk("Frame", track, { AnchorPoint = Vector2.new(0.5, 0.5), Size = UDim2.fromOffset(16, 16), BackgroundColor3 = T.cream, BorderSizePixel = 0, }) round(knob) stroke(knob, T.purple, 2) local function paint() local a = (S[key] - min) / (max - min) fill.Size = UDim2.new(a, 0, 1, 0) knob.Position = UDim2.new(a, 0, 0.5, 0) val.Text = string.format(fmt or "%d", S[key]) end paint() local function setFrom(x) local a = math.clamp((x - track.AbsolutePosition.X) / math.max(track.AbsoluteSize.X, 1), 0, 1) local v = min + math.floor((a * (max - min)) / step + 0.5) * step S[key] = math.floor(math.clamp(v, min, max) * 1000 + 0.5) / 1000 paint() end local hit = mk("Frame", f, { Position = UDim2.new(0, 0, 0, 22), Size = UDim2.new(1, 0, 0, 30), BackgroundTransparency = 1 }) local dragging = false bind(hit.InputBegan, function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging = true pg.ScrollingEnabled = false setFrom(i.Position.X) end end) bind(UIS.InputChanged, function(i) if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then setFrom(i.Position.X) end end) bind(UIS.InputEnded, function(i) if dragging and (i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch) then dragging = false pg.ScrollingEnabled = true end end) end local function cycle(text, key, opts) local f = mkRow(38) rowLabel(f, text, 0.5) local val = mk("TextLabel", f, { BackgroundTransparency = 1, AnchorPoint = Vector2.new(1, 0), Position = UDim2.new(1, -12, 0, 0), Size = UDim2.new(0.5, 0, 1, 0), Font = Enum.Font.GothamBold, TextSize = 13, TextColor3 = T.teal, TextXAlignment = Enum.TextXAlignment.Right, }) local btn = mk("TextButton", f, { BackgroundTransparency = 1, Size = UDim2.new(1, 0, 1, 0), Text = "" }) local idx = table.find(opts, S[key]) or 1 local function paint() val.Text = "< " .. S[key] .. " >" end paint() btn.Activated:Connect(function() idx = idx % #opts + 1 S[key] = opts[idx] paint() end) end local function action(text, fn, style) local box = mk("Frame", cur, { Size = UDim2.new(1, -16, 0, 38), BackgroundColor3 = Color3.new(1, 1, 1), BorderSizePixel = 0 }) corner(box, 10) if style == "danger" then box.BackgroundColor3 = T.red else grad(box, { T.tealD, T.purple, T.blue }, 0) end local b = mk("TextButton", box, { BackgroundTransparency = 1, Size = UDim2.new(1, 0, 1, 0), Text = text, Font = Enum.Font.GothamBold, TextSize = 13, TextColor3 = T.cream, AutoButtonColor = false, }) b.Activated:Connect(fn) end ------------------------------------------------ on-screen buttons + BU button local function holdBtn(text, pos, onDown, onUp) local b = mk("TextButton", gui, { Size = UDim2.fromOffset(66, 66), Position = pos, BackgroundColor3 = T.panel, BackgroundTransparency = 0.15, Text = text, Font = Enum.Font.GothamBlack, TextSize = 15, TextColor3 = T.cream, AutoButtonColor = false, Visible = false, }) round(b) grad(stroke(b, T.teal, 2.5), { T.teal, T.purple, T.blue }, 45) b.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.Touch or i.UserInputType == Enum.UserInputType.MouseButton1 then b.BackgroundColor3 = T.purple onDown() end end) b.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.Touch or i.UserInputType == Enum.UserInputType.MouseButton1 then b.BackgroundColor3 = T.panel onUp() end end) return b end local aimBtn = holdBtn("AIM", UDim2.new(1, -92, 0.5, -40), function() aimHeld = true end, function() aimHeld = false end) local upBtn = holdBtn("UP", UDim2.new(1, -92, 0.5, 34), function() flyUp = true end, function() flyUp = false end) local downBtn = holdBtn("DN", UDim2.new(1, -166, 0.5, 34), function() flyDown = true end, function() flyDown = false end) local function refreshHud() aimBtn.Visible = S.Aim and not S.AimAlways upBtn.Visible = S.Fly downBtn.Visible = S.Fly end local fab = mk("TextButton", gui, { Size = UDim2.fromOffset(52, 52), Position = UDim2.new(0, 12, 0.35, 0), BackgroundColor3 = T.panel, Text = "BU", Font = Enum.Font.GothamBlack, TextSize = 17, TextColor3 = T.cream, AutoButtonColor = false, }) round(fab) anim.fab = grad(stroke(fab, T.teal, 2.5), { T.teal, T.purple, T.blue, T.teal }, 0) makeDraggable(fab, fab, 1, function() setOpen(not isOpen) end) ------------------------------------------------ spy / scanner local spyPage local spyRows, spyCount = {}, {} local function addLine(text, key) if not spyPage then return end local l = key and spyRows[key] if not l then l = mk("TextLabel", spyPage, { Size = UDim2.new(1, -16, 0, 0), AutomaticSize = Enum.AutomaticSize.Y, BackgroundColor3 = T.item, BorderSizePixel = 0, Font = Enum.Font.Code, TextSize = 11, TextColor3 = T.cream, TextXAlignment = Enum.TextXAlignment.Left, TextWrapped = true, }) corner(l, 8) mk("UIPadding", l, { PaddingLeft = UDim.new(0, 8), PaddingRight = UDim.new(0, 8), PaddingTop = UDim.new(0, 5), PaddingBottom = UDim.new(0, 5) }) if key then spyRows[key] = l end end l.Text = text end local function clearLog() for _, c in ipairs(spyPage:GetChildren()) do if c:IsA("TextLabel") and c.Font == Enum.Font.Code then c:Destroy() end end spyRows, spyCount = {}, {} end local function scanGame() clearLog() local teams = {} for _, t in ipairs(game:GetService("Teams"):GetChildren()) do teams[#teams + 1] = t.Name end addLine("TEAMS: " .. (#teams > 0 and table.concat(teams, ", ") or "none")) addLine("MY TEAM: " .. (LP.Team and LP.Team.Name or "none")) local tools = {} for _, c in ipairs({ LP.Backpack, LP.Character }) do if c then for _, t in ipairs(c:GetChildren()) do if t:IsA("Tool") then tools[#tools + 1] = t.Name end end end end addLine("TOOLS: " .. (#tools > 0 and table.concat(tools, ", ") or "none")) local n, npc = 0, 0 for m in pairs(ents) do if m.Parent then n = n + 1 if not Players:GetPlayerFromCharacter(m) then npc = npc + 1 end end end addLine(("HUMANOIDS: %d total, %d NPC"):format(n, npc)) local rem = {} for _, d in ipairs(RS:GetDescendants()) do if (d:IsA("RemoteEvent") or d:IsA("RemoteFunction")) and #rem < 40 then rem[#rem + 1] = d.Name end end addLine("REMOTES (" .. #rem .. "): " .. table.concat(rem, ", ")) toast("Scan complete", T.purple) end pcall(function() local old old = hookmetamethod(game, "__namecall", (newcclosure or function(f) return f end)(function(self, ...) local m = getnamecallmethod() if S.Spy and (m == "FireServer" or m == "InvokeServer") and not checkcaller() then local ok, isRem = pcall(function() return self:IsA("RemoteEvent") or self:IsA("RemoteFunction") end) if ok and isRem then local a = table.pack(...) local name = self.Name task.defer(function() spyCount[name] = (spyCount[name] or 0) + 1 local parts = {} for i = 1, math.min(a.n, 5) do parts[i] = tostring(a[i]):sub(1, 40) end addLine(("%s x%d | %s"):format(name, spyCount[name], table.concat(parts, ", ")), name) end) end end return old(self, ...) end)) end) ------------------------------------------------ pages cur = newPage("Combat") section("Aimbot (PC: hold RMB | touch: AIM button)") toggle("Aimbot", "Aim", refreshHud) toggle("Silent Aim (no camera move)", "Silent") toggle("Always aim (no button)", "AimAlways", refreshHud) toggle("Team check", "AimTeam") toggle("Wall check", "AimWall") toggle("Show FOV ring", "ShowFOV") cycle("Target part", "AimPart", { "Head", "UpperTorso", "HumanoidRootPart" }) slider("FOV", "FOV", 40, 700, 10) slider("Smoothness", "Smooth", 0.05, 1, 0.05, "%.2f") section("Musket helpers") toggle("Lead target (prediction)", "Predict") slider("Bullet speed", "BulletSpeed", 50, 3000, 50) toggle("Bullet drop compensation", "Drop") slider("Drop multiplier", "DropMul", 0.25, 4, 0.25, "%.2f") toggle("Auto fire on target", "AutoFire") toggle("Hitbox expander", "Hitbox") slider("Hitbox size", "HitSize", 2, 25, 1) cur = newPage("Visual") section("ESP") toggle("ESP (players + NPCs)", "ESP") toggle("Name / distance / HP", "ESPInfo") toggle("Team check", "ESPTeam") section("Screen") toggle("Crosshair dot", "Crosshair") toggle("Fullbright", "Fullbright", setFullbright) cur = newPage("Move") section("Movement") toggle("Speed", "Speed", function(on) if not on then local h = LP.Character and LP.Character:FindFirstChildOfClass("Humanoid") if h then h.WalkSpeed = 16 end end end) slider("Speed value", "SpeedVal", 16, 150, 2) toggle("Jump power", "Jump") slider("Jump value", "JumpVal", 50, 250, 5) toggle("Infinite jump", "InfJump") toggle("Noclip", "Noclip") toggle("Fly (stick = camera direction)", "Fly", refreshHud) slider("Fly speed", "FlySpeed", 10, 250, 10) cur = newPage("Misc") section("Utility") toggle("Anti-AFK", "AntiAFK") action("Teleport behind nearest enemy", function() local mr, best, bd = myRoot(), nil, math.huge if not mr then return end for m in pairs(ents) do local hum, root, p = info(m) if hum and not (p and sameTeam(p)) then local d = (root.Position - mr.Position).Magnitude if d < bd then best, bd = root, d end end end if best then mr.CFrame = best.CFrame * CFrame.new(0, 0, 5) toast("Teleported", T.teal) else toast("No target found", T.creamD) end end) action("Rejoin server", function() game:GetService("TeleportService"):Teleport(game.PlaceId, LP) end) action("Unload script", function() running = false for _, c in ipairs(conns) do pcall(function() c:Disconnect() end) end for m in pairs(esp) do killESP(m) end for r, s in pairs(origSize) do pcall(function() r.Size = s r.Transparency = 1 end) end stopFly() setFullbright(false) gui:Destroy() end, "danger") cur = newPage("Spy") spyPage = cur section("Game study tools") toggle("Remote spy (fire / reload)", "Spy") action("Scan game (teams / tools / remotes)", scanGame) action("Clear log", clearLog) showPage("Combat") bind(UIS.InputBegan, function(i, gp) if gp then return end if i.KeyCode == Enum.KeyCode.RightShift then setOpen(not isOpen) end if i.KeyCode == Enum.KeyCode.E then flyUp = true end if i.KeyCode == Enum.KeyCode.Q then flyDown = true end end) bind(UIS.InputEnded, function(i) if i.KeyCode == Enum.KeyCode.E then flyUp = false end if i.KeyCode == Enum.KeyCode.Q then flyDown = false end end) local count = 0 for m in pairs(ents) do if m.Parent then count = count + 1 end end return setOpen, count end ---------------------------------------------------------------- LOADING SCREEN local ld = mk("ScreenGui", guiParent, { Name = "BBH_Loader", ResetOnSpawn = false, IgnoreGuiInset = true, DisplayOrder = 999, }) local root = mk("CanvasGroup", ld, { Size = UDim2.new(1, 0, 1, 0), BackgroundColor3 = Color3.new(1, 1, 1), BorderSizePixel = 0, Active = true, }) grad(root, { Color3.fromRGB(12, 10, 26), Color3.fromRGB(28, 14, 52), Color3.fromRGB(10, 22, 44) }, 35) -- particles local cols = { T.teal, T.cream, T.purple, T.blue } local parts = {} for i = 1, 30 do local sz = math.random(3, 7) local f = mk("Frame", root, { Size = UDim2.fromOffset(sz, sz), BackgroundColor3 = cols[math.random(#cols)], BackgroundTransparency = 0.35 + math.random() * 0.5, BorderSizePixel = 0, }) round(f) parts[i] = { f = f, x = math.random(), y = math.random(), s = 0.02 + math.random() * 0.05, ph = math.random() * 6 } end -- orb logo local orb = mk("Frame", root, { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.26, 0), Size = UDim2.fromOffset(92, 92), BackgroundColor3 = T.panel, BorderSizePixel = 0, }) round(orb) local orbScale = mk("UIScale", orb, { Scale = 1 }) local ringA = grad(stroke(orb, T.teal, 4), { T.teal, T.cream, T.teal }, 0) local outer = mk("Frame", root, { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.26, 0), Size = UDim2.fromOffset(116, 116), BackgroundTransparency = 1, }) round(outer) local ringB = grad(stroke(outer, T.purple, 3), { T.purple, T.blue, T.purple }, 0) mk("TextLabel", orb, { BackgroundTransparency = 1, Size = UDim2.new(1, 0, 1, 0), Text = "BU", Font = Enum.Font.GothamBlack, TextSize = 34, TextColor3 = T.cream, }) -- title row local row = mk("Frame", root, { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.43, 0), Size = UDim2.new(1, 0, 0, 64), BackgroundTransparency = 1, }) mk("UIListLayout", row, { FillDirection = Enum.FillDirection.Horizontal, HorizontalAlignment = Enum.HorizontalAlignment.Center, VerticalAlignment = Enum.VerticalAlignment.Center, Padding = UDim.new(0, 10), SortOrder = Enum.SortOrder.LayoutOrder, }) local FS = TOUCH and 32 or 44 local function word(txt, order, colors) local l = mk("TextLabel", row, { BackgroundTransparency = 1, AutomaticSize = Enum.AutomaticSize.X, Size = UDim2.new(0, 0, 1, 0), Font = Enum.Font.GothamBlack, Text = txt, TextSize = FS, TextColor3 = Color3.new(1, 1, 1), TextTransparency = 1, LayoutOrder = order, }) return l, grad(l, colors, 0) end local w1, g1 = word("beanieboyhub", 1, { T.teal, T.cream, T.teal }) local w2 = word("x", 2, { T.creamD, T.creamD }) local w3, g3 = word("Uni Hub", 3, { T.purple, T.blue, T.purple }) for i, l in ipairs({ w1, w2, w3 }) do task.delay(0.15 + i * 0.2, function() TweenService:Create(l, TweenInfo.new(0.6), { TextTransparency = 0 }):Play() end) end mk("TextLabel", root, { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.53, 0), Size = UDim2.new(0.8, 0, 0, 22), BackgroundTransparency = 1, Text = "Lexington & Concord - Mobile + PC Edition", Font = Enum.Font.GothamMedium, TextSize = 16, TextColor3 = T.creamD, }) -- progress bar local barBg = mk("Frame", root, { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.63, 0), Size = UDim2.new(0.55, 0, 0, 10), BackgroundColor3 = T.item, BorderSizePixel = 0, }) round(barBg) stroke(barBg, T.item2, 1) mk("UISizeConstraint", barBg, { MaxSize = Vector2.new(460, 10) }) local barFill = mk("Frame", barBg, { Size = UDim2.new(0, 0, 1, 0), BackgroundColor3 = Color3.new(1, 1, 1), BorderSizePixel = 0 }) round(barFill) grad(barFill, { T.teal, T.purple, T.blue }, 0) local infoRow = mk("Frame", root, { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.675, 0), Size = UDim2.new(0.55, 0, 0, 22), BackgroundTransparency = 1, }) mk("UISizeConstraint", infoRow, { MaxSize = Vector2.new(460, 22) }) local status = mk("TextLabel", infoRow, { BackgroundTransparency = 1, Size = UDim2.new(0.8, 0, 1, 0), Text = "Starting", Font = Enum.Font.GothamMedium, TextSize = 14, TextColor3 = T.cream, TextXAlignment = Enum.TextXAlignment.Left, }) local pct = mk("TextLabel", infoRow, { BackgroundTransparency = 1, AnchorPoint = Vector2.new(1, 0), Position = UDim2.new(1, 0, 0, 0), Size = UDim2.new(0.2, 0, 1, 0), Text = "0%", Font = Enum.Font.GothamBold, TextSize = 14, TextColor3 = T.teal, TextXAlignment = Enum.TextXAlignment.Right, }) local tipL = mk("TextLabel", root, { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.89, 0), Size = UDim2.new(0.85, 0, 0, 20), BackgroundTransparency = 1, Text = "", Font = Enum.Font.GothamMedium, TextSize = 13, TextColor3 = T.creamD, }) mk("TextLabel", root, { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.96, 0), Size = UDim2.new(0.9, 0, 0, 16), BackgroundTransparency = 1, Text = "beanieboyhub x Uni Hub", Font = Enum.Font.Gotham, TextSize = 11, TextColor3 = T.item2, }) local tips = { "TIP Hold the AIM button to lock onto the nearest target", "TIP Use the Spy tab to find the game's fire and reload remotes", "TIP Turn on Lead target if your shots land behind moving enemies", "TIP Drag the BU button anywhere you like", "TIP Fly follows your camera direction, use UP and DN for height", "TIP Silent Aim keeps your camera free while still hitting the target", } local shown, target, alive = 0, 0, true local conn conn = RunService.Heartbeat:Connect(function(dt) local t = os.clock() shown = shown + (target - shown) * math.min(1, dt * 6) barFill.Size = UDim2.new(math.clamp(shown, 0, 1), 0, 1, 0) pct.Text = math.floor(shown * 100 + 0.5) .. "%" ringA.Rotation = (t * 90) % 360 ringB.Rotation = (-t * 70) % 360 orbScale.Scale = 1 + 0.04 * math.sin(t * 3) g1.Offset = Vector2.new(math.sin(t * 1.5) * 0.35, 0) g3.Offset = Vector2.new(math.sin(t * 1.5 + 2) * 0.35, 0) for _, p in ipairs(parts) do p.y = p.y - p.s * dt if p.y < -0.05 then p.y = 1.05 p.x = math.random() end p.f.Position = UDim2.new(p.x + math.sin(t + p.ph) * 0.01, 0, p.y, 0) end end) task.spawn(function() local i = 1 while alive do tipL.Text = tips[i] tipL.TextTransparency = 1 TweenService:Create(tipL, TweenInfo.new(0.4), { TextTransparency = 0 }):Play() task.wait(2.4) i = i % #tips + 1 end end) local function setStage(p, text) target = p status.Text = text end task.spawn(function() setStage(0.08, "Connecting to game") local t0 = os.clock() while not game:IsLoaded() and os.clock() - t0 < 12 do task.wait(0.1) end task.wait(0.4) setStage(0.30, "Waiting for your character") t0 = os.clock() while not (LP.Character and LP.Character:FindFirstChild("HumanoidRootPart")) and os.clock() - t0 < 10 do task.wait(0.1) end task.wait(0.4) setStage(0.52, "Scanning workspace for targets") task.wait(0.4) setStage(0.68, "Building interface") task.wait(0.2) local ok, setOpen, count = pcall(buildHub) if not ok then status.TextColor3 = Color3.fromRGB(255, 110, 120) status.Size = UDim2.new(1, 0, 1, 0) status.TextWrapped = true status.Text = "Error: " .. tostring(setOpen) warn("[beanieboyhub x Uni Hub] " .. tostring(setOpen)) task.wait(10) alive = false conn:Disconnect() ld:Destroy() return end task.wait(0.3) setStage(0.86, "Applying theme") task.wait(0.5) setStage(0.95, "Found " .. tostring(count) .. " targets") task.wait(0.6) setStage(1, "Ready") t0 = os.clock() while shown < 0.985 and os.clock() - t0 < 1.5 do task.wait(0.05) end task.wait(0.4) local out = TweenService:Create(root, TweenInfo.new(0.7), { GroupTransparency = 1 }) out:Play() out.Completed:Wait() alive = false conn:Disconnect() ld:Destroy() setOpen(true) end)