您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Filtra jogadores com base na faixa de estrelas selecionada, expandindo histórias ocultas automaticamente.
// ==UserScript== // @name TrophyManager - Filtrar por Faixa de Estrelas // @namespace http://tampermonkey.net/ // @version 1.4 // @description Filtra jogadores com base na faixa de estrelas selecionada, expandindo histórias ocultas automaticamente. // @author Kraft.F.C // @match https://trophymanager.com/home/* // @match https://trophymanager.com/league/* // @grant none // @license MIT // ==/UserScript== (function () { 'use strict'; // Função para expandir todas as histórias semelhantes function expandirTodasAsHistorias(callback) { // Seleciona todos os botões "Show similar stories" const botoesMostrar = document.querySelectorAll(".similar_stories_show"); if (botoesMostrar.length === 0) { console.log("Nenhuma história para expandir."); callback(); return; } let botoesRestantes = botoesMostrar.length; botoesMostrar.forEach(botao => { botao.click(); // Simula o clique no botão botoesRestantes--; // Quando todos os botões forem clicados, executa o callback if (botoesRestantes === 0) { console.log("Todas as histórias semelhantes foram expandidas."); setTimeout(callback, 1000); // Aguarda o carregamento antes de chamar o callback } }); } // Função para filtrar jogadores com base nas estrelas function filtrarJogadores() { // Obtém os valores mínimo e máximo do filtro const estrelasMin = parseFloat(document.getElementById("estrelasMin").value); const estrelasMax = parseFloat(document.getElementById("estrelasMax").value); // Seleciona todos os posts com jogadores const posts = document.querySelectorAll("#feed .feed_post"); posts.forEach(post => { // Conta as estrelas no post const estrelas = post.querySelectorAll("img[src='/pics/star_green.png']").length; const meiaEstrela = post.querySelector("img[src='/pics/half_star_green.png']") ? 0.5 : 0; const totalEstrelas = estrelas + meiaEstrela; // Exibe ou oculta o post com base no filtro if (totalEstrelas >= estrelasMin && totalEstrelas <= estrelasMax) { post.style.display = "block"; // Exibe } else { post.style.display = "none"; // Oculta } }); console.log(`Filtro aplicado: ${estrelasMin} a ${estrelasMax} estrelas.`); } // Função para criar o painel de filtro function criarPainelFiltro() { const painel = document.createElement("div"); painel.style.position = "fixed"; painel.style.bottom = "10px"; painel.style.right = "10px"; painel.style.backgroundColor = "#28a745"; painel.style.border = "1px solid #ccc"; painel.style.padding = "10px"; painel.style.borderRadius = "5px"; painel.style.boxShadow = "0 2px 5px rgba(0,0,0,0.3)"; painel.innerHTML = ` <label style="font-weight: bold; display: block; margin-bottom: 5px;">Filtrar por Estrelas</label> <label>Estrelas Mínimas: <select id="estrelasMin"> <option value="1">1</option> <option value="1.5">1.5</option> <option value="2">2</option> <option value="2.5">2.5</option> <option value="3">3</option> <option value="3.5">3.5</option> <option value="4" selected>4</option> <option value="4.5">4.5</option> <option value="5">5</option> </select> </label> <label>Estrelas Máximas: <select id="estrelasMax"> <option value="1">1</option> <option value="1.5">1.5</option> <option value="2">2</option> <option value="2.5">2.5</option> <option value="3">3</option> <option value="3.5">3.5</option> <option value="4">4</option> <option value="4.5">4.5</option> <option value="5" selected>5</option> </select> </label> <button id="btnFiltrar" style="margin-top: 10px; padding: 5px 10px; border: none; background-color: #28a745; color: white; border-radius: 3px; cursor: pointer;">Filtrar</button> `; document.body.appendChild(painel); // Adiciona o evento de clique ao botão de filtrar document.getElementById("btnFiltrar").addEventListener("click", () => { expandirTodasAsHistorias(filtrarJogadores); }); } // Cria o painel de filtro quando a página carrega window.addEventListener("load", criarPainelFiltro); })();