Show stylish totals and average rating in player stats
当前为
// ==UserScript==
// @name FMP Player Stats Summary (Styled)
// @namespace https://osama.dev
// @version 1.5
// @description Show stylish totals and average rating in player stats
// @match https://footballmanagerproject.com/Team/Player?id=*
// @grant none
// ==/UserScript==
(function () {
function parseNum(txt) {
const n = parseFloat(txt);
return isNaN(n) ? 0 : n;
}
function addStatsSummary() {
const recordsSection = document.querySelector('#Records');
if (!recordsSection) return;
const table = recordsSection.querySelector('table.recordstable');
if (!table) return;
const rows = Array.from(table.querySelectorAll('tr')).filter(r => r.children.length >= 9);
if (!rows.length) return;
let totals = { matches: 0, goals: 0, assists: 0, yellow: 0, red: 0, rating: 0 };
let ratingCount = 0;
rows.forEach(row => {
const cells = row.querySelectorAll('td');
if (cells.length >= 9) {
totals.matches += parseNum(cells[3].innerText);
totals.goals += parseNum(cells[4].innerText);
totals.assists += parseNum(cells[5].innerText);
totals.yellow += parseNum(cells[6].innerText);
totals.red += parseNum(cells[7].innerText);
const rate = parseNum(cells[8].innerText);
if (rate > 0) {
totals.rating += rate;
ratingCount++;
}
}
});
const avgRating = ratingCount ? (totals.rating / ratingCount).toFixed(2) : '0.00';
const summaryRow = document.createElement('tr');
summaryRow.style.backgroundColor = '#1d3322';
summaryRow.style.color = '#FFD700';
summaryRow.style.fontWeight = 'bold';
summaryRow.style.fontFamily = 'monospace';
summaryRow.style.borderTop = '2px solid #888';
summaryRow.innerHTML = `
<td colspan="3" style="text-align:left;">📊 Summary</td>
<td>${totals.matches}</td>
<td>${totals.goals}</td>
<td>${totals.assists}</td>
<td>${totals.yellow}</td>
<td>${totals.red}</td>
<td>${avgRating}</td>
<td></td>
`;
table.appendChild(summaryRow);
}
window.addEventListener('load', () => {
setTimeout(addStatsSummary, 1000);
});
})();