modifique esse scrip levando em consideraçao que : dentro do  leadboard tem o Scoloing frame chamado "PlayerScroller" e dentro dele tem o frame chamado PlayerFrame : -- Serviços necessários
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")

-- DataStore para armazenar as sequências (streaks) dos jogadores
local PlayerDataStore = DataStoreService:GetDataStore("PlayerStreaks")

-- Armazena os dados dos jogadores
local playerDataTable = {}

-- Função para obter a data atual em formato numérico YYYYMMDD
local function getDateInteger(utc)
	local t = os.date("!*t", utc) -- Hora UTC
	local dateInteger = t.year * 10000 + t.month * 100 + t.day
	return dateInteger
end

-- Função para atualizar o leaderboard
local function updateLeaderboard()
	-- Prepara a lista de jogadores ordenada
	local sortedPlayers = {}
	for player, data in pairs(playerDataTable) do
		table.insert(sortedPlayers, {Player = player, Streak = data.Streak})
	end

	-- Ordena os jogadores por streak (decrescente)
	table.sort(sortedPlayers, function(a, b)
		return a.Streak > b.Streak
	end)

	-- Para cada jogador, atualiza a GUI dele
	for _, player in ipairs(Players:GetPlayers()) do
		-- Obtém o PlayerGui do jogador
		local playerGui = player:FindFirstChildOfClass("PlayerGui")
		if playerGui then
			-- Encontra sua leaderboard GUI
			local leaderboardGui = playerGui:FindFirstChild("CustomLeaderboard") -- Substitua "CustomLeaderboard" pelo nome da sua GUI
			if leaderboardGui then
				-- Encontra os elementos necessários na GUI
				local leaderboardFrame = leaderboardGui:FindFirstChild("LeaderboardFrame") -- Ajuste o nome se necessário
				if leaderboardFrame then
					local playerListFrame = leaderboardFrame:FindFirstChild("PlayerListFrame") -- Ajuste o nome se necessário
					if playerListFrame then
						-- Limpa a lista atual
						for _, child in ipairs(playerListFrame:GetChildren()) do
							if child:IsA("Frame") then
								child:Destroy()
							end
						end

						local yPos = 0
						for index, playerInfo in ipairs(sortedPlayers) do
							local playerName = playerInfo.Player.Name
							local streak = playerInfo.Streak

							local playerEntry = Instance.new("Frame")
							playerEntry.Size = UDim2.new(1, -10, 0, 30)
							playerEntry.Position = UDim2.new(0, 5, 0, yPos)
							playerEntry.BackgroundTransparency = 1
							playerEntry.Parent = playerListFrame

							local playerLabel = Instance.new("TextLabel")
							playerLabel.Size = UDim2.new(1, 0, 1, 0)
							playerLabel.BackgroundTransparency = 1
							playerLabel.Text = tostring(streak).." 🔥  "..playerName
							playerLabel.TextColor3 = Color3.new(1, 1, 1)
							playerLabel.Font = Enum.Font.SourceSansBold
							playerLabel.TextSize = 20
							playerLabel.TextXAlignment = Enum.TextXAlignment.Left
							playerLabel.Parent = playerEntry

							yPos = yPos + 30
						end
						playerListFrame.CanvasSize = UDim2.new(0, 0, 0, yPos)
					else
						warn("PlayerListFrame não encontrado na GUI do jogador "..player.Name)
					end
				else
					warn("LeaderboardFrame não encontrado na GUI do jogador "..player.Name)
				end
			else
				warn("Leaderboard GUI não encontrada no PlayerGui do jogador "..player.Name)
			end
		else
			warn("PlayerGui não encontrado para o jogador "..player.Name)
		end
	end
end

-- Evento quando um jogador entra no jogo
Players.PlayerAdded:Connect(function(player)
	-- Tenta carregar os dados do jogador do DataStore
	local success, data = pcall(function()
		return PlayerDataStore:GetAsync(player.UserId)
	end)

	if not success then
		warn("Erro ao obter dados para o jogador: "..player.Name)
		data = {}
	end

	if not data then
		data = {
			LastLoginDate = nil,
			Streak = 0
		}
	end

	local currentUnixTime = os.time()
	local currentDate = getDateInteger(currentUnixTime)
	local lastLoginDate = data.LastLoginDate

	if lastLoginDate then
		local dateDifference = currentDate - lastLoginDate
		if dateDifference == 1 then
			data.Streak = data.Streak + 1
		elseif dateDifference > 1 then
			data.Streak = 1
		elseif dateDifference == 0 then
			-- Já entrou hoje, não faz nada
		else
			data.Streak = 1
		end
	else
		data.Streak = 1
	end

	data.LastLoginDate = currentDate

	-- Salva os dados atualizados no DataStore
	local saveSuccess, err = pcall(function()
		PlayerDataStore:SetAsync(player.UserId, data)
	end)

	if not saveSuccess then
		warn("Erro ao salvar dados para o jogador: "..player.Name.."\n"..err)
	end

	-- Armazena os dados do jogador na tabela
	playerDataTable[player] = data

	-- Atualiza o leaderboard
	updateLeaderboard()
end)

-- Evento quando um jogador sai do jogo
Players.PlayerRemoving:Connect(function(player)
	-- Remove os dados do jogador da tabela
	playerDataTable[player] = nil
	-- Atualiza o leaderboard
	updateLeaderboard()
end)