-- [[ 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 ]] -- RIVALS HUB | HOME MENU ONLY local Players = game:GetService("Players") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local old = playerGui:FindFirstChild("RivalsHub") if old then old:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "RivalsHub" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.DisplayOrder = 999 local main = Instance.new("Frame") main.Size = UDim2.fromOffset(560, 300) main.Position = UDim2.new(0.5, -280, 0.5, -150) main.BackgroundColor3 = Color3.fromRGB(15, 18, 28) main.BorderSizePixel = 0 main.Parent = gui Instance.new("UICorner", main).CornerRadius = UDim.new(0, 14) local outline = Instance.new("UIStroke") outline.Color = Color3.fromRGB(0, 190, 255) outline.Thickness = 1.5 outline.Parent = main local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -24, 0, 48) title.Position = UDim2.fromOffset(16, 4) title.BackgroundTransparency = 1 title.Text = "RIVALS HUB" title.TextColor3 = Color3.fromRGB(0, 220, 255) title.Font = Enum.Font.GothamBold title.TextSize = 22 title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = main local sidebar = Instance.new("Frame") sidebar.Position = UDim2.fromOffset(14, 60) sidebar.Size = UDim2.new(0, 145, 1, -74) sidebar.BackgroundColor3 = Color3.fromRGB(23, 27, 39) sidebar.BorderSizePixel = 0 sidebar.Parent = main Instance.new("UICorner", sidebar).CornerRadius = UDim.new(0, 10) local home = Instance.new("TextButton") home.Size = UDim2.new(1, -18, 0, 42) home.Position = UDim2.fromOffset(9, 12) home.BackgroundColor3 = Color3.fromRGB(0, 120, 205) home.Text = "⌂ Home" home.TextColor3 = Color3.new(1, 1, 1) home.Font = Enum.Font.GothamBold home.TextSize = 15 home.Parent = sidebar Instance.new("UICorner", home).CornerRadius = UDim.new(0, 8) local content = Instance.new("Frame") content.Position = UDim2.fromOffset(170, 60) content.Size = UDim2.new(1, -184, 1, -74) content.BackgroundColor3 = Color3.fromRGB(23, 27, 39) content.BorderSizePixel = 0 content.Parent = main Instance.new("UICorner", content).CornerRadius = UDim.new(0, 10) local heading = Instance.new("TextLabel") heading.Position = UDim2.fromOffset(16, 12) heading.Size = UDim2.new(1, -32, 0, 30) heading.BackgroundTransparency = 1 heading.Text = "HOME" heading.TextColor3 = Color3.new(1, 1, 1) heading.TextSize = 19 heading.Font = Enum.Font.GothamBold heading.TextXAlignment = Enum.TextXAlignment.Left heading.Parent = content local description = Instance.new("TextLabel") description.Position = UDim2.fromOffset(16, 48) description.Size = UDim2.new(1, -32, 0, 50) description.BackgroundTransparency = 1 description.Text = "Welcome to Rivals Hub." description.TextColor3 = Color3.fromRGB(155, 165, 185) description.TextSize = 14 description.Font = Enum.Font.Gotham description.TextXAlignment = Enum.TextXAlignment.Left description.TextYAlignment = Enum.TextYAlignment.Top description.Parent = content home.Activated:Connect(function() heading.Text = "HOME" description.Text = "Welcome to Rivals Hub." end) gui.Parent = playerGui print("Rivals Hub Home loaded") -- OPEN / CLOSE UI FEATURE -- Add this after your main UI is created. local toggle = Instance.new("TextButton") toggle.Name = "ToggleUI" toggle.Size = UDim2.fromOffset(100, 42) toggle.Position = UDim2.new(0, 15, 0.4, 0) toggle.BackgroundColor3 = Color3.fromRGB(0, 180, 220) toggle.TextColor3 = Color3.new(1, 1, 1) toggle.Text = "RIVALS" toggle.TextSize = 15 toggle.Font = Enum.Font.GothamBold toggle.Parent = gui Instance.new("UICorner", toggle).CornerRadius = UDim.new(0, 10) local close = Instance.new("TextButton") close.Name = "CloseUI" close.Size = UDim2.fromOffset(32, 32) close.Position = UDim2.new(1, -40, 0, 8) close.BackgroundColor3 = Color3.fromRGB(180, 45, 60) close.TextColor3 = Color3.new(1, 1, 1) close.Text = "X" close.TextSize = 16 close.Font = Enum.Font.GothamBold close.Parent = main Instance.new("UICorner", close).CornerRadius = UDim.new(0, 8) close.Activated:Connect(function() main.Visible = false toggle.Visible = true end) toggle.Activated:Connect(function() main.Visible = true toggle.Visible = false end) -- AIM LOCK TOGGLE | practice targets only -- Add after your existing gui and main variables. local aimOn = false local aimBox = Instance.new("Frame") aimBox.Name = "AimLockBox" aimBox.Size = UDim2.fromOffset(290, 100) aimBox.Position = UDim2.new(1, -310, 0, 70) aimBox.BackgroundColor3 = Color3.fromRGB(23, 28, 43) aimBox.BorderSizePixel = 0 aimBox.Parent = main Instance.new("UICorner", aimBox).CornerRadius = UDim.new(0, 10) local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -16, 0, 32) title.Position = UDim2.fromOffset(8, 5) title.BackgroundTransparency = 1 title.Text = "PRACTICE AIM LOCK" title.TextColor3 = Color3.fromRGB(0, 220, 255) title.Font = Enum.Font.GothamBold title.TextSize = 15 title.Parent = aimBox local toggle = Instance.new("TextButton") toggle.Size = UDim2.new(1, -20, 0, 38) toggle.Position = UDim2.fromOffset(10, 48) toggle.BackgroundColor3 = Color3.fromRGB(50, 60, 78) toggle.Text = "AIM LOCK: OFF" toggle.TextColor3 = Color3.new(1, 1, 1) toggle.Font = Enum.Font.GothamBold toggle.TextSize = 14 toggle.Parent = aimBox Instance.new("UICorner", toggle).CornerRadius = UDim.new(0, 8) toggle.Activated:Connect(function() aimOn = not aimOn if aimOn then toggle.Text = "AIM LOCK: ON" toggle.BackgroundColor3 = Color3.fromRGB(0, 145, 175) else toggle.Text = "AIM LOCK: OFF" toggle.BackgroundColor3 = Color3.fromRGB(50, 60, 78) end end) -- This button is a UI toggle only. -- It does not aim at or target other players. -- BOX 3: FPS & PING DISPLAY -- Add this after your existing "gui" variable is created. local RunService = game:GetService("RunService") local Stats = game:GetService("Stats") local oldStats = gui:FindFirstChild("PerformanceBox") if oldStats then oldStats:Destroy() end local box = Instance.new("Frame") box.Name = "PerformanceBox" box.Size = UDim2.fromOffset(190, 92) box.Position = UDim2.new(1, -205, 0, 18) box.BackgroundColor3 = Color3.fromRGB(16, 20, 32) box.BorderSizePixel = 0 box.Active = true box.Draggable = true box.Parent = gui Instance.new("UICorner", box).CornerRadius = UDim.new(0, 12) local outline = Instance.new("UIStroke", box) outline.Color = Color3.fromRGB(0, 220, 255) outline.Thickness = 1.5 local heading = Instance.new("TextLabel") heading.Size = UDim2.new(1, -12, 0, 27) heading.Position = UDim2.fromOffset(8, 4) heading.BackgroundTransparency = 1 heading.Text = "PERFORMANCE" heading.TextColor3 = Color3.fromRGB(0, 220, 255) heading.Font = Enum.Font.GothamBold heading.TextSize = 13 heading.TextXAlignment = Enum.TextXAlignment.Left heading.Parent = box local fpsText = Instance.new("TextLabel") fpsText.Size = UDim2.new(0.5, -8, 0, 35) fpsText.Position = UDim2.fromOffset(8, 39) fpsText.BackgroundTransparency = 1 fpsText.Text = "FPS: --" fpsText.TextColor3 = Color3.new(1, 1, 1) fpsText.Font = Enum.Font.GothamBold fpsText.TextSize = 14 fpsText.TextXAlignment = Enum.TextXAlignment.Left fpsText.Parent = box local pingText = Instance.new("TextLabel") pingText.Size = UDim2.new(0.5, -8, 0, 35) pingText.Position = UDim2.new(0.5, 0, 0, 39) pingText.BackgroundTransparency = 1 pingText.Text = "PING: --" pingText.TextColor3 = Color3.new(1, 1, 1) pingText.Font = Enum.Font.GothamBold pingText.TextSize = 14 pingText.TextXAlignment = Enum.TextXAlignment.Left pingText.Parent = box local frames = 0 local elapsed = 0 RunService.RenderStepped:Connect(function(dt) frames += 1 elapsed += dt if elapsed >= 1 then local fps = math.floor(frames / elapsed) fpsText.Text = "FPS: " .. fps frames = 0 elapsed = 0 local ok, ping = pcall(function() return Stats.Network.ServerStatsItem["Data Ping"]:GetValue() end) if ok and ping then pingText.Text = "PING: " .. math.floor(ping) .. " ms" else pingText.Text = "PING: N/A" end end end) -- SMOOTH UI ANIMATIONS -- Add after your existing "gui" and "main" variables. local TweenService = game:GetService("TweenService") local tweenInfo = TweenInfo.new( 0.25, Enum.EasingStyle.Quint, Enum.EasingDirection.Out ) local busy = false local isOpen = true -- Add a smooth close button local closeButton = Instance.new("TextButton") closeButton.Name = "AnimatedClose" closeButton.Size = UDim2.fromOffset(34, 34) closeButton.Position = UDim2.new(1, -42, 0, 8) closeButton.BackgroundColor3 = Color3.fromRGB(45, 52, 70) closeButton.Text = "×" closeButton.TextColor3 = Color3.new(1, 1, 1) closeButton.TextSize = 24 closeButton.Font = Enum.Font.GothamBold closeButton.Parent = main Instance.new("UICorner", closeButton).CornerRadius = UDim.new(0, 9) local buttonStroke = Instance.new("UIStroke", closeButton) buttonStroke.Color = Color3.fromRGB(0, 210, 255) buttonStroke.Thickness = 1 -- Floating reopen button local reopen = Instance.new("TextButton") reopen.Name = "ReopenUI" reopen.Size = UDim2.fromOffset(105, 42) reopen.Position = UDim2.new(0, 18, 0.4, 0) reopen.BackgroundColor3 = Color3.fromRGB(15, 20, 34) reopen.Text = "RIVALS ◈" reopen.TextColor3 = Color3.fromRGB(0, 220, 255) reopen.TextSize = 14 reopen.Font = Enum.Font.GothamBold reopen.Visible = false reopen.Parent = gui Instance.new("UICorner", reopen).CornerRadius = UDim.new(0, 10) local reopenStroke = Instance.new("UIStroke", reopen) reopenStroke.Color = Color3.fromRGB(0, 210, 255) reopenStroke.Thickness = 1.5 local function animateOpen() if busy or isOpen then return end busy = true isOpen = true reopen.Visible = false main.Visible = true main.Size = UDim2.fromOffset(0, 0) local targetSize = UDim2.fromOffset(510, 290) local tween = TweenService:Create( main, tweenInfo, {Size = targetSize} ) tween:Play() tween.Completed:Wait() busy = false end local function animateClose() if busy or not isOpen then return end busy = true isOpen = false local tween = TweenService:Create( main, tweenInfo, {Size = UDim2.fromOffset(0, 0)} ) tween:Play() tween.Completed:Wait() main.Visible = false main.Size = UDim2.fromOffset(510, 290) reopen.Visible = true busy = false end closeButton.Activated:Connect(animateClose) reopen.Activated:Connect(animateOpen) -- Smooth hover/press color animation local function animateButton(button, normalColor, hoverColor) button.MouseEnter:Connect(function() TweenService:Create( button, TweenInfo.new(0.15), {BackgroundColor3 = hoverColor} ):Play() end) button.MouseLeave:Connect(function() TweenService:Create( button, TweenInfo.new(0.15), {BackgroundColor3 = normalColor} ):Play() end) end animateButton( closeButton, Color3.fromRGB(45, 52, 70), Color3.fromRGB(190, 45, 65) ) animateButton( reopen, Color3.fromRGB(15, 20, 34), Color3.fromRGB(0, 75, 100) ) -- RIVALS HUB | CROSSHAIR CUSTOMIZER -- Add after your existing "gui" variable. local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local old = gui:FindFirstChild("CrosshairCustomizer") if old then old:Destroy() end local panel = Instance.new("Frame") panel.Name = "CrosshairCustomizer" panel.Size = UDim2.fromOffset(250, 235) panel.Position = UDim2.new(0, 20, 0.5, -117) panel.BackgroundColor3 = Color3.fromRGB(16, 20, 32) panel.BorderSizePixel = 0 panel.Parent = gui Instance.new("UICorner", panel).CornerRadius = UDim.new(0, 12) local stroke = Instance.new("UIStroke", panel) stroke.Color = Color3.fromRGB(0, 220, 255) stroke.Thickness = 1.5 local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -40, 0, 35) title.Position = UDim2.fromOffset(12, 6) title.BackgroundTransparency = 1 title.Text = "CROSSHAIR SETTINGS" title.TextColor3 = Color3.fromRGB(0, 220, 255) title.Font = Enum.Font.GothamBold title.TextSize = 14 title.Parent = panel local close = Instance.new("TextButton") close.Size = UDim2.fromOffset(28, 28) close.Position = UDim2.new(1, -34, 0, 6) close.Text = "×" close.TextSize = 22 close.TextColor3 = Color3.new(1, 1, 1) close.BackgroundColor3 = Color3.fromRGB(55, 35, 48) close.Parent = panel Instance.new("UICorner", close).CornerRadius = UDim.new(0, 7) close.Activated:Connect(function() panel.Visible = false end) local cross = Instance.new("Frame") cross.Name = "Crosshair" cross.Size = UDim2.fromOffset(30, 30) cross.AnchorPoint = Vector2.new(0.5, 0.5) cross.Position = UDim2.fromScale(0.5, 0.5) cross.BackgroundTransparency = 1 cross.Parent = gui local function makeLine(size, pos) local line = Instance.new("Frame") line.Size = size line.Position = pos line.BorderSizePixel = 0 line.BackgroundColor3 = Color3.fromRGB(0, 255, 170) line.Parent = cross return line end local top = makeLine(UDim2.fromOffset(2, 8), UDim2.new(0.5, -1, 0, 0)) local bottom = makeLine(UDim2.fromOffset(2, 8), UDim2.new(0.5, -1, 1, -8)) local left = makeLine(UDim2.fromOffset(8, 2), UDim2.new(0, 0, 0.5, -1)) local right = makeLine(UDim2.fromOffset(8, 2), UDim2.new(1, -8, 0.5, -1)) local sizeLabel = Instance.new("TextLabel") sizeLabel.Size = UDim2.new(1, -24, 0, 24) sizeLabel.Position = UDim2.fromOffset(12, 48) sizeLabel.BackgroundTransparency = 1 sizeLabel.Text = "SIZE: 30" sizeLabel.TextColor3 = Color3.new(1, 1, 1) sizeLabel.Font = Enum.Font.GothamBold sizeLabel.TextSize = 13 sizeLabel.TextXAlignment = Enum.TextXAlignment.Left sizeLabel.Parent = panel local sizeSlider = Instance.new("TextButton") sizeSlider.Size = UDim2.new(1, -24, 0, 12) sizeSlider.Position = UDim2.fromOffset(12, 78) sizeSlider.BackgroundColor3 = Color3.fromRGB(55, 65, 82) sizeSlider.Text = "" sizeSlider.Parent = panel Instance.new("UICorner", sizeSlider).CornerRadius = UDim.new(1, 0) local sizeFill = Instance.new("Frame") sizeFill.Size = UDim2.fromScale(0.3, 1) sizeFill.BackgroundColor3 = Color3.fromRGB(0, 220, 255) sizeFill.BorderSizePixel = 0 sizeFill.Parent = sizeSlider Instance.new("UICorner", sizeFill).CornerRadius = UDim.new(1, 0) local function setSize(n) n = math.clamp(math.floor(n + 0.5), 10, 100) sizeLabel.Text = "SIZE: " .. n sizeFill.Size = UDim2.fromScale((n - 10) / 90, 1) local gap = math.max(3, math.floor(n * 0.1)) local arm = math.max(4, math.floor(n * 0.27)) cross.Size = UDim2.fromOffset(n, n) top.Size = UDim2.fromOffset(2, arm) top.Position = UDim2.new(0.5, -1, 0, 0) bottom.Size = UDim2.fromOffset(2, arm) bottom.Position = UDim2.new(0.5, -1, 1, -arm) left.Size = UDim2.fromOffset(arm, 2) left.Position = UDim2.new(0, 0, 0.5, -1) right.Size = UDim2.fromOffset(arm, 2) right.Position = UDim2.new(1, -arm, 0.5, -1) end local dragging = false local function updateSlider(input) local x = (input.Position.X - sizeSlider.AbsolutePosition.X) / sizeSlider.AbsoluteSize.X setSize(10 + math.clamp(x, 0, 1) * 90) end sizeSlider.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true updateSlider(input) end end) UIS.InputChanged:Connect(function(input) if dragging and ( input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement ) then updateSlider(input) end end) UIS.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) local colorLabel = Instance.new("TextLabel") colorLabel.Size = UDim2.new(1, -24, 0, 22) colorLabel.Position = UDim2.fromOffset(12, 105) colorLabel.BackgroundTransparency = 1 colorLabel.Text = "CROSSHAIR COLOR" colorLabel.TextColor3 = Color3.new(1, 1, 1) colorLabel.Font = Enum.Font.GothamBold colorLabel.TextSize = 12 colorLabel.TextXAlignment = Enum.TextXAlignment.Left colorLabel.Parent = panel local colors = { Color3.fromRGB(0, 255, 170), Color3.fromRGB(0, 220, 255), Color3.fromRGB(255, 70, 90), Color3.fromRGB(255, 220, 0), Color3.fromRGB(255, 255, 255) } for i, color in ipairs(colors) do local button = Instance.new("TextButton") button.Size = UDim2.fromOffset(34, 28) button.Position = UDim2.fromOffset(12 + (i - 1) * 44, 132) button.BackgroundColor3 = color button.Text = "" button.Parent = panel Instance.new("UICorner", button).CornerRadius = UDim.new(0, 7) button.Activated:Connect(function() for _, line in ipairs(cross:GetChildren()) do if line:IsA("Frame") then line.BackgroundColor3 = color end end end) end local shapeButton = Instance.new("TextButton") shapeButton.Size = UDim2.new(1, -24, 0, 30) shapeButton.Position = UDim2.fromOffset(12, 177) shapeButton.BackgroundColor3 = Color3.fromRGB(35, 45, 62) shapeButton.TextColor3 = Color3.new(1, 1, 1) shapeButton.Text = "CROSSHAIR: LINES" shapeButton.Font = Enum.Font.GothamBold shapeButton.TextSize = 12 shapeButton.Parent = panel Instance.new("UICorner", shapeButton).CornerRadius = UDim.new(0, 7) local dotMode = false shapeButton.Activated:Connect(function() dotMode = not dotMode shapeButton.Text = dotMode and "CROSSHAIR: DOT" or "CROSSHAIR: LINES" top.Visible = not dotMode bottom.Visible = not dotMode left.Visible = not dotMode right.Visible = not dotMode if dotMode then local dot = cross:FindFirstChild("CenterDot") if not dot then dot = Instance.new("Frame") dot.Name = "CenterDot" dot.Size = UDim2.fromOffset(4, 4) dot.AnchorPoint = Vector2.new(0.5, 0.5) dot.Position = UDim2.fromScale(0.5, 0.5) dot.BorderSizePixel = 0 dot.Parent = cross end dot.BackgroundColor3 = top.BackgroundColor3 dot.Visible = true else local dot = cross:FindFirstChild("CenterDot") if dot then dot.Visible = false end end end) setSize(30) -- RIVALS HUB | EXTRA TABS -- Delta UI only. Add after your "gui" variable. local old = gui:FindFirstChild("ExtraTabs") if old then old:Destroy() end local TweenService = game:GetService("TweenService") local root = Instance.new("Frame") root.Name = "ExtraTabs" root.Size = UDim2.fromOffset(390, 280) root.Position = UDim2.new(0.5, -195, 0.5, -140) root.BackgroundColor3 = Color3.fromRGB(15, 18, 30) root.BorderSizePixel = 0 root.Parent = gui Instance.new("UICorner", root).CornerRadius = UDim.new(0, 14) local outline = Instance.new("UIStroke", root) outline.Color = Color3.fromRGB(0, 220, 255) outline.Thickness = 1.5 local header = Instance.new("TextLabel") header.Size = UDim2.new(1, -20, 0, 38) header.Position = UDim2.fromOffset(12, 4) header.BackgroundTransparency = 1 header.Text = "RIVALS HUB / DASHBOARD" header.TextColor3 = Color3.fromRGB(0, 220, 255) header.Font = Enum.Font.GothamBold header.TextSize = 16 header.TextXAlignment = Enum.TextXAlignment.Left header.Parent = root local sidebar = Instance.new("Frame") sidebar.Size = UDim2.new(0, 105, 1, -54) sidebar.Position = UDim2.fromOffset(10, 44) sidebar.BackgroundColor3 = Color3.fromRGB(23, 28, 43) sidebar.BorderSizePixel = 0 sidebar.Parent = root Instance.new("UICorner", sidebar).CornerRadius = UDim.new(0, 10) local content = Instance.new("Frame") content.Size = UDim2.new(1, -135, 1, -54) content.Position = UDim2.fromOffset(125, 44) content.BackgroundColor3 = Color3.fromRGB(23, 28, 43) content.BorderSizePixel = 0 content.Parent = root Instance.new("UICorner", content).CornerRadius = UDim.new(0, 10) local function label(parent, text, pos, size, color, textSize) local l = Instance.new("TextLabel") l.BackgroundTransparency = 1 l.Text = text l.Position = pos l.Size = size l.TextColor3 = color l.Font = Enum.Font.GothamBold l.TextSize = textSize l.TextWrapped = true l.TextXAlignment = Enum.TextXAlignment.Left l.Parent = parent return l end local pageTitle = label(content, "HOME", UDim2.fromOffset(14, 12), UDim2.new(1, -28, 0, 30), Color3.fromRGB(0, 220, 255), 18) local description = label(content, "Welcome back.\nChoose a tab to explore your hub.", UDim2.fromOffset(14, 50), UDim2.new(1, -28, 0, 55), Color3.fromRGB(225, 230, 240), 13) local pages = { Home = { "HOME", "Welcome back.\nChoose a tab to explore your hub." }, Visuals = { "VISUALS", "Crosshair customization\nPerformance overlay\nVisual settings" }, Settings = { "SETTINGS", "UI animations\nOpen / close controls\nInterface preferences" }, Misc = { "MISC", "Extra interface options\nMore features can be added here" } } local selectedButton local function makeTab(name, order) local button = Instance.new("TextButton") button.Name = name .. "Tab" button.Size = UDim2.new(1, -12, 0, 38) button.Position = UDim2.fromOffset(6, 8 + (order - 1) * 44) button.BackgroundColor3 = Color3.fromRGB(32, 39, 56) button.Text = name button.TextColor3 = Color3.fromRGB(225, 230, 240) button.Font = Enum.Font.GothamBold button.TextSize = 12 button.Parent = sidebar Instance.new("UICorner", button).CornerRadius = UDim.new(0, 7) button.Activated:Connect(function() if selectedButton then TweenService:Create(selectedButton, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(32, 39, 56)} ):Play() end selectedButton = button TweenService:Create(button, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(0, 115, 150)} ):Play() pageTitle.Text = pages[name][1] description.Text = pages[name][2] end) return button end makeTab("Home", 1) makeTab("Visuals", 2) makeTab("Settings", 3) makeTab("Misc", 4) local close = Instance.new("TextButton") close.Size = UDim2.fromOffset(28, 28) close.Position = UDim2.new(1, -34, 0, 6) close.BackgroundColor3 = Color3.fromRGB(55, 35, 48) close.Text = "×" close.TextColor3 = Color3.new(1, 1, 1) close.TextSize = 22 close.Font = Enum.Font.GothamBold close.Parent = root Instance.new("UICorner", close).CornerRadius = UDim.new(0, 7) local reopen = Instance.new("TextButton") reopen.Size = UDim2.fromOffset(105, 40) reopen.Position = UDim2.new(0, 16, 0.4, 0) reopen.BackgroundColor3 = Color3.fromRGB(15, 20, 34) reopen.Text = "RIVALS ◈" reopen.TextColor3 = Color3.fromRGB(0, 220, 255) reopen.Font = Enum.Font.GothamBold reopen.TextSize = 14 reopen.Visible = false reopen.Parent = gui Instance.new("UICorner", reopen).CornerRadius = UDim.new(0, 9) close.Activated:Connect(function() root.Visible = false reopen.Visible = true end) reopen.Activated:Connect(function() root.Visible = true reopen.Visible = false end) makeTab -- tabs are connected above -- DRAG & MOVE UI | DELTA -- Add after your existing "main" variable. -- Uses the top 42 pixels as the drag handle. local UIS = game:GetService("UserInputService") local dragHandle = Instance.new("TextButton") dragHandle.Name = "DragHandle" dragHandle.Size = UDim2.new(1, -50, 0, 42) dragHandle.Position = UDim2.fromOffset(0, 0) dragHandle.BackgroundTransparency = 1 dragHandle.Text = "" dragHandle.AutoButtonColor = false dragHandle.Active = true dragHandle.Parent = main local dragging = false local dragInput local dragStart local startPosition dragHandle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPosition = main.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) dragHandle.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UIS.InputChanged:Connect(function(input) if dragging and ( input == dragInput or input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch ) then local delta = input.Position - dragStart main.Position = UDim2.new( startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y ) end end) -- RIVALS HUB | THEME SWITCHER -- Delta UI | Cyan, Purple, Red, Green local old = gui:FindFirstChild("ThemeSwitcher") if old then old:Destroy() end local themes = { Cyan = { accent = Color3.fromRGB(0, 220, 255), panel = Color3.fromRGB(15, 18, 30), button = Color3.fromRGB(23, 28, 43) }, Purple = { accent = Color3.fromRGB(180, 90, 255), panel = Color3.fromRGB(22, 15, 34), button = Color3.fromRGB(39, 25, 55) }, Red = { accent = Color3.fromRGB(255, 65, 85), panel = Color3.fromRGB(32, 15, 20), button = Color3.fromRGB(52, 25, 32) }, Green = { accent = Color3.fromRGB(60, 255, 150), panel = Color3.fromRGB(13, 27, 23), button = Color3.fromRGB(23, 43, 35) } } local themePanel = Instance.new("Frame") themePanel.Name = "ThemeSwitcher" themePanel.Size = UDim2.fromOffset(210, 185) themePanel.Position = UDim2.new(1, -225, 0.5, -92) themePanel.BackgroundColor3 = Color3.fromRGB(15, 18, 30) themePanel.BorderSizePixel = 0 themePanel.Parent = gui Instance.new("UICorner", themePanel).CornerRadius = UDim.new(0, 12) local border = Instance.new("UIStroke", themePanel) border.Color = themes.Cyan.accent border.Thickness = 1.5 local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -16, 0, 34) title.Position = UDim2.fromOffset(10, 5) title.BackgroundTransparency = 1 title.Text = "THEME SELECTOR" title.TextColor3 = themes.Cyan.accent title.Font = Enum.Font.GothamBold title.TextSize = 14 title.Parent = themePanel local current = "Cyan" local function applyTheme(name) local theme = themes[name] if not theme then return end current = name -- Update the main window if main and main.Parent then main.BackgroundColor3 = theme.panel for _, obj in ipairs(main:GetDescendants()) do if obj:IsA("UIStroke") then obj.Color = theme.accent elseif obj:IsA("TextButton") then obj.BackgroundColor3 = theme.button obj.TextColor3 = theme.accent elseif obj:IsA("TextLabel") then obj.TextColor3 = theme.accent end end end themePanel.BackgroundColor3 = theme.panel border.Color = theme.accent title.TextColor3 = theme.accent end local order = {"Cyan", "Purple", "Red", "Green"} for i, name in ipairs(order) do local button = Instance.new("TextButton") button.Name = name button.Size = UDim2.new(1, -20, 0, 30) button.Position = UDim2.fromOffset(10, 43 + (i - 1) * 34) button.BackgroundColor3 = themes[name].button button.Text = name:upper() button.TextColor3 = themes[name].accent button.Font = Enum.Font.GothamBold button.TextSize = 12 button.Parent = themePanel Instance.new("UICorner", button).CornerRadius = UDim.new(0, 7) local buttonBorder = Instance.new("UIStroke", button) buttonBorder.Color = themes[name].accent buttonBorder.Thickness = 1 button.Activated:Connect(function() applyTheme(name) end) end applyTheme(current) -- RIVALS HUB | NOTIFICATION SYSTEM -- Delta-compatible UI component local TweenService = game:GetService("TweenService") local old = gui:FindFirstChild("Notifications") if old then old:Destroy() end local container = Instance.new("Frame") container.Name = "Notifications" container.Size = UDim2.fromOffset(280, 300) container.Position = UDim2.new(1, -295, 0, 20) container.BackgroundTransparency = 1 container.Parent = gui local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 8) layout.SortOrder = Enum.SortOrder.LayoutOrder layout.VerticalAlignment = Enum.VerticalAlignment.Top layout.Parent = container local count = 0 local function Notify(message, duration) duration = duration or 3 count += 1 local card = Instance.new("Frame") card.Name = "Notification" card.Size = UDim2.new(1, 0, 0, 64) card.BackgroundColor3 = Color3.fromRGB(18, 23, 37) card.BackgroundTransparency = 0.05 card.BorderSizePixel = 0 card.LayoutOrder = -count card.Parent = container Instance.new("UICorner", card).CornerRadius = UDim.new(0, 10) local stroke = Instance.new("UIStroke", card) stroke.Color = Color3.fromRGB(0, 220, 255) stroke.Thickness = 1.3 local bar = Instance.new("Frame") bar.Size = UDim2.new(0, 4, 1, -16) bar.Position = UDim2.fromOffset(7, 8) bar.BackgroundColor3 = Color3.fromRGB(0, 220, 255) bar.BorderSizePixel = 0 bar.Parent = card Instance.new("UICorner", bar).CornerRadius = UDim.new(1, 0) local heading = Instance.new("TextLabel") heading.Size = UDim2.new(1, -28, 0, 22) heading.Position = UDim2.fromOffset(19, 7) heading.BackgroundTransparency = 1 heading.Text = "RIVALS HUB" heading.TextColor3 = Color3.fromRGB(0, 220, 255) heading.Font = Enum.Font.GothamBold heading.TextSize = 13 heading.TextXAlignment = Enum.TextXAlignment.Left heading.Parent = card local body = Instance.new("TextLabel") body.Size = UDim2.new(1, -28, 0, 25) body.Position = UDim2.fromOffset(19, 30) body.BackgroundTransparency = 1 body.Text = tostring(message) body.TextColor3 = Color3.fromRGB(225, 230, 240) body.Font = Enum.Font.Gotham body.TextSize = 12 body.TextWrapped = true body.TextXAlignment = Enum.TextXAlignment.Left body.Parent = card card.Position = UDim2.fromOffset(300, 0) card.BackgroundTransparency = 1 TweenService:Create(card, TweenInfo.new( 0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.Out ), { Position = UDim2.fromOffset(0, 0), BackgroundTransparency = 0.05 }):Play() task.delay(duration, function() if not card.Parent then return end local out = TweenService:Create(card, TweenInfo.new(0.25), { Position = UDim2.fromOffset(300, 0), BackgroundTransparency = 1 }) out:Play() out.Completed:Wait() if card.Parent then card:Destroy() end end) end -- Example notifications Notify("Hub loaded successfully!", 3) task.delay(1, function() Notify("Notification system ready.", 3) end) -- Call this anywhere in your script: -- Notify("Crosshair enabled!") -- Notify("Theme changed to purple!") -- RIVALS HUB | SAVE SETTINGS -- Delta executor file support required. local HttpService = game:GetService("HttpService") local FILE_NAME = "RivalsHubSettings.json" local defaults = { Theme = "Cyan", CrosshairSize = 30, CrosshairColor = "Green", CrosshairShape = "Lines" } local settings = table.clone(defaults) local function saveSettings() if type(writefile) ~= "function" then warn("File saving is not supported by this executor.") return false end local ok, result = pcall(function() writefile(FILE_NAME, HttpService:JSONEncode(settings)) end) if not ok then warn("Could not save settings:", result) return false end return true end local function loadSettings() if type(isfile) ~= "function" or type(readfile) ~= "function" or not isfile(FILE_NAME) then return end local ok, data = pcall(function() return HttpService:JSONDecode(readfile(FILE_NAME)) end) if not ok or type(data) ~= "table" then warn("Settings file was invalid; using defaults.") return end for key, defaultValue in pairs(defaults) do if typeof(data[key]) == typeof(defaultValue) then settings[key] = data[key] end end end loadSettings() -- Use these functions in your existing feature callbacks. local function setTheme(name) settings.Theme = name -- Call your existing applyTheme(name) here. saveSettings() end local function setCrosshairSize(size) settings.CrosshairSize = math.clamp( math.floor(tonumber(size) or 30), 10, 100 ) -- Call your existing setSize(settings.CrosshairSize) here. saveSettings() end local function setCrosshairColor(name) settings.CrosshairColor = name -- Update your crosshair color here. saveSettings() end local function setCrosshairShape(name) settings.CrosshairShape = name -- Update your crosshair shape here. saveSettings() end -- Example: -- setTheme("Purple") -- setCrosshairSize(45) -- setCrosshairColor("Cyan") -- setCrosshairShape("Dot") print("Rivals Hub settings loaded:", settings.Theme) -- RIVALS HUB | ANIMATED INTRO -- Delta executor | Uses existing gui and main local TweenService = game:GetService("TweenService") main.Visible = false local intro = Instance.new("Frame") intro.Name = "AnimatedIntro" intro.Size = UDim2.fromScale(1, 1) intro.BackgroundColor3 = Color3.fromRGB(8, 10, 18) intro.BackgroundTransparency = 1 intro.BorderSizePixel = 0 intro.ZIndex = 100 intro.Parent = gui local scale = Instance.new("UIScale") scale.Scale = 0.8 scale.Parent = intro local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 65) title.Position = UDim2.new(0, 0, 0.35, 0) title.BackgroundTransparency = 1 title.Text = "RIVALS HUB" title.TextColor3 = Color3.fromRGB(0, 255, 255) title.TextTransparency = 1 title.Font = Enum.Font.GothamBlack title.TextScaled = true title.ZIndex = 101 title.Parent = intro local subtitle = Instance.new("TextLabel") subtitle.Size = UDim2.new(1, 0, 0, 30) subtitle.Position = UDim2.new(0, 0, 0.46, 0) subtitle.BackgroundTransparency = 1 subtitle.Text = "INITIALIZING SYSTEM..." subtitle.TextColor3 = Color3.fromRGB(180, 195, 215) subtitle.TextTransparency = 1 subtitle.Font = Enum.Font.GothamMedium subtitle.TextScaled = true subtitle.ZIndex = 101 subtitle.Parent = intro local barBack = Instance.new("Frame") barBack.Size = UDim2.new(0.55, 0, 0, 5) barBack.Position = UDim2.new(0.225, 0, 0.56, 0) barBack.BackgroundColor3 = Color3.fromRGB(30, 38, 52) barBack.BorderSizePixel = 0 barBack.ZIndex = 101 barBack.Parent = intro Instance.new("UICorner", barBack).CornerRadius = UDim.new(1, 0) local bar = Instance.new("Frame") bar.Size = UDim2.new(0, 0, 1, 0) bar.BackgroundColor3 = Color3.fromRGB(0, 255, 255) bar.BorderSizePixel = 0 bar.ZIndex = 102 bar.Parent = barBack Instance.new("UICorner", bar).CornerRadius = UDim.new(1, 0) local function tween(obj, time, props) local t = TweenService:Create( obj, TweenInfo.new(time, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), props ) t:Play() return t end tween(intro, 0.45, {BackgroundTransparency = 0}) tween(scale, 0.6, {Scale = 1}) tween(title, 0.7, {TextTransparency = 0}) task.wait(0.25) tween(subtitle, 0.5, {TextTransparency = 0}) local loading = tween(bar, 1.8, {Size = UDim2.new(1, 0, 1, 0)}) loading.Completed:Wait() subtitle.Text = "WELCOME TO RIVALS HUB" task.wait(0.45) tween(title, 0.3, {TextTransparency = 1}) tween(subtitle, 0.3, {TextTransparency = 1}) tween(barBack, 0.3, {BackgroundTransparency = 1}) tween(bar, 0.3, {BackgroundTransparency = 1}) tween(intro, 0.4, {BackgroundTransparency = 1}) tween(scale, 0.4, {Scale = 1.1}) task.wait(0.45) intro:Destroy() main.Visible = true print("RIVALS HUB intro complete!")-- RIVALS HUB | GLASS + NEON UI UPGRADE -- Delta executor | Uses existing gui and main local TweenService = game:GetService("TweenService") local cyan = Color3.fromRGB(0, 255, 245) local purple = Color3.fromRGB(150, 75, 255) local dark = Color3.fromRGB(12, 15, 28) -- Main panel styling main.BackgroundColor3 = dark main.BackgroundTransparency = 0.08 main.BorderSizePixel = 0 main.ClipsDescendants = false -- Rounded main panel local corner = main:FindFirstChildOfClass("UICorner") if not corner then corner = Instance.new("UICorner") corner.Parent = main end corner.CornerRadius = UDim.new(0, 14) -- Neon outline local stroke = main:FindFirstChildOfClass("UIStroke") if not stroke then stroke = Instance.new("UIStroke") stroke.Parent = main end stroke.Color = cyan stroke.Thickness = 1.5 stroke.Transparency = 0.12 stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border -- Gradient local gradient = main:FindFirstChildOfClass("UIGradient") if not gradient then gradient = Instance.new("UIGradient") gradient.Parent = main end gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(18, 30, 48)), ColorSequenceKeypoint.new(0.5, dark), ColorSequenceKeypoint.new(1, Color3.fromRGB(30, 16, 48)) }) gradient.Rotation = 35 -- Animated neon border task.spawn(function() while main.Parent do TweenService:Create( stroke, TweenInfo.new(1.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Color = purple} ):Play() task.wait(1.3) if not main.Parent then break end TweenService:Create( stroke, TweenInfo.new(1.3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Color = cyan} ):Play() task.wait(1.3) end end) -- Smooth button hover effects for _, obj in ipairs(main:GetDescendants()) do if obj:IsA("TextButton") then obj.AutoButtonColor = false if not obj:FindFirstChildOfClass("UICorner") then local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0, 8) c.Parent = obj end local original = obj.BackgroundColor3 obj.MouseEnter:Connect(function() TweenService:Create(obj, TweenInfo.new(0.18), { BackgroundColor3 = cyan, BackgroundTransparency = 0.08 }):Play() if obj.TextColor3 then TweenService:Create(obj, TweenInfo.new(0.18), { TextColor3 = dark }):Play() end end) obj.MouseLeave:Connect(function() if obj.Parent then TweenService:Create(obj, TweenInfo.new(0.18), { BackgroundColor3 = original, TextColor3 = Color3.fromRGB(240, 245, 255) }):Play() end end) end end -- Smooth entrance local originalSize = main.Size main.Size = UDim2.new( originalSize.X.Scale * 0.92, originalSize.X.Offset * 0.92, originalSize.Y.Scale * 0.92, originalSize.Y.Offset * 0.92 ) main.Visible = true TweenService:Create( main, TweenInfo.new(0.45, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = originalSize} ):Play() print("RIVALS HUB: Glass + Neon effects enabled!")-- RIVALS HUB | LIVE PERFORMANCE DASHBOARD -- Delta executor | Standalone UI panel local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Stats = game:GetService("Stats") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local pg = player:WaitForChild("PlayerGui") -- Find existing GUI or create a new one local dashboardGui = gui if not dashboardGui then dashboardGui = Instance.new("ScreenGui") dashboardGui.Name = "RivalsPerformance" dashboardGui.ResetOnSpawn = false dashboardGui.Parent = pg end local panel = Instance.new("Frame") panel.Name = "PerformanceDashboard" panel.Size = UDim2.fromOffset(255, 172) panel.Position = UDim2.new(1, -275, 0, 100) panel.BackgroundColor3 = Color3.fromRGB(12, 16, 29) panel.BackgroundTransparency = 0.06 panel.BorderSizePixel = 0 panel.Active = true panel.Draggable = true panel.Parent = dashboardGui Instance.new("UICorner", panel).CornerRadius = UDim.new(0, 14) local outline = Instance.new("UIStroke") outline.Color = Color3.fromRGB(0, 240, 255) outline.Thickness = 1.5 outline.Parent = panel local gradient = Instance.new("UIGradient") gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(23, 39, 61)), ColorSequenceKeypoint.new(1, Color3.fromRGB(17, 12, 34)) }) gradient.Rotation = 35 gradient.Parent = panel local function makeLabel(name, text, y, size) local label = Instance.new("TextLabel") label.Name = name label.Position = UDim2.fromOffset(14, y) label.Size = UDim2.new(1, -28, 0, size or 25) label.BackgroundTransparency = 1 label.Text = text label.TextColor3 = Color3.fromRGB(230, 240, 255) label.TextSize = 14 label.Font = Enum.Font.GothamMedium label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = panel return label end local title = makeLabel("Title", "◈ PERFORMANCE", 9, 27) title.Font = Enum.Font.GothamBold title.TextColor3 = Color3.fromRGB(0, 245, 255) local fpsLabel = makeLabel("FPS", "FPS --", 43) local pingLabel = makeLabel("Ping", "PING --", 72) local timeLabel = makeLabel("Session", "SESSION 00:00", 101) local close = Instance.new("TextButton") close.Size = UDim2.fromOffset(27, 25) close.Position = UDim2.new(1, -34, 0, 8) close.BackgroundColor3 = Color3.fromRGB(42, 48, 67) close.Text = "×" close.TextColor3 = Color3.new(1, 1, 1) close.TextSize = 20 close.Font = Enum.Font.GothamBold close.Parent = panel Instance.new("UICorner", close).CornerRadius = UDim.new(0, 7) local reopen = Instance.new("TextButton") reopen.Size = UDim2.fromOffset(125, 34) reopen.Position = UDim2.new(1, -140, 0, 100) reopen.BackgroundColor3 = Color3.fromRGB(12, 20, 35) reopen.Text = "◈ PERFORMANCE" reopen.TextColor3 = Color3.fromRGB(0, 245, 255) reopen.TextSize = 12 reopen.Font = Enum.Font.GothamBold reopen.Visible = false reopen.Parent = dashboardGui Instance.new("UICorner", reopen).CornerRadius = UDim.new(0, 9) local border2 = Instance.new("UIStroke") border2.Color = Color3.fromRGB(0, 245, 255) border2.Parent = reopen close.MouseButton1Click:Connect(function() panel.Visible = false reopen.Visible = true end) reopen.MouseButton1Click:Connect(function() panel.Visible = true reopen.Visible = false end) local startTime = os.clock() local frames = 0 local lastUpdate = os.clock() local connection connection = RunService.RenderStepped:Connect(function() if not panel.Parent then connection:Disconnect() return end frames += 1 local now = os.clock() if now - lastUpdate >= 1 then local fps = math.floor(frames / (now - lastUpdate)) frames = 0 lastUpdate = now fpsLabel.Text = "FPS " .. fps fpsLabel.TextColor3 = fps >= 50 and Color3.fromRGB(90, 255, 160) or Color3.fromRGB(255, 205, 90) local pingText = "--" local ok, result = pcall(function() return Stats.Network.ServerStatsItem["Data Ping"]:GetValue() end) if ok and typeof(result) == "number" then pingText = math.floor(result + 0.5) .. " ms" end pingLabel.Text = "PING " .. pingText local elapsed = math.floor(now - startTime) local mins = math.floor(elapsed / 60) local secs = elapsed % 60 timeLabel.Text = string.format("SESSION %02d:%02d", mins, secs) end end) -- Animate the border between cyan and purple task.spawn(function() while panel.Parent do TweenService:Create(outline, TweenInfo.new(1.2), { Color = Color3.fromRGB(155, 90, 255) }):Play() task.wait(1.2) if not panel.Parent then break end TweenService:Create(outline, TweenInfo.new(1.2), { Color = Color3.fromRGB(0, 245, 255) }):Play() task.wait(1.2) end end) print("RIVALS HUB: Performance dashboard loaded!") -- RIVALS HUB | ADVANCED CROSSHAIR EDITOR -- Delta executor | Standalone UI local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local pg = player:WaitForChild("PlayerGui") local old = pg:FindFirstChild("RivalsCrosshairEditor") if old then old:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "RivalsCrosshairEditor" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.Parent = pg local cyan = Color3.fromRGB(0, 245, 255) local purple = Color3.fromRGB(155, 90, 255) local white = Color3.fromRGB(240, 245, 255) local settings = { Size = 12, Gap = 5, Thickness = 2, Color = cyan, Dot = false, Outline = true } -- Crosshair display local cross = Instance.new("Frame") cross.Name = "Crosshair" cross.AnchorPoint = Vector2.new(0.5, 0.5) cross.Position = UDim2.fromScale(0.5, 0.5) cross.Size = UDim2.fromOffset(1, 1) cross.BackgroundTransparency = 1 cross.Parent = gui local pieces = {} local function createPiece() local f = Instance.new("Frame") f.BorderSizePixel = 0 f.BackgroundColor3 = settings.Color f.Parent = cross local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0, 1) c.Parent = f local s = Instance.new("UIStroke") s.Name = "Outline" s.Color = Color3.new(0, 0, 0) s.Thickness = 1 s.Enabled = settings.Outline s.Parent = f table.insert(pieces, f) return f end for i = 1, 4 do createPiece() end local dot = createPiece() local function refresh() local size = settings.Size local gap = settings.Gap local thick = settings.Thickness local positions = { {UDim2.fromOffset(-thick/2, -gap-size), UDim2.fromOffset(thick, size)}, {UDim2.fromOffset(-thick/2, gap), UDim2.fromOffset(thick, size)}, {UDim2.fromOffset(-gap-size, -thick/2), UDim2.fromOffset(size, thick)}, {UDim2.fromOffset(gap, -thick/2), UDim2.fromOffset(size, thick)} } for i = 1, 4 do pieces[i].Position = positions[i][1] pieces[i].Size = positions[i][2] pieces[i].BackgroundColor3 = settings.Color pieces[i].Visible = not settings.Dot pieces[i].Outline.Enabled = settings.Outline end dot.Position = UDim2.fromOffset(-thick/2, -thick/2) dot.Size = UDim2.fromOffset(thick, thick) dot.BackgroundColor3 = settings.Color dot.Visible = settings.Dot dot.Outline.Enabled = settings.Outline end -- Editor panel local panel = Instance.new("Frame") panel.Size = UDim2.fromOffset(285, 385) panel.Position = UDim2.new(0, 25, 0.5, -192) panel.BackgroundColor3 = Color3.fromRGB(13, 17, 30) panel.BorderSizePixel = 0 panel.Active = true panel.Draggable = true panel.Parent = gui Instance.new("UICorner", panel).CornerRadius = UDim.new(0, 14) local stroke = Instance.new("UIStroke") stroke.Color = cyan stroke.Thickness = 1.5 stroke.Parent = panel local gradient = Instance.new("UIGradient") gradient.Color = ColorSequence.new( Color3.fromRGB(25, 38, 60), Color3.fromRGB(17, 13, 36) ) gradient.Rotation = 35 gradient.Parent = panel local function label(text, y) local l = Instance.new("TextLabel") l.Position = UDim2.fromOffset(14, y) l.Size = UDim2.new(1, -28, 0, 24) l.BackgroundTransparency = 1 l.Text = text l.TextColor3 = white l.TextSize = 13 l.Font = Enum.Font.GothamMedium l.TextXAlignment = Enum.TextXAlignment.Left l.Parent = panel return l end local title = label("✦ CROSSHAIR CUSTOMIZER", 10) title.Font = Enum.Font.GothamBold title.TextColor3 = cyan local function button(text, x, y, w, callback) local b = Instance.new("TextButton") b.Position = UDim2.fromOffset(x, y) b.Size = UDim2.fromOffset(w, 29) b.BackgroundColor3 = Color3.fromRGB(31, 39, 57) b.Text = text b.TextColor3 = white b.TextSize = 12 b.Font = Enum.Font.GothamBold b.AutoButtonColor = false b.Parent = panel Instance.new("UICorner", b).CornerRadius = UDim.new(0, 7) b.MouseEnter:Connect(function() TweenService:Create(b, TweenInfo.new(0.15), { BackgroundColor3 = Color3.fromRGB(45, 65, 90) }):Play() end) b.MouseLeave:Connect(function() TweenService:Create(b, TweenInfo.new(0.15), { BackgroundColor3 = Color3.fromRGB(31, 39, 57) }):Play() end) b.MouseButton1Click:Connect(callback) return b end local sizeText = label("", 44) local gapText = label("", 99) local thickText = label("", 154) local function updateLabels() sizeText.Text = "SIZE: " .. settings.Size gapText.Text = "GAP: " .. settings.Gap thickText.Text = "THICKNESS: " .. settings.Thickness end button("−", 14, 68, 45, function() settings.Size = math.max(4, settings.Size - 2) refresh(); updateLabels() end) button("+", 68, 68, 45, function() settings.Size = math.min(40, settings.Size + 2) refresh(); updateLabels() end) button("−", 14, 123, 45, function() settings.Gap = math.max(0, settings.Gap - 1) refresh(); updateLabels() end) button("+", 68, 123, 45, function() settings.Gap = math.min(25, settings.Gap + 1) refresh(); updateLabels() end) button("−", 14, 178, 45, function() settings.Thickness = math.max(1, settings.Thickness - 1) refresh(); updateLabels() end) button("+", 68, 178, 45, function() settings.Thickness = math.min(6, settings.Thickness + 1) refresh(); updateLabels() end) label("COLOR", 214) local colors = { {"CYAN", cyan}, {"PURPLE", purple}, {"GREEN", Color3.fromRGB(70, 255, 120)}, {"RED", Color3.fromRGB(255, 75, 90)}, {"WHITE", white} } for i, item in ipairs(colors) do button(item[1], 14 + ((i-1)%3)*85, 240 + math.floor((i-1)/3)*35, 78, function() settings.Color = item[2] refresh() end) end button("DOT: OFF", 14, 316, 120, function() settings.Dot = not settings.Dot refresh() end).MouseButton1Click:Connect(function() end) -- Separate functional toggles local dotButton = button("TOGGLE DOT", 14, 316, 120, function() settings.Dot = not settings.Dot refresh() end) local outlineButton = button("OUTLINE: ON", 146, 316, 125, function() settings.Outline = not settings.Outline refresh() end) -- Remove the duplicate dot button and use the named control. for _, child in ipairs(panel:GetChildren()) do if child:IsA("TextButton") and child.Text == "DOT: OFF" then child:Destroy() end end dotButton.MouseButton1Click:Connect(function() dotButton.Text = settings.Dot and "DOT: ON" or "DOT: OFF" end) outlineButton.MouseButton1Click:Connect(function() outlineButton.Text = settings.Outline and "OUTLINE: ON" or "OUTLINE: OFF" end) button("RESET", 14, 352, 257, function() settings.Size = 12 settings.Gap = 5 settings.Thickness = 2 settings.Color = cyan settings.Dot = false settings.Outline = true refresh() updateLabels() dotButton.Text = "DOT: OFF" outlineButton.Text = "OUTLINE: ON" end) refresh() updateLabels() print("RIVALS HUB: Crosshair editor loaded!") -- RIVALS HUB | PREMIUM SETTINGS -- Delta executor | Standalone UI local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UIS = game:GetService("UserInputService") local player = Players.LocalPlayer local pg = player:WaitForChild("PlayerGui") local old = pg:FindFirstChild("RivalsPremiumSettings") if old then old:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "RivalsPremiumSettings" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.Parent = pg local cyan = Color3.fromRGB(0, 245, 255) local purple = Color3.fromRGB(155, 90, 255) local dark = Color3.fromRGB(13, 17, 30) local white = Color3.fromRGB(240, 245, 255) local settings = { Notifications = true, Animations = true, ShowCrosshair = true, CompactMode = false, Theme = "Cyan" } local themeColor = cyan local panel = Instance.new("Frame") panel.Name = "SettingsPanel" panel.Size = UDim2.fromOffset(330, 390) panel.Position = UDim2.new(0.5, -165, 0.5, -195) panel.BackgroundColor3 = dark panel.BorderSizePixel = 0 panel.Active = true panel.Parent = gui Instance.new("UICorner", panel).CornerRadius = UDim.new(0, 16) local outline = Instance.new("UIStroke") outline.Color = cyan outline.Thickness = 1.5 outline.Parent = panel local gradient = Instance.new("UIGradient") gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(25, 37, 59)), ColorSequenceKeypoint.new(1, Color3.fromRGB(17, 13, 35)) }) gradient.Rotation = 35 gradient.Parent = panel -- Drag panel using header local header = Instance.new("TextButton") header.Size = UDim2.new(1, -55, 0, 50) header.BackgroundTransparency = 1 header.Text = "✦ RIVALS SETTINGS" header.TextColor3 = cyan header.TextSize = 17 header.Font = Enum.Font.GothamBold header.Parent = panel local dragging, dragStart, startPos header.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = panel.Position end end) UIS.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart panel.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) UIS.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) local close = Instance.new("TextButton") close.Size = UDim2.fromOffset(30, 30) close.Position = UDim2.new(1, -39, 0, 10) close.BackgroundColor3 = Color3.fromRGB(45, 50, 70) close.Text = "×" close.TextColor3 = white close.TextSize = 22 close.Font = Enum.Font.GothamBold close.Parent = panel Instance.new("UICorner", close).CornerRadius = UDim.new(0, 8) local function makeButton(text, y, callback) local b = Instance.new("TextButton") b.Size = UDim2.new(1, -28, 0, 36) b.Position = UDim2.fromOffset(14, y) b.BackgroundColor3 = Color3.fromRGB(29, 37, 55) b.Text = text b.TextColor3 = white b.TextSize = 13 b.Font = Enum.Font.GothamMedium b.TextXAlignment = Enum.TextXAlignment.Left b.AutoButtonColor = false b.Parent = panel Instance.new("UICorner", b).CornerRadius = UDim.new(0, 9) b.MouseEnter:Connect(function() TweenService:Create(b, TweenInfo.new(0.15), { BackgroundColor3 = Color3.fromRGB(42, 55, 78) }):Play() end) b.MouseLeave:Connect(function() TweenService:Create(b, TweenInfo.new(0.15), { BackgroundColor3 = Color3.fromRGB(29, 37, 55) }):Play() end) b.MouseButton1Click:Connect(callback) return b end local function makeToggle(name, key, y) local b = makeButton("", y, function() settings[key] = not settings[key] b.Text = name .. " " .. (settings[key] and "● ON" or "○ OFF") b.TextColor3 = settings[key] and themeColor or white end) b.Text = name .. " " .. (settings[key] and "● ON" or "○ OFF") b.TextColor3 = settings[key] and themeColor or white end makeToggle("Notifications", "Notifications", 65) makeToggle("UI Animations", "Animations", 109) makeToggle("Show Crosshair", "ShowCrosshair", 153) makeToggle("Compact Mode", "CompactMode", 197) local themeLabel = Instance.new("TextLabel") themeLabel.Size = UDim2.new(1, -28, 0, 24) themeLabel.Position = UDim2.fromOffset(14, 244) themeLabel.BackgroundTransparency = 1 themeLabel.Text = "ACCENT COLOR" themeLabel.TextColor3 = white themeLabel.TextSize = 12 themeLabel.Font = Enum.Font.GothamBold themeLabel.TextXAlignment = Enum.TextXAlignment.Left themeLabel.Parent = panel local function applyTheme(color, name) themeColor = color settings.Theme = name outline.Color = color header.TextColor3 = color for _, item in ipairs(panel:GetDescendants()) do if item:IsA("TextButton") and item ~= close then if item.Text:find("ON") then item.TextColor3 = color end end end end local themeColors = { {"CYAN", cyan}, {"PURPLE", purple}, {"GREEN", Color3.fromRGB(70, 255, 120)}, {"RED", Color3.fromRGB(255, 75, 90)} } for i, item in ipairs(themeColors) do local b = Instance.new("TextButton") b.Size = UDim2.fromOffset(70, 32) b.Position = UDim2.fromOffset(14 + (i - 1) * 77, 272) b.BackgroundColor3 = Color3.fromRGB(29, 37, 55) b.Text = item[1] b.TextColor3 = item[2] b.TextSize = 11 b.Font = Enum.Font.GothamBold b.Parent = panel Instance.new("UICorner", b).CornerRadius = UDim.new(0, 8) b.MouseButton1Click:Connect(function() applyTheme(item[2], item[1]) end) end local status = Instance.new("TextLabel") status.Size = UDim2.new(1, -28, 0, 24) status.Position = UDim2.fromOffset(14, 326) status.BackgroundTransparency = 1 status.Text = "● SETTINGS READY" status.TextColor3 = cyan status.TextSize = 11 status.Font = Enum.Font.GothamMedium status.TextXAlignment = Enum.TextXAlignment.Left status.Parent = panel local reopen = Instance.new("TextButton") reopen.Size = UDim2.fromOffset(135, 38) reopen.Position = UDim2.new(0, 20, 0.5, 0) reopen.BackgroundColor3 = dark reopen.Text = "✦ SETTINGS" reopen.TextColor3 = cyan reopen.TextSize = 13 reopen.Font = Enum.Font.GothamBold reopen.Visible = false reopen.Parent = gui Instance.new("UICorner", reopen).CornerRadius = UDim.new(0, 10) local reopenStroke = Instance.new("UIStroke") reopenStroke.Color = cyan reopenStroke.Parent = reopen close.MouseButton1Click:Connect(function() panel.Visible = false reopen.Visible = true end) reopen.MouseButton1Click:Connect(function() panel.Visible = true reopen.Visible = false end) -- Entrance animation panel.Position = UDim2.new(0.5, -165, 0.5, -175) panel.BackgroundTransparency = 1 TweenService:Create(panel, TweenInfo.new(0.4, Enum.EasingStyle.Quint), { Position = UDim2.new(0.5, -165, 0.5, -195), BackgroundTransparency = 0 }):Play() -- Animated accent border task.spawn(function() while gui.Parent do TweenService:Create(outline, TweenInfo.new(1.4), { Color = purple }):Play() task.wait(1.4) if not gui.Parent then break end TweenService:Create(outline, TweenInfo.new(1.4), { Color = themeColor }):Play() task.wait(1.4) end end) print("RIVALS HUB: Premium settings loaded!") -- RIVALS HUB | KILL EVENT NOTIFICATIONS -- Delta executor | Standalone UI demo local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local pg = player:WaitForChild("PlayerGui") local old = pg:FindFirstChild("RivalsKillNotifications") if old then old:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "RivalsKillNotifications" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.Parent = pg local cyan = Color3.fromRGB(0, 245, 255) local purple = Color3.fromRGB(155, 90, 255) local container = Instance.new("Frame") container.Name = "NotificationContainer" container.Size = UDim2.fromOffset(300, 300) container.Position = UDim2.new(1, -320, 0, 90) container.BackgroundTransparency = 1 container.Parent = gui local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 9) layout.SortOrder = Enum.SortOrder.LayoutOrder layout.VerticalAlignment = Enum.VerticalAlignment.Top layout.Parent = container local counter = 0 local function Notify(titleText, messageText, duration) counter += 1 local card = Instance.new("Frame") card.Name = "KillEvent_" .. counter card.Size = UDim2.new(1, 0, 0, 68) card.BackgroundColor3 = Color3.fromRGB(14, 19, 34) card.BackgroundTransparency = 0.08 card.BorderSizePixel = 0 card.LayoutOrder = -counter card.Parent = container Instance.new("UICorner", card).CornerRadius = UDim.new(0, 12) local border = Instance.new("UIStroke") border.Color = cyan border.Thickness = 1.3 border.Parent = card local accent = Instance.new("Frame") accent.Size = UDim2.new(0, 4, 1, -18) accent.Position = UDim2.fromOffset(8, 9) accent.BackgroundColor3 = cyan accent.BorderSizePixel = 0 accent.Parent = card Instance.new("UICorner", accent).CornerRadius = UDim.new(1, 0) local title = Instance.new("TextLabel") title.Position = UDim2.fromOffset(22, 9) title.Size = UDim2.new(1, -32, 0, 23) title.BackgroundTransparency = 1 title.Text = "✦ " .. titleText title.TextColor3 = cyan title.TextSize = 14 title.Font = Enum.Font.GothamBold title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = card local message = Instance.new("TextLabel") message.Position = UDim2.fromOffset(22, 34) message.Size = UDim2.new(1, -32, 0, 22) message.BackgroundTransparency = 1 message.Text = messageText message.TextColor3 = Color3.fromRGB(220, 228, 242) message.TextSize = 12 message.Font = Enum.Font.GothamMedium message.TextXAlignment = Enum.TextXAlignment.Left message.Parent = card -- Slide in card.Position = UDim2.fromOffset(320, 0) TweenService:Create(card, TweenInfo.new( 0.35, Enum.EasingStyle.Quint, Enum.EasingDirection.Out ), { Position = UDim2.fromOffset(0, 0) }):Play() task.spawn(function() local durationValue = math.max(1, tonumber(duration) or 3) task.wait(durationValue) if not card.Parent then return end local out = TweenService:Create(card, TweenInfo.new(0.25), { BackgroundTransparency = 1, Position = UDim2.fromOffset(320, 0) }) for _, obj in ipairs(card:GetDescendants()) do if obj:IsA("TextLabel") then TweenService:Create(obj, TweenInfo.new(0.25), { TextTransparency = 1 }):Play() elseif obj:IsA("UIStroke") then TweenService:Create(obj, TweenInfo.new(0.25), { Transparency = 1 }):Play() end end out:Play() out.Completed:Wait() card:Destroy() end) end -- Demo notifications so you can test the animation Notify("RIVALS HUB", "Notification system ready!", 3) -- Call this function elsewhere in this script to display your own: -- Notify("ELIMINATION", "Event detected!", 3) -- Notify("STREAK", "3 events in a row!", 3) print("RIVALS HUB: Notification UI loaded!")