Não sou ciumento, popmundo !

Muda a opção de relacionamento para não sentir ciumes em todas as relações.

当前为 2024-11-29 提交的版本,查看 最新版本

// ==UserScript==
// @name        Não sou ciumento, popmundo !
// @namespace   Violentmonkey Scripts
// @description Muda a opção de relacionamento para não sentir ciumes em todas as relações.
// @match       https://*.popmundo.com/World/Popmundo.aspx/Character/Relations*
// @grant       none
// @version     1.6
// @license     M.I.T
// @author      -
// @description 23/11/2024, 13:47:04
// ==/UserScript==

(function() {
    'use strict';

    // Variável global para armazenar os personagens com romance maior que 20%
    let romanceCharacters = [];
    let iframe; // Iframe reutilizável

    // Função para aguardar o carregamento do iframe
    function awaitIframeLoad(iframe) {
        return new Promise((resolve, reject) => {
            iframe.off("load error"); // Remove eventuais listeners antigos
            iframe.on("load", function() {
                resolve(iframe[0].contentDocument || iframe[0].contentWindow.document);
            });
            iframe.on("error", function() {
                reject(new Error("Erro ao carregar o iframe."));
            });
        });
    }

    // Função para processar os personagens
    async function openCharacterView(index) {
        if (index >= romanceCharacters.length) {
            alert("Você não sente mais ciumes de ninguem!");
            iframe.remove(); // Remove o iframe após o processamento
            return;
        }

        let character = romanceCharacters[index];
        console.log(`Abrindo "Ver" para ${character.name} (ID: ${character.id})`);

        // Altera o src do iframe para o link do personagem
        iframe.attr("src", character.link);

        try {
            let iframeDoc = await awaitIframeLoad(iframe);

            let jealousySelect = jQuery(iframeDoc).find("#ctl00_cphTopColumn_ctl00_ddlSexCausesJealousy");
            let updateButton = jQuery(iframeDoc).find("#ctl00_cphTopColumn_ctl00_btnSexCausesJealousy");

            if (jealousySelect.length > 0) {
                jealousySelect.val("0").trigger("change"); // Muda o valor do select para "0"
                console.log(`Ciúmes desativados para ${character.name}`);

                if (updateButton.length > 0) {
                    console.log(`Clicando em "Atualizar configuração de ciúmes" para ${character.name}`);
                    updateButton.trigger("click"); // Simula o clique no botão de atualizar
                } else {
                    console.log(`Botão de atualizar não encontrado para ${character.name}`);
                }
            } else {
                console.log(`O select não foi encontrado para ${character.name}`);
            }
        } catch (error) {
            console.error(`Erro ao acessar o iframe para ${character.name}:`, error);
        } finally {
            setTimeout(() => openCharacterView(index + 1), 2000); // Processa o próximo personagem
        }
    }

    // Função principal para processar os personagens
    function processCharacters(event) {
        // Previne o comportamento padrão do botão
        event.preventDefault();

        // Reseta a lista de personagens
        romanceCharacters = [];

        // Seleciona todas as linhas da tabela
        jQuery("table.data tbody tr").each(function() {
            // Verifica se o progresso de romance existe
            let romanceBar = jQuery(this).find("td:nth-child(3) .progressBar");
            if (romanceBar.length > 0) {
                let romancePercentage = parseInt(romanceBar.attr("title")?.replace('%', '') || 0);
                if (romancePercentage > 20) {
                    let characterName = jQuery(this).find("td:first-child a strong").text().trim();
                    let characterId = jQuery(this).find("td:first-child a").attr("href").split('/').pop();
                    let viewLink = jQuery(this).find("td:nth-child(5) a").attr("href");
                    romanceCharacters.push({
                        name: characterName,
                        id: characterId,
                        link: viewLink
                    });
                }
            }
        });

        console.log("Personagens com romance maior que 20%:", romanceCharacters);

        // Inicia o processamento
        if (romanceCharacters.length > 0) {
            openCharacterView(0);
        } else {
            console.log("Nenhum personagem com romance maior que 20% foi encontrado.");
        }
    }

    // Adiciona o botão acima da tabela
    jQuery("<button>", {
        text: "Não sou ciumento, popmundo!",
        class: "cnf",
        css: {
            display: "block",
            margin: "10px auto",
            padding: "10px 20px",
            backgroundColor: "#007BFF",
            color: "#fff",
            border: "none",
            borderRadius: "5px",
            cursor: "pointer",
            fontSize: "16px",
            textAlign: "center"
        },
        click: processCharacters // Associa a função ao clique
    }).insertBefore("table.data");

    // Cria o iframe no início e o mantém oculto
    iframe = jQuery("<iframe>", {
        id: "characterViewIframe",
        css: {
            width: "800px",
            height: "600px",
            display: "none"
        }
    }).appendTo("body");

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址