diff --git a/[core]/mercyv-loadingscreen/script.js b/[core]/mercyv-loadingscreen/script.js index ba78e3c8..9e8967e9 100644 --- a/[core]/mercyv-loadingscreen/script.js +++ b/[core]/mercyv-loadingscreen/script.js @@ -363,15 +363,30 @@ function initFiveMHandlers() { } }); - // Player count handler - window.addEventListener('message', (event) => { - if (event.data.eventName === 'playerCount') { - const el = document.querySelector('.player-count'); - if (el) { - el.textContent = `${event.data.count || 0}/${event.data.max || CONFIG.maxPlayers} Spieler Online`; - } + // Funktion, um die Spielerzahl direkt vom Server abzufragen +async function fetchPlayerCount() { + try { + // Ersetze dies mit deiner Server-IP und dem Port (Standard ist 30120) + // Wenn der Loadingscreen lokal auf dem Server läuft, klappt oft auch ein relativer Pfad oder die Server-Domain + const response = await fetch('http://DEINE_SERVER_IP:30120/dynamic.json'); + const data = await response.json(); + + const el = document.querySelector('.player-count'); + if (el) { + // data.clients gibt die aktuelle Spielerzahl aus der dynamic.json zurück + const maxPlayers = data.sv_maxclients || CONFIG.maxPlayers || 200; + el.textContent = `${data.clients}/${maxPlayers} Spieler Online`; } - }); + } catch (error) { + console.error("Fehler beim Abrufen der Spielerzahl:", error); + } +} + +// Führe die Funktion aus, sobald der Loadingscreen lädt +fetchPlayerCount(); + +// Optional: Alle 10 Sekunden aktualisieren +setInterval(fetchPlayerCount, 10000); // Expose for testing in browser console window.updateProgress = updateProgress;