/** * @overview Life of German Reallife - Gui Playerlist playerlist.js * @author VegaZ. Siga. * @copyright (c) 2008 - 2018 Life of German */ export default function playerList(globalData: IGlobalData): void { var playerlistBrowser: BrowserMp = null; var pList; var factionPlayersMap: Map = new Map(); const factionIds = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; mp.events.add("showPlayerlist", (playersJson) => { if (playerlistBrowser !== null) { playerlistBrowser.destroy(); playerlistBrowser = null; globalData.InMenu = false; mp.gui.cursor.show(false, false); mp.gui.chat.activate(true); } else if (!globalData.InMenu) { globalData.InMenu = true; playerlistBrowser = mp.browsers.new('package://assets/html/onlinelist/index.html'); mp.gui.chat.activate(false); mp.gui.cursor.show(true, true); pList = JSON.parse(playersJson); } }); mp.events.add("CEF:PlayerList_Loaded", () => { factionIds.forEach(f => { factionPlayersMap.set(f, 0); }); pList.forEach((player) => { var facId = player.FactionId; playerlistBrowser.execute(`addPlayerEntry('${player.Id}','${player.Name}', '${facId}','${player.Ping}');`); factionPlayersMap.set(facId, factionPlayersMap.get(facId) + 1); }); factionPlayersMap.forEach((value, key) => { playerlistBrowser.execute(`setPlayerCount(${key}, ${value});`) }); playerlistBrowser.execute(`setPlayerCount(-1, ${pList.length});`); }); } //function getTable() { // var table = ""; // pList.forEach((player) => { // var tableRow = "" + player.Id + "" + player.Name + "" + player.Ping + ""; // table = table + tableRow; // }) // return document.write(table); //}