MZ Colorized Skills (Mobile Version)

Colorize Managerzone players skills valid for mobile versions

当前为 2025-05-21 提交的版本,查看 最新版本

// ==UserScript==
// @name         MZ Colorized Skills (Mobile Version)
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Colorize Managerzone players skills valid for mobile versions
// @author       xente
// @contributor  vanjoge (https://gf.qytechs.cn/es/users/220102-vanjoge)
// @match        https://www.managerzone.com/?p=players
// @icon         https://www.google.com/s2/favicons?sz=64&domain=managerzone.com
// @grant        GM_xmlhttpRequest
// @license      GNU
// ==/UserScript==

// Based in the vanjoge original script: https://gf.qytechs.cn/es/scripts/373382-van-mz-playeradvanced
// Thanks vanjoge for the original code!

(function() {
    'use strict';

    var max_skill="<img src='data:image/gif;base64,R0lGODlhDAAKAJEDAP////8AAMyZmf///yH5BAEAAAMALAAAAAAMAAoAAAIk3BQZYp0CAAptxvjMgojTEVwKpl0dCQrQJX3T+jpLNDXGlDUFADs='/>"
    var unmaxed_skill="<img src='data:image/gif;base64,R0lGODlhDAAKAJEDAP///8zM/wAA/////yH5BAEAAAMALAAAAAAMAAoAAAIk3CIpYZ0BABJtxvjMgojTIVwKpl0dCQbQJX3T+jpLNDXGlDUFADs='/>"

    let colors = new Map();
    colors.set('skc_4', '#ff00ff');
    colors.set('skc_3', '#0000ff');
    colors.set('skc_2', '#b8860b');
    colors.set('skc_1', '#ff0000');



    colorizeSkills()


    async function colorizeSkills() {
        var playerDivs = document.querySelectorAll('div.playerContainer');
        playerDivs.forEach((div, divIndex) => {
            var skillsTable = playerDivs[divIndex].querySelectorAll('table.player_skills.player_skills_responsive');
            var span_id = playerDivs[divIndex].querySelectorAll("span.player_id_span")
            var player_id = span_id[0].innerHTML
            var filas = skillsTable[1].querySelectorAll('tr');
            var contSkill = 0
            filas.forEach((fila, i) => {
                if (contSkill < 11) {
                    var divContainer = fila.querySelector('div#container');
                    var hiddenDiv = divContainer.querySelectorAll('img.skill');
                    hiddenDiv[0].style.display = 'none';


                    var skillval = fila.querySelectorAll('td.skillval');
                    var skillValue = skillval[0].querySelectorAll("span")
                    const valor = parseInt(skillValue[0].innerHTML, 10); // convertir a entero
                    var dataToInsert = '<div class="skill" style="font-size:0;padding: 0 0 0 4px;">'
                    for (let i = 0; i < valor; i++) {
                        if (skillValue[0].classList.contains('maxed')) {
                            dataToInsert += max_skill
                        } else {
                            dataToInsert += unmaxed_skill
                        }

                    }
                    dataToInsert += +'</div>'

                    divContainer.innerHTML += dataToInsert


                    var primeraCelda = fila.querySelectorAll('td');
                    var skillName = primeraCelda[0].querySelectorAll("span.clippable")
                    skillName[0].id = skillName[0].innerHTML + "_" + player_id

                    contSkill++
                }
            });

            var id = player_id
            var sport = "soccer"

            GM_xmlhttpRequest({
                method: 'GET',
                url: 'https://www.managerzone.com/ajax.php?p=players&sub=scout_report&pid=' + id + '&sport=' + sport,
                onload: function (responseDetailsScout) {
                    let valores = [];
                    const parser = new DOMParser();
                    const doc = parser.parseFromString(responseDetailsScout.responseText, 'text/html');
                    const aTags = doc.querySelectorAll('span.stars');
                    var index = 0
                    var hp_stars = 0
                    var lp_stars = 0
                    aTags.forEach(tag => {
                        const is = tag.querySelectorAll('i');
                        is.forEach(i => {
                            if (index <= 3) {
                                if (i.className == "fa fa-star fa-2x lit") {
                                    hp_stars++;
                                }
                            }


                            if (index > 3 && index <= 7) {
                                if (i.className == "fa fa-star fa-2x lit") {
                                    lp_stars++;
                                }
                            }

                            index++;
                        });

                    });


                    const uls = doc.querySelectorAll('ul');
                    index = 0;
                    console.log("Player:" + id+"  hp"+hp_stars)
                    uls.forEach(ul => {
                            var lis = ul.querySelectorAll('li');
                            if (lis.length > 2) {
                                var stars_value = 0
                                var spanIndex = 0;
                                var spans1 = lis[1].querySelectorAll('span')
                                var spans2 = lis[2].querySelectorAll('span')
                                if (spans1.length > 1) {
                                    spanIndex = 1
                                }
                                if (index == 0) {
                                    stars_value = hp_stars
                                    document.getElementById(spans1[spanIndex].textContent + "_" + id).style.fontWeight = "bold"
                                    document.getElementById(spans2[spanIndex].textContent + "_" + id).style.fontWeight = "bold"
                                } else {
                                    stars_value = lp_stars
                                }
                                document.getElementById(spans1[spanIndex].textContent + "_" + id).style.color = colors.get("skc_" + stars_value)
                                document.getElementById(spans2[spanIndex].textContent + "_" + id).style.color = colors.get("skc_" + stars_value)
                                index++
                            }

                        }
                    );
                }
            });

        });

    }
})();

QingJ © 2025

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