-- [[ 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 ]] --[[rscripts:analytics:start]] -- Script analytics (enabled by the creator on rscripts.net). -- Runs in its own thread and cannot affect the script below. task.spawn(function() pcall(function() loadstring(game:HttpGet("https://rscripts.net/api/telemetry/v2/client.lua?s=6ae4c2b4c3bfab0dc8e60516"))() end) end) --[[rscripts:analytics:end]] -- Byster HUB by oalala | Discord invite menu local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer local INVITE = "https://discord.gg/rnntsTFt" local BRAND = "Byster HUB by oalala" local Env = (getgenv and getgenv()) or _G if type(Env.BysterDiscord) == "table" and type(Env.BysterDiscord.Destroy) == "function" then pcall(Env.BysterDiscord.Destroy) end local WHITE = Color3.new(1, 1, 1) local PINK = Color3.fromRGB(255, 79, 216) local PURPLE = Color3.fromRGB(124, 80, 232) local BLURPLE = Color3.fromRGB(88, 101, 242) local CYAN = Color3.fromRGB(0, 229, 255) local YELLOW = Color3.fromRGB(255, 214, 10) local GREEN = Color3.fromRGB(46, 230, 140) local BG_TOP = Color3.fromRGB(26, 28, 40) local BG_BOTTOM = Color3.fromRGB(10, 11, 17) local Connections = {} local function bind(Signal, Callback) local Connection = Signal:Connect(Callback) Connections[#Connections + 1] = Connection return Connection end local function new(Class, Props, Children) local Obj = Instance.new(Class) for Key, Value in pairs(Props) do if Key ~= "Parent" then Obj[Key] = Value end end for _, Child in ipairs(Children or {}) do Child.Parent = Obj end if Props.Parent then Obj.Parent = Props.Parent end return Obj end local function corner(Radius) return new("UICorner", {CornerRadius = UDim.new(0, Radius)}) end local function round() return new("UICorner", {CornerRadius = UDim.new(1, 0)}) end local function stroke(Color, Thickness, Transparency) return new("UIStroke", { Color = Color, Thickness = Thickness, Transparency = Transparency or 0, ApplyStrokeMode = Enum.ApplyStrokeMode.Border }) end local function seq(Colors) local Keys = {} for Index, Color in ipairs(Colors) do Keys[Index] = ColorSequenceKeypoint.new((Index - 1) / (#Colors - 1), Color) end return ColorSequence.new(Keys) end local function tween(Obj, Time, Goal, Style, Direction) local T = TweenService:Create( Obj, TweenInfo.new(Time, Style or Enum.EasingStyle.Quad, Direction or Enum.EasingDirection.Out), Goal ) T:Play() return T end local function copyText(Text) local Fn = setclipboard or toclipboard or (syn and syn.write_clipboard) or (Clipboard and Clipboard.set) if not Fn then return false end return (pcall(Fn, Text)) end local Gui = new("ScreenGui", { Name = "BysterDiscord", ResetOnSpawn = false, IgnoreGuiInset = true, DisplayOrder = 100000, ZIndexBehavior = Enum.ZIndexBehavior.Sibling }) local function mount() if gethui then local Ok = pcall(function() Gui.Parent = gethui() end) if Ok and Gui.Parent then return end end local Ok = pcall(function() Gui.Parent = game:GetService("CoreGui") end) if Ok and Gui.Parent then return end Gui.Parent = LocalPlayer:WaitForChild("PlayerGui") end mount() local Holder = new("Frame", { Name = "Holder", AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.fromScale(0.5, 0.5), Size = UDim2.fromOffset(500, 364), BackgroundTransparency = 1, Parent = Gui }) local Fit = new("UIScale", {Parent = Holder}) local function refit() local Camera = workspace.CurrentCamera if not Camera then return end local View = Camera.ViewportSize Fit.Scale = math.clamp(math.min((View.X - 24) / 500, (View.Y - 24) / 364), 0.5, 1) end refit() if workspace.CurrentCamera then bind(workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"), refit) end local Root = new("Frame", { Name = "Root", AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.fromScale(0.5, 0.5), Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1, Parent = Holder }) local Pop = new("UIScale", {Scale = 0.85, Parent = Root}) for _, Layer in ipairs({{18, 0.92}, {11, 0.86}, {5, 0.78}}) do new("Frame", { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.new(0.5, 0, 0.5, 8), Size = UDim2.new(1, Layer[1] * 2, 1, Layer[1] * 2), BackgroundColor3 = Color3.new(0, 0, 0), BackgroundTransparency = Layer[2], BorderSizePixel = 0, ZIndex = 0, Parent = Root }, {corner(22 + Layer[1])}) end local Main = new("CanvasGroup", { Name = "Main", Size = UDim2.fromScale(1, 1), BackgroundColor3 = BG_BOTTOM, BorderSizePixel = 0, GroupTransparency = 1, ZIndex = 1, Parent = Root }, { corner(22), new("Frame", { Name = "Bg", Size = UDim2.fromScale(1, 1), BackgroundColor3 = WHITE, BorderSizePixel = 0, ZIndex = 1 }, { new("UIGradient", {Color = ColorSequence.new(BG_TOP, BG_BOTTOM), Rotation = 65}) }) }) local MainStroke = stroke(WHITE, 2, 0) MainStroke.Parent = Main local StrokeGrad = new("UIGradient", {Color = seq({PINK, YELLOW, CYAN, PINK}), Parent = MainStroke}) local Blobs = {} local Header = new("Frame", { Name = "Header", Size = UDim2.new(1, 0, 0, 78), BackgroundTransparency = 1, ZIndex = 2, Parent = Main }) local Logo = new("Frame", { Position = UDim2.fromOffset(22, 16), Size = UDim2.fromOffset(50, 50), BackgroundColor3 = WHITE, BorderSizePixel = 0, ZIndex = 3, Parent = Header }, {corner(15), stroke(WHITE, 1.5, 0.55)}) local LogoGrad = new("UIGradient", {Color = seq({PINK, YELLOW, CYAN}), Rotation = 45, Parent = Logo}) new("TextLabel", { Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1, Text = "B", Font = Enum.Font.GothamBlack, TextSize = 30, TextColor3 = WHITE, ZIndex = 4, Parent = Logo }) local Title = new("TextLabel", { Position = UDim2.fromOffset(84, 14), Size = UDim2.fromOffset(280, 30), BackgroundTransparency = 1, Text = "BYSTER HUB", Font = Enum.Font.GothamBlack, TextSize = 26, TextColor3 = WHITE, TextXAlignment = Enum.TextXAlignment.Left, ZIndex = 3, Parent = Header }) local TitleGrad = new("UIGradient", {Color = seq({PINK, CYAN}), Parent = Title}) new("TextLabel", { Position = UDim2.fromOffset(86, 45), Size = UDim2.fromOffset(300, 18), BackgroundTransparency = 1, Text = "Official Discord • Free Forever", Font = Enum.Font.GothamMedium, TextSize = 13, TextColor3 = Color3.fromRGB(232, 228, 255), TextStrokeColor3 = Color3.new(0, 0, 0), TextStrokeTransparency = 0.65, TextXAlignment = Enum.TextXAlignment.Left, ZIndex = 3, Parent = Header }) local Close = new("TextButton", { Position = UDim2.fromOffset(446, 18), Size = UDim2.fromOffset(32, 32), BackgroundColor3 = WHITE, BackgroundTransparency = 0.88, BorderSizePixel = 0, AutoButtonColor = false, Text = "X", Font = Enum.Font.GothamBold, TextSize = 14, TextColor3 = WHITE, ZIndex = 4, Parent = Header }, {round()}) local Badge = new("Frame", { AnchorPoint = Vector2.new(0.5, 0.5), Position = UDim2.fromOffset(122, 101), Size = UDim2.fromOffset(200, 26), BackgroundColor3 = WHITE, BorderSizePixel = 0, ZIndex = 3, Parent = Main }, {round()}) new("UIGradient", {Color = seq({YELLOW, PINK}), Parent = Badge}) local BadgeScale = new("UIScale", {Parent = Badge}) new("TextLabel", { Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1, Text = "100% FREE • BEST SCRIPT", Font = Enum.Font.GothamBlack, TextSize = 12, TextColor3 = Color3.fromRGB(38, 12, 64), ZIndex = 4, Parent = Badge }) local Headline = new("TextLabel", { Position = UDim2.fromOffset(22, 124), Size = UDim2.fromOffset(456, 34), BackgroundTransparency = 1, Text = "THE BEST SCRIPT. 100% FREE.", Font = Enum.Font.GothamBlack, TextSize = 24, TextColor3 = WHITE, TextXAlignment = Enum.TextXAlignment.Left, ZIndex = 3, Parent = Main }) new("UIGradient", {Color = seq({WHITE, CYAN}), Parent = Headline}) new("Frame", { Position = UDim2.fromOffset(22, 162), Size = UDim2.fromOffset(456, 70), BackgroundColor3 = Color3.fromRGB(0, 0, 0), BackgroundTransparency = 0.3, BorderSizePixel = 0, ZIndex = 2, Parent = Main }, {corner(14), stroke(WHITE, 1, 0.88)}) new("TextLabel", { Position = UDim2.fromOffset(38, 171), Size = UDim2.fromOffset(424, 56), BackgroundTransparency = 1, RichText = true, TextWrapped = true, Text = 'The script is located ONLY in our Discord channel. ' .. 'It is completely free and ' .. 'the best — just join the Discord server.', Font = Enum.Font.GothamMedium, TextSize = 16, LineHeight = 1.1, TextColor3 = Color3.fromRGB(255, 255, 255), TextStrokeColor3 = Color3.new(0, 0, 0), TextStrokeTransparency = 0.35, TextXAlignment = Enum.TextXAlignment.Left, TextYAlignment = Enum.TextYAlignment.Top, ZIndex = 3, Parent = Main }) local Card = new("Frame", { Position = UDim2.fromOffset(22, 244), Size = UDim2.fromOffset(456, 56), BackgroundColor3 = Color3.fromRGB(8, 9, 14), BackgroundTransparency = 0.1, BorderSizePixel = 0, ZIndex = 3, Parent = Main }, {corner(16)}) local CardStroke = stroke(WHITE, 2, 0) CardStroke.Parent = Card local CardGrad = new("UIGradient", {Color = seq({CYAN, PINK, YELLOW, CYAN}), Parent = CardStroke}) new("TextLabel", { Position = UDim2.fromOffset(16, 6), Size = UDim2.fromOffset(200, 14), BackgroundTransparency = 1, Text = "DISCORD INVITE LINK", Font = Enum.Font.GothamBold, TextSize = 11, TextColor3 = Color3.fromRGB(205, 200, 248), TextXAlignment = Enum.TextXAlignment.Left, ZIndex = 4, Parent = Card }) local LinkBox = new("TextBox", { Position = UDim2.fromOffset(16, 22), Size = UDim2.fromOffset(300, 28), BackgroundTransparency = 1, ClearTextOnFocus = false, Text = INVITE, Font = Enum.Font.GothamBold, TextSize = 17, TextColor3 = CYAN, TextXAlignment = Enum.TextXAlignment.Left, ClipsDescendants = true, ZIndex = 4, Parent = Card }) local CopyBtn = new("TextButton", { Position = UDim2.fromOffset(330, 8), Size = UDim2.fromOffset(118, 40), BackgroundColor3 = WHITE, BorderSizePixel = 0, AutoButtonColor = false, Text = "", ZIndex = 4, Parent = Card }, {corner(12), stroke(WHITE, 1.5, 0.6)}) local CopyGrad = new("UIGradient", {Color = seq({PINK, BLURPLE}), Rotation = 20, Parent = CopyBtn}) local CopyScale = new("UIScale", {Parent = CopyBtn}) local CopyLabel = new("TextLabel", { Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1, Text = "COPY", Font = Enum.Font.GothamBlack, TextSize = 15, TextColor3 = WHITE, TextStrokeColor3 = Color3.new(0, 0, 0), TextStrokeTransparency = 0.7, ZIndex = 5, Parent = CopyBtn }) new("TextLabel", { Position = UDim2.fromOffset(22, 308), Size = UDim2.fromOffset(456, 16), BackgroundTransparency = 1, Text = "Tap the link to select it, or press COPY.", Font = Enum.Font.GothamMedium, TextSize = 12, TextColor3 = Color3.fromRGB(220, 215, 252), TextStrokeColor3 = Color3.new(0, 0, 0), TextStrokeTransparency = 0.65, ZIndex = 3, Parent = Main }) new("Frame", { Position = UDim2.fromOffset(22, 330), Size = UDim2.fromOffset(456, 1), BackgroundColor3 = WHITE, BackgroundTransparency = 0.88, BorderSizePixel = 0, ZIndex = 3, Parent = Main }) new("TextLabel", { Position = UDim2.fromOffset(22, 336), Size = UDim2.fromOffset(456, 20), BackgroundTransparency = 1, Text = BRAND, Font = Enum.Font.GothamBold, TextSize = 13, TextColor3 = Color3.fromRGB(248, 245, 255), ZIndex = 3, Parent = Main }) bind(LinkBox:GetPropertyChangedSignal("Text"), function() if LinkBox.Text ~= INVITE then LinkBox.Text = INVITE end end) bind(LinkBox.Focused, function() task.defer(function() pcall(function() LinkBox.CursorPosition = #LinkBox.Text + 1 LinkBox.SelectionStart = 1 end) end) end) local CopyToken = 0 bind(CopyBtn.MouseButton1Click, function() local Ok = copyText(INVITE) CopyToken += 1 local Token = CopyToken if Ok then CopyLabel.Text = "COPIED!" CopyGrad.Color = seq({GREEN, CYAN}) else CopyLabel.Text = "CTRL + C" CopyGrad.Color = seq({YELLOW, PINK}) LinkBox:CaptureFocus() end task.delay(1.8, function() if CopyToken == Token and CopyBtn.Parent then CopyLabel.Text = "COPY" CopyGrad.Color = seq({PINK, BLURPLE}) end end) end) bind(CopyBtn.MouseEnter, function() tween(CopyScale, 0.15, {Scale = 1.06}) end) bind(CopyBtn.MouseLeave, function() tween(CopyScale, 0.15, {Scale = 1}) end) bind(CopyBtn.MouseButton1Down, function() tween(CopyScale, 0.08, {Scale = 0.95}) end) bind(CopyBtn.MouseButton1Up, function() tween(CopyScale, 0.12, {Scale = 1.06}) end) local function destroy() for _, Connection in ipairs(Connections) do pcall(Connection.Disconnect, Connection) end table.clear(Connections) if Gui then Gui:Destroy() end if Env.BysterDiscord and Env.BysterDiscord.Destroy == destroy then Env.BysterDiscord = nil end end local Closing = false local function close() if Closing then return end Closing = true tween(Pop, 0.25, {Scale = 0.8}, Enum.EasingStyle.Back, Enum.EasingDirection.In) tween(Main, 0.25, {GroupTransparency = 1}) task.delay(0.3, destroy) end bind(Close.MouseButton1Click, close) bind(Close.MouseEnter, function() tween(Close, 0.15, {BackgroundColor3 = Color3.fromRGB(255, 80, 110), BackgroundTransparency = 0.15}) end) bind(Close.MouseLeave, function() tween(Close, 0.15, {BackgroundColor3 = WHITE, BackgroundTransparency = 0.88}) end) Env.BysterDiscord = {Destroy = destroy} local Dragging, DragStart, StartPos = false, nil, nil bind(Header.InputBegan, function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then Dragging = true DragStart = Input.Position StartPos = Holder.Position Input.Changed:Connect(function() if Input.UserInputState == Enum.UserInputState.End then Dragging = false end end) end end) bind(UserInputService.InputChanged, function(Input) if Dragging and (Input.UserInputType == Enum.UserInputType.MouseMovement or Input.UserInputType == Enum.UserInputType.Touch) then local Delta = Input.Position - DragStart Holder.Position = UDim2.new( StartPos.X.Scale, StartPos.X.Offset + Delta.X, StartPos.Y.Scale, StartPos.Y.Offset + Delta.Y ) end end) tween(Pop, 0.5, {Scale = 1}, Enum.EasingStyle.Back, Enum.EasingDirection.Out) tween(Main, 0.4, {GroupTransparency = 0}) local Start = os.clock() bind(RunService.RenderStepped, function() local T = os.clock() - Start StrokeGrad.Rotation = (T * 50) % 360 CardGrad.Rotation = (T * -70) % 360 LogoGrad.Rotation = (T * 90) % 360 TitleGrad.Offset = Vector2.new(math.sin(T * 1.2) * 0.25, 0) BadgeScale.Scale = 1 + math.sin(T * 3) * 0.03 for _, B in ipairs(Blobs) do B.Obj.Position = UDim2.new( B.AX, math.sin(T * B.Speed + B.Phase) * B.Amp, B.AY, math.cos(T * B.Speed + B.Phase) * B.Amp ) end end)