NEUE ONLINELISTE DANKE EMRE.NL
This commit is contained in:
@@ -8,30 +8,47 @@ export default function playerList(globalData: IGlobalData): void {
|
|||||||
|
|
||||||
var playerlistBrowser: BrowserMp = null;
|
var playerlistBrowser: BrowserMp = null;
|
||||||
var pList;
|
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) => {
|
mp.events.add("showPlayerlist", (playersJson) => {
|
||||||
|
|
||||||
if (playerlistBrowser !== null) {
|
if (playerlistBrowser !== null) {
|
||||||
playerlistBrowser.destroy();
|
playerlistBrowser.destroy();
|
||||||
playerlistBrowser = null;
|
playerlistBrowser = null;
|
||||||
globalData.InMenu = false;
|
globalData.InMenu = false;
|
||||||
mp.gui.cursor.show(false, false);
|
mp.gui.cursor.show(false, false);
|
||||||
mp.gui.chat.activate(true);
|
mp.gui.chat.activate(true);
|
||||||
}
|
}
|
||||||
else if (!globalData.InMenu) {
|
else if (!globalData.InMenu) {
|
||||||
globalData.InMenu = true;
|
globalData.InMenu = true;
|
||||||
playerlistBrowser = mp.browsers.new('package://assets/html/Playerlist/Tabliste.html');
|
playerlistBrowser = mp.browsers.new('package://assets/html/onlinelist/index.html');
|
||||||
mp.gui.chat.activate(false);
|
mp.gui.chat.activate(false);
|
||||||
mp.gui.cursor.show(true, true);
|
mp.gui.cursor.show(true, true);
|
||||||
pList = JSON.parse(playersJson);
|
pList = JSON.parse(playersJson);
|
||||||
pList.forEach((player) => {
|
|
||||||
playerlistBrowser.execute(`ad_row('${JSON.stringify(player.Id)}','${JSON.stringify(player.Name)}',${JSON.stringify(player.FactionName)},'${JSON.stringify(player.Ping)}');`);
|
|
||||||
});
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
mp.events.add("CEF:fetchPlayerList", () => {
|
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});`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<div class="heading">
|
<div class="heading">
|
||||||
<h1>Spielerliste</h1>
|
<h1>Spielerliste</h1>
|
||||||
<h2>Spieler: <span id="player-count"></span></h2>
|
<h2>Spieler: <span id="player-count">0</span></h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
@@ -29,23 +29,24 @@
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<ol class="inline stats">
|
<ol class="inline stats">
|
||||||
<li><abbr title="Los Santos Police Department" class="group group--1">LSPD</abbr>: <span id="1">5</span></li>
|
<li><abbr title="Los Santos Police Department" class="group group--1">LSPD</abbr>: <span id="1">0</span></li>
|
||||||
<li><abbr title="Federal Investigation Bureau" class="group group--3">FIB</abbr>: <span id="3">5</span></li>
|
<li><abbr title="Federal Investigation Bureau" class="group group--3">FIB</abbr>: <span id="3">0</span></li>
|
||||||
<li><abbr title="Los Santos Emergency Department" class="group group--2">LSED</abbr>: <span id="2">5</span></li>
|
<li><abbr title="Los Santos Emergency Department" class="group group--2">LSED</abbr>: <span id="2">0</span></li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<ol class="inline stats">
|
<ol class="inline stats">
|
||||||
<li><abbr title="Grove Street Families" class="group group--7">GSF</abbr>: <span id="7">5</span></li>
|
<li><abbr title="Grove Street Families" class="group group--7">GSF</abbr>: <span id="7">0</span></li>
|
||||||
<li><abbr title="Front Yard Ballas" class="group group--8">FYB</abbr>: <span id="8">5</span></li>
|
<li><abbr title="Front Yard Ballas" class="group group--8">FYB</abbr>: <span id="8">0</span></li>
|
||||||
<li><abbr title="Los Santos Vagos" class="group group--5">LSV</abbr>: <span id="5">5</span></li>
|
<li><abbr title="Los Santos Vagos" class="group group--5">LSV</abbr>: <span id="5">0</span></li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<ol class="inline stats">
|
<ol class="inline stats">
|
||||||
<li><abbr title="Weazel News" class="group group--9">NR</abbr>: <span id="9">5</span></li>
|
<li><abbr title="Weazel News" class="group group--9">NR</abbr>: <span id="9">0</span></li>
|
||||||
<li><abbr title="Zivilisten" class="group group--0">Zivilisten</abbr>: <span id="0">5</span></li>
|
<li><abbr title="Zivilisten" class="group group--0">Zivilisten</abbr>: <span id="0">0</span></li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script src="../../js/jquery-3.3.1.min.js"></script>
|
||||||
<script src="package://assets/js/onlinelist/script.js"></script>
|
<script src="package://assets/js/onlinelist/script.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,19 +1,23 @@
|
|||||||
window.onbeforeunload = () => { window.scrollTo(0, 0); }
|
window.onbeforeunload = () => { window.scrollTo(0, 0); }
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
mp.trigger('CEF:PlayerList_Loaded');
|
||||||
|
});
|
||||||
|
|
||||||
setPlayerCount = (factionId, value) => {
|
setPlayerCount = (factionId, value) => {
|
||||||
if (factionId == -1) {
|
if (factionId == -1) {
|
||||||
document.getElementById('player-count').innerHTML = value;
|
document.getElementById('player-count').innerHTML = value;
|
||||||
} else if (factionId >= 0 && factionId <= 9) {
|
} else if (factionId >= 0 && factionId <= 9) {
|
||||||
document.getElementById(factionId).innerHTML = value;
|
document.getElementById(factionId).innerHTML = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addPlayerEntry = (userId, userName, factionId, factionName, userPing) => {
|
function addPlayerEntry(userId, userName, factionId, factionName, userPing) {
|
||||||
document.getElementById('players').innerHTML += `<tr><td>${userId}</td> <td>${userName}</td> <td class="group group--${factionId}">${factionName}</td> <td>${userPing}</td></tr>`;
|
document.getElementById('players').innerHTML += `<tr><td>${userId}</td> <td>${userName}</td> <td class="group group--${factionId}">${factionName}</td> <td>${userPing}</td></tr>`;
|
||||||
}
|
}
|
||||||
|
|
||||||
addPlayerEntries = (json) => {
|
addPlayerEntries = (json) => {
|
||||||
JSON.parse(json).forEach(e => {
|
JSON.parse(json).forEach(e => {
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -453,7 +453,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
int amount = 0;
|
int amount = 0;
|
||||||
|
|
||||||
var tempFactionWeapon = weapons.Where(f => f.WeaponModel == weapon).FirstOrDefault();
|
var tempFactionWeapon = weapons.Where(f => f.WeaponModel == weapon).FirstOrDefault();
|
||||||
if(tempFactionWeapon != null)
|
if (tempFactionWeapon != null)
|
||||||
{
|
{
|
||||||
amount = tempFactionWeapon.Ammount;
|
amount = tempFactionWeapon.Ammount;
|
||||||
}
|
}
|
||||||
@@ -513,7 +513,7 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
player.SendNotification("~r~Im Dienst kannst du keine Kleidung kaufen", false);
|
player.SendNotification("~r~Im Dienst kannst du keine Kleidung kaufen", false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(JobBase.GetPlayerInJob().Contains(player))
|
if (JobBase.GetPlayerInJob().Contains(player))
|
||||||
{
|
{
|
||||||
player.SendNotification("~r~Im aktiven Job kannst du keine Kleidung kaufen", false);
|
player.SendNotification("~r~Im aktiven Job kannst du keine Kleidung kaufen", false);
|
||||||
return;
|
return;
|
||||||
@@ -686,12 +686,18 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
|
|
||||||
List<Player> players = NAPI.Pools.GetAllPlayers().Where(p => p.IsLoggedIn() == true).OrderBy(o => o.Handle.Value).ToList();
|
List<Player> players = NAPI.Pools.GetAllPlayers().Where(p => p.IsLoggedIn() == true).OrderBy(o => o.Handle.Value).ToList();
|
||||||
|
|
||||||
var listPlayers = players.Select(p => new
|
var listPlayers = players.Select(p =>
|
||||||
{
|
{
|
||||||
Id = p.Handle.Value,
|
User u = p.GetUser();
|
||||||
p.Name,
|
|
||||||
p.Ping,
|
return new
|
||||||
FactionName = p.GetUser()?.Faction?.Name ?? "Zivilist",
|
{
|
||||||
|
Id = p.Handle.Value,
|
||||||
|
p.Name,
|
||||||
|
p.Ping,
|
||||||
|
FactionName = u?.Faction?.Name ?? "Zivilist",
|
||||||
|
FactionId = u?.FactionId ?? 0
|
||||||
|
};
|
||||||
});
|
});
|
||||||
player.TriggerEvent("showPlayerlist", JsonConvert.SerializeObject(listPlayers));
|
player.TriggerEvent("showPlayerlist", JsonConvert.SerializeObject(listPlayers));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user