FMP More Player Info

获取更多信息

当前为 2024-09-21 提交的版本,查看 最新版本

// ==UserScript==
// @name         FMP More Player Info
// @description  获取更多信息
// @version      0.5
// @match        https://footballmanagerproject.com/Team/Player*
// @exclude      https://footballmanagerproject.com/Team/Players*
// @license      MIT
// @namespace https://greasyfork.org/users/1304483
// ==/UserScript==

const currentUrl = window.location.href;
const urlObj = new URL(currentUrl);
const id = urlObj.searchParams.get('id');

const moreInfoDiv = document.createElement('div');
moreInfoDiv.className = 'board fmpx box';
moreInfoDiv.style.flexGrow = 0;
moreInfoDiv.style.flexBasis = '200px';

const titleDiv = document.createElement('div');
titleDiv.className = 'title';
const mainDiv = document.createElement('div');
mainDiv.className = 'main';
mainDiv.textContent = '更多信息';
titleDiv.appendChild(mainDiv)
moreInfoDiv.appendChild(titleDiv);

const infoDiv = document.createElement('div');
infoDiv.className = 'moreinfo';
infoDiv.style.color = 'white';
GetMarketValue(id,function(marketValue,ratingValue) {
    infoDiv.innerHTML += '<span style="color:#fffa33">市场价值:</span>'
    infoDiv.innerHTML += SeprateNumber(marketValue);
    infoDiv.innerHTML += '<br>'
    infoDiv.innerHTML += '<span style="color:#fffa33">回收价值:</span>'
    infoDiv.innerHTML += SeprateNumber(ratingValue/2);
    infoDiv.innerHTML += '<br>'
});
GetBidInfo(id,function(isBotTeam,maxBid,minBid){
    if(isBotTeam){
        infoDiv.innerHTML += '<span style="color:#fffa33">最小报价:</span>'
        infoDiv.innerHTML += SeprateNumber(Math.floor(minBid));
        infoDiv.innerHTML += '<br>'
    }
    else{
        infoDiv.innerHTML += '<span style="color:#fffa33">最小报价:</span>'
        infoDiv.innerHTML += SeprateNumber(Math.floor(minBid));
        infoDiv.innerHTML += '<br>'
        infoDiv.innerHTML += '<span style="color:#fffa33">最多报价:</span>'
        infoDiv.innerHTML += SeprateNumber(maxBid);
        infoDiv.innerHTML += '<br>'
    }
});
moreInfoDiv.appendChild(infoDiv);

const targetElement = document.getElementById('ActionsBoard');
targetElement.parentNode.insertBefore(moreInfoDiv, targetElement);

function GetMarketValue(pid,callback){
    $.ajax({
        type: "GET",
        url: '/Players/GetPlayerMarketValue',
        data: {
            playerid: pid,
        },
        success: function (result) {
            console.log(result);
            callback(result.marketValue,result.ratingPrice);
        }
    });
}

function GetBidInfo(pid,callback){
    $.ajax({
        type: "POST",
        url: '/Players/GetDirectBidInfo',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify({
            playerid: pid,
        }),
        success: function (result) {
            console.log(result);
            callback(result.player.isBotTeam,result.player.maxBid,result.player.minimumBid);
        }
    });
}

function SeprateNumber(num) {
    return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}