Files
reallife-gamemode/ReallifeGamemode.Client/Gui/playerlist.ts
2021-04-19 01:54:14 +02:00

62 lines
2.0 KiB
TypeScript

/**
* @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<number, number> = new Map<number, number>();
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.FactionName}','${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 = "<tr><td>" + player.Id + "</td><td>" + player.Name + "</td><td>" + player.Ping + "</td>";
// table = table + tableRow;
// })
// return document.write(table);
//}