// ==UserScript== // @name PontuacaoMZ // @namespace http://tampermonkey.net/ // @version 0.2 // @description Ferramenta que dá uma pontuação para seus jogadores para cada posição // @author Gabriel Menezes (mz_seds) // @match https://www.managerzone.com/* // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; setTimeout(() => { var players_container = document.getElementById("players_container"); var players_html = players_container.children; var pesos = { "Goleiro": { "Velocidade":0.09, "Resistência":0.09, "Inteligência":0.09, "Passe Curto":0.02, "Chute":0, "Cabeceio":0, "Defesa a Gol":0.55, "Controle de Bola":0.09, "Desarme":0, "Passe Longo":0.02, "Bola Parada":0, "Experiência":0.05, "Forma":0 }, "Zagueiro": { "Velocidade":0.25, "Resistência":0.16, "Inteligência":0.07, "Passe Curto":0.02, "Chute":0, "Cabeceio":0, "Defesa a Gol":0.0, "Controle de Bola":0.08, "Desarme":0.3, "Passe Longo":0.07, "Bola Parada":0, "Experiência":0.05, "Forma":0 }, "Ancora": { "Velocidade":0.25, "Resistência":0.18, "Inteligência":0.05, "Passe Curto":0.05, "Chute":0, "Cabeceio":0.02, "Defesa a Gol":0.0, "Controle de Bola":0.1, "Desarme":0.25, "Passe Longo":0.05, "Bola Parada":0, "Experiência":0.05, "Forma":0 }, "Meio": { "Velocidade":0.15, "Resistência":0.15, "Inteligência":0.1, "Passe Curto":0.15, "Chute":0, "Cabeceio":0, "Defesa a Gol":0, "Controle de Bola":0.12, "Desarme":0.2, "Passe Longo":0.08, "Bola Parada":0, "Experiência":0.05, "Forma":0 }, "Ponta": { "Velocidade":0.25, "Resistência":0.2, "Inteligência":0.06, "Passe Curto":0.04, "Chute":0.05, "Cabeceio":0, "Defesa a Gol":0, "Controle de Bola":0.15, "Desarme":0.05, "Passe Longo":0.15, "Bola Parada":0, "Experiência":0.05, "Forma":0 } , "Atacante": { "Velocidade":0.2, "Resistência":0.15, "Inteligência":0.05, "Passe Curto":0.04, "Chute":0.25, "Cabeceio":0.11, "Defesa a Gol":0, "Controle de Bola":0.15, "Desarme":0, "Passe Longo":0, "Bola Parada":0, "Experiência":0.05, "Forma":0 } } var habilidades = [ "Velocidade", "Resistência", "Inteligência", "Passe Curto", "Chute", "Cabeceio" , "Defesa a Gol", "Controle de Bola", "Desarme", "Passe Longo", "Bola Parada", "Experiência", "Forma" ] function calcularNotaPorPosicao(jogador, posicao) { let somatorioDaHabilidade = 0 let somatorioDoPeso = 0 habilidades.forEach(habilidade => { somatorioDaHabilidade = somatorioDaHabilidade + (jogador[habilidade] * pesos[posicao][habilidade]) somatorioDoPeso = somatorioDoPeso + pesos[posicao][habilidade] }) return somatorioDaHabilidade / somatorioDoPeso } function buscaHabilidadesDoJogador(allskillval) { let contador = 0 let jogador = {} for (var i = 0; i < allskillval.length; i++) { let habilidade = habilidades[contador] if (!allskillval[i].innerText.includes("%")){ jogador[habilidade] = allskillval[i].innerText.replace(/[()]/g, "") contador++ } } return jogador } for (var i = 0; i < players_html.length; i++) { var player = players_html[i]; var header = player.getElementsByClassName("subheader clearfix")[0]; var allskillval = player.getElementsByClassName("skillval") var jogador = buscaHabilidadesDoJogador(allskillval) var goleiro = calcularNotaPorPosicao(jogador, "Goleiro") var zagueiro = calcularNotaPorPosicao(jogador, "Zagueiro") var ancora = calcularNotaPorPosicao(jogador, "Ancora") var meio = calcularNotaPorPosicao(jogador, "Meio") var ponta = calcularNotaPorPosicao(jogador, "Ponta") var atacante = calcularNotaPorPosicao(jogador, "Atacante") const posicoes = [ {nome: "Goleiro", nota: goleiro}, {nome:"Zagueiro", nota: zagueiro}, {nome:"Ancora", nota: ancora}, {nome:"Meio", nota: meio}, {nome:"Ponta", nota: ponta}, {nome:"Atacante", nota:atacante } ] posicoes.sort((a,b) => (a.nota > b.nota) ? -1: 1) var stringNota = "" posicoes.forEach(posicao => { stringNota = stringNota + `${posicao.nome}: ${posicao.nota.toFixed(3)} || ` }) var nota = document.createElement("span"); var novaLinha = document.createElement("br"); nota.textContent = stringNota if (!window.location.href.includes("transfer")) header.appendChild(novaLinha) header.appendChild(nota) } }, 10000) })();