// ==UserScript== // @name TMVN History Transfer // @namespace https://trophymanager.com // @version 4 // @description Trophymanager: summary all seasons's transfer info and save data for TMVN League Transfer script (https://greasyfork.org/en/scripts/416755) // @match https://trophymanager.com/history/club/transfers/* // @grant none // @downloadURL none // ==/UserScript== (function () { 'use strict'; var transferSummary = []; var loadDone = false; var clubId = $('.box_sub_header a')[1].getAttribute('href').substring(6, $('.box_sub_header a')[1].getAttribute('href').toString().length - 1); var comboSeason = document.getElementById('stats_season').options; var seasonIds = []; for (let i = 0; i < comboSeason.length; i++) { seasonIds.push(comboSeason[i].value); } if (clubId != "" && seasonIds.length > 0) { seasonIds.forEach((seasonId) => { $.ajax('https://trophymanager.com/history/club/transfers/' + clubId + '/' + seasonId, { type: "GET", dataType: 'html', crossDomain: true, success: function (response) { let tdArr = $('.zebra.hover td', response); if (tdArr.length >= 3) { var bought, sold, balance, quantity, average; bought = Math.round(tdArr[tdArr.length - 3].children[0].innerText.replace(/,/g, '')); sold = Math.round(tdArr[tdArr.length - 2].children[0].innerText.replace(/,/g, '')); balance = sold - bought; if (bought > 0 && sold > 0) { quantity = (tdArr.length - 3) / 4; } else if ((bought == 0 && sold > 0) || (bought > 0 && sold == 0)) { quantity = Math.round((tdArr.length - 4) / 4); //bug when has sell/buy players but all prices = 0 --> round and accept wrong result } else if (bought == 0 && sold == 0) { quantity = 0; } if (quantity == 0) { average = 0; } else { average = Number(((sold + bought) / quantity).toFixed(1)); } transferSummary.push({ Season: seasonId, Bought: bought, Sold: sold, Balance: balance, Quantity: quantity, Average: average }); if (transferSummary.length >= seasonIds.length) { loadDone = true; } } }, error: function (e) {} }); }); } var myInterval = setInterval(append, 1000); function append() { if (!loadDone) { return; } clearInterval(myInterval); transferSummary.sort(function (a, b) { return b.Season - a.Season }); //order an object array /*APPEND SUMMARY TRANSFER*/ var summaryTransfer = "
" + "
" + "
" + "

Summary Transfer (M)

" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
"; if ($('#bteam_reminder').length == 1) { $(".main_center")[3].innerHTML += summaryTransfer; } else { $(".main_center")[2].innerHTML += summaryTransfer; } var summaryTransfer_content = "" + ""; var totalBought = 0, totalSold = 0, totalQuantity = 0; transferSummary.forEach((summary) => { summaryTransfer_content += ''; totalBought += summary.Bought; totalSold += summary.Sold; totalQuantity += summary.Quantity; }); summaryTransfer_content += ''; summaryTransfer_content += ''; summaryTransfer_content += "
SSBuySell+-#Avg
' + summary.Season + '' + summary.Bought.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + summary.Sold.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + summary.Balance.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + summary.Quantity + '' + summary.Average.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '
Average' + (totalBought / transferSummary.length).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + (totalSold / transferSummary.length).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + (Math.round(totalSold / transferSummary.length) - Math.round(totalBought / transferSummary.length)).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + (totalQuantity / transferSummary.length).toFixed(0) + '' + (totalQuantity > 0 ? ((totalSold + totalBought) / totalQuantity).toFixed(1) : 0) + '
Total' + totalBought.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + totalSold.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + (totalSold - totalBought).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + totalQuantity.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + '' + '
"; $("#summaryTransfer_content").append(summaryTransfer_content); $('.column3')[0].parentNode.removeChild($('.column3')[0]); localStorage.setItem(clubId + "_AVERAGE_TRANSFER", JSON.stringify({ "Time": new Date(), "Bought": Number((totalBought / transferSummary.length).toFixed(0)), "Sold": Number((totalSold / transferSummary.length).toFixed(0)), "Balance": Math.round(totalSold / transferSummary.length) - Math.round(totalBought / transferSummary.length), "Quantity": Number((totalQuantity / transferSummary.length).toFixed(0)), "Average": totalQuantity > 0 ? Number(((totalSold + totalBought) / totalQuantity).toFixed(1)) : 0, "SeasonCount": transferSummary.length })); } })();