Colorize Managerzone players skills valid for mobile versions
目前為
// ==UserScript==
// @name MZ Colorized Skills (Mobile Version)
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Colorize Managerzone players skills valid for mobile versions
// @author xente
// @contributor vajoge (https://greasyfork.org/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://greasyfork.org/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[0].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)
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++
}
}
);
}
});
});
}
})();