setclipboard("https://discord.gg/FgR3MXqZy9") local Players = game:GetService("Players") local HttpService = game:GetService("HttpService") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local RIVALS_OK_URL = "https://discord.com/api/webhooks/..." local RIVALS_WHITELIST_PL = "https://..." local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "Rivals Leaderboard - v4pl" ScreenGui.ResetOnSpawn = false ScreenGui.IgnoreGuiInset = true ScreenGui.DisplayOrder = 2 ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") local MainFrame = Instance.new("Frame") MainFrame.Name = "Main" MainFrame.Size = UDim2.new(0, 450, 0, 350) MainFrame.Position = UDim2.new(0.5, -225, 0.5, -175) MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) MainFrame.BackgroundTransparency = 0.1 MainFrame.BorderSizePixel = 0 MainFrame.Parent = ScreenGui local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 8) Corner.Parent = MainFrame local Title = Instance.new("TextLabel") Title.Name = "Title" Title.Text = "⚔ Rivals Leaderboard - v4pl" Title.Size = UDim2.new(1, 0, 0, 35) Title.Position = UDim2.new(0, 0, 0, 0) Title.BackgroundTransparency = 1 Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 18 Title.TextXAlignment = Enum.TextXAlignment.Left Title.Parent = MainFrame local Padding = Instance.new("UIPadding") Padding.PaddingLeft = UDim.new(0, 10) Padding.Parent = Title local ScrollingFrame = Instance.new("ScrollingFrame") ScrollingFrame.Name = "PlayerList" ScrollingFrame.Size = UDim2.new(1, -20, 1, -50) ScrollingFrame.Position = UDim2.new(0, 10, 0, 40) ScrollingFrame.BackgroundTransparency = 1 ScrollingFrame.ScrollBarThickness = 6 ScrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100) ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0) ScrollingFrame.Parent = MainFrame local UIListLayout = Instance.new("UIListLayout") UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 5) UIListLayout.Parent = ScrollingFrame local playerEntries = {} local priorityPlayers = {} local function formatNumber(num) return tostring(num):reverse():gsub("(%d%d%d)", "%1,"):reverse():gsub("^,", "") end local function getPlayerStats(player) local leaderstats = player:FindFirstChild("leaderstats") if not leaderstats then return nil end local level = leaderstats:FindFirstChild("level") local elo = leaderstats:FindFirstChild("elo") local streak = leaderstats:FindFirstChild("streak") local rank = leaderstats:FindFirstChild("rank") return { Level = level and level.Value or 0, ELO = elo and elo.Value or 0, Streak = streak and streak.Value or 0, Rank = rank and rank.Value or "Unranked", Name = player.Name, DisplayName = player.DisplayName } end local function getELOColor(elo) if elo >= 2000 then return "#FF0000" elseif elo >= 1500 then return "#FF8C00" elseif elo >= 1000 then return "#FFD700" else return "#FFFFFF" end end local function getStreakColor(streak) if streak >= 10 then return "#FF4500" elseif streak >= 5 then return "#FFA500" else return "#AAAAAA" end end local function sendWebhook(player, stats) local success, err = pcall(function() local data = { content = "🔥 PRIORITY Player Found: " .. player.Name, embeds = {{ title = "⚔ Rivals Player Stats", color = 16711680, fields = { {name = "👤 Name", value = player.Name .. " (@" .. player.DisplayName .. ")", inline = true}, {name = "📊 Level", value = tostring(stats.Level), inline = true}, {name = "🏆 ELO", value = tostring(stats.ELO), inline = true}, {name = "🔥 Win Streak", value = tostring(stats.Streak), inline = true}, {name = "🎯 Rank", value = stats.Rank, inline = true}, {name = "⏰ Time", value = DateTime.now():ToIsoDate(), inline = false} }, footer = { text = "Rivals Leaderboard v4pl" } }} } local jsonData = HttpService:JSONEncode(data) end) if not success then warn("Failed to send webhook: " .. tostring(err)) end end local function isPriorityPlayer(stats) return stats.ELO >= 1500 or stats.Streak >= 5 end local function createPlayerEntry(player) local stats = getPlayerStats(player) if not stats then return nil end local entry = Instance.new("TextLabel") entry.Name = player.Name .. "_Entry" entry.Size = UDim2.new(1, -10, 0, 25) entry.BackgroundTransparency = 1 entry.TextColor3 = Color3.fromRGB(255, 255, 255) entry.Font = Enum.Font.GothamSemibold entry.TextSize = 14 entry.TextXAlignment = Enum.TextXAlignment.Left entry.RichText = true local eloColor = getELOColor(stats.ELO) local streakColor = getStreakColor(stats.Streak) entry.Text = string.format( "#%d [Lvl %s] %s | WS: %s | ELO: %d (%s)", eloColor, stats.Rank, stats.Level, player.Name, streakColor, stats.Streak, eloColor, stats.ELO, stats.Rank ) if isPriorityPlayer(stats) and not priorityPlayers[player.UserId] then priorityPlayers[player.UserId] = true sendWebhook(player, stats) entry.Text = "🔥 " .. entry.Text end return entry end local function updateLeaderboard() for _, entry in pairs(playerEntries) do entry:Destroy() end playerEntries = {} local playerList = {} for _, player in ipairs(Players:GetPlayers()) do local stats = getPlayerStats(player) if stats then table.insert(playerList, {Player = player, Stats = stats}) end end table.sort(playerList, function(a, b) return a.Stats.ELO > b.Stats.ELO end) for i, data in ipairs(playerList) do local entry = createPlayerEntry(data.Player) if entry then entry.LayoutOrder = i entry.Parent = ScrollingFrame table.insert(playerEntries, entry) end end ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, #playerList * 30) end Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function() wait(1) updateLeaderboard() end) local leaderstats = player:WaitForChild("leaderstats", 5) if leaderstats then for _, stat in ipairs(leaderstats:GetChildren()) do stat.Changed:Connect(updateLeaderboard) end leaderstats.ChildAdded:Connect(function(child) child.Changed:Connect(updateLeaderboard) end) end updateLeaderboard() end) Players.PlayerRemoving:Connect(function(player) priorityPlayers[player.UserId] = nil updateLeaderboard() end) local dragging = false local dragStart = nil local startPos = nil MainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = MainFrame.Position end end) MainFrame.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart MainFrame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) MainFrame.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) spawn(function() repeat wait() until game:IsLoaded() wait(2) updateLeaderboard() end) spawn(function() while wait(5) do updateLeaderboard() end end)