Basic Statistics for the next match

Upgrade from Star players script

// ==UserScript==
// @name           Basic Statistics for the next match
// @version        3.7
// @description	   Upgrade from Star players script
// @author         Spieler17
// @description    You can immediately find out the result of the league match in the viewing mode of the match, as well as the starting lineups in the stars.
// @include	   https://trophymanager.com/matches/*
// @namespace https://gf.qytechs.cn/users/32455
// @grant       function
// ==/UserScript==

var funShowStars;

function isOKForShow() {
	var loading = document.getElementsByClassName("loading")[0];
	var shown = document.getElementById("mystarbox");
	if (loading != null)
		return false;
	if (shown != null)
		return false;
	return true;
}

function countStars(str) {
	var num1 = str.lastIndexOf("_") + 1;
	var num2 = str.lastIndexOf("\"");
	return parseInt(str.substring(num1, num2));
}

function getStars(starnum) {

	var num = Math.round(starnum * 100 / 55);

	if (num < 10)
		return "<img src=\"/pics/half_star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"> (";
	if (num < 20)
		return "<img src=\"/pics/star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"> (";
	if (num < 30)
		return "<img src=\"/pics/star.png\"><img src=\"/pics/half_star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"> (";
	if (num < 40)
		return "<img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"> (";
	if (num < 50)
		return "<img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/half_star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"> (";
	if (num < 61)
		return "<img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/dark_star.png\"><img src=\"/pics/dark_star.png\"> (";
	if (num < 72)
		return "<img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/half_star.png\"><img src=\"/pics/dark_star.png\"> (";
	if (num < 84)
		return "<img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/dark_star.png\"> (";
	if (num < 93.5)
		return "<img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/half_star.png\"> (";

	return "<img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/star.png\"><img src=\"/pics/star.png\"> (";
}

function GetPlayerData(playerID) {
	$.ajaxSetup({
		async: false
	});
	var player;
	$.post("/ajax/tooltip.ajax.php", {
		"player_id": playerID
	}, function (responseText) {
		var data = JSON.parse(responseText);
		player = {
			id: data.player.player_id,
			position: data.player.fp,
			ASI: Number(data.player.skill_index.split(',').join('')),
			xp: Number(data.player.routine.split(',').join('')),
			age: Number(data.player.age),
			month: Number(data.player.months),
			wage: Number(data.player.wage.replace("<span class='coin'>", "").replace("<\/span>", "").split(',').join(''))
		};
	});
	return player;
}

let BP = {
	/**
	 * @param {number} asi
	 * @param {number} age
	 * @param {number} month
	 * @param {number} position
	 * @returns {number} calculated BP
	 */
	compute: function (asi, age, month, position) {
		let pow = Math.pow;
		if (position === "GK") {
			return Math.round((asi * 500 * pow((300 / (age * 12 + month)), 2.5)) * 0.75);
		} else {
			return Math.round(asi * 500 * pow((300 / (age * 12 + month)), 2.5));
		}
	}
};

function ShowInfo() {
	if (isOKForShow() == true) {
		var divs = document.getElementsByClassName("player_field")[0].getElementsByTagName("div");
		var i = 0;
		var homeStar = 0;
		var homeXP = 0;
		var homeAge = 0;
		var homeASI = 0;
		var homeWage = 0;
		var homeBP = 0;

		var awayStar = 0;
		var awayXP = 0;
		var awayAge = 0;
		var awayASI = 0;
		var awayWage = 0;
		var awayBP = 0;

		for (; i <= 10; i++) {
			homeStar += countStars(divs[i * 2].innerHTML);
			let playerID = divs[i * 2].attributes[1].value;
			let player = GetPlayerData(playerID);
			homeXP += player.xp;
			homeAge += player.age * 12 + player.month;
			homeASI += player.ASI;
			homeWage += player.wage;
			homeBP += BP.compute(player.ASI, player.age, player.month, player.position);
		}
		for (; i <= 21; i++) {
			awayStar += countStars(divs[i * 2].innerHTML);
			let playerID = divs[i * 2].attributes[1].value;
			let player = GetPlayerData(playerID);
			awayXP += player.xp;
			awayAge += player.age * 12 + player.month;
			awayASI += player.ASI;
			awayWage += player.wage;
			awayBP += BP.compute(player.ASI, player.age, player.month, player.position);
		}
		homeStar = homeStar / 2;
		homeStar = homeStar.toFixed(1);
		awayStar = awayStar / 2;
		awayStar = awayStar.toFixed(1);

		var newdiv = document.createElement("div");

		newdiv.innerHTML =
			"<br><div id=\"mystarbox\" class=\"home color\" style=\"background-color:rgb(127,127,127)\"><b style=\"color: gold;\">" + getStars(homeStar) + homeStar + "/55)</b></div><div class=\"away color\"  style=\"background-color:rgb(10,5,76)\"><b style=\"color: gold;\">" + getStars(awayStar) + awayStar + "/55)</b></div>" +

			"<br><div id=\"myxp\" class=\"home color\" style=\"background-color:rgb(127,127,127)\"><b style=\"color: gold;\">" + "XP:" + (homeXP / 11).toFixed(1) + " Age:" + (homeAge / 11 / 12).toFixed(1) + " ASI:" + (homeASI / 11).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ".") + "</b></div><div class=\"away color\"  style=\"background-color:rgb(10,5,76)\"><b style=\"color: gold;\">" + "XP:" + (awayXP / 11).toFixed(1) + " Age:" + (awayAge / 11 / 12).toFixed(1) + " ASI:" + (awayASI / 11).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ".") + "</b></div>" +

			"<br><div id=\"myxp\" class=\"home color\" style=\"background-color:rgb(127,127,127)\"><b style=\"color: gold;\">" + "BP:" + (homeBP / 11 / 1000).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ".") + " Wage:" + (homeWage / 11 / 1000).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ".") + "</b></div><div class=\"away color\"  style=\"background-color:rgb(10,5,76)\"><b style=\"color: gold;\">" + "BP:" + (awayBP / 11 / 1000).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ".") + " Wage:" + (awayWage / 11 / 1000).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ".") + "</b></div>"

			document.getElementsByClassName("nameplate")[0].appendChild(newdiv);
	}
}

if (location.href.indexOf("matches") != -1) {
	setTimeout(ShowInfo, 5000);
}

QingJ © 2025

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