Inventory and onlinelist now pre load on login and open without delay on keybind press.
This commit is contained in:
@@ -5,30 +5,39 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
export default function playerList(globalData: IGlobalData): void {
|
export default function playerList(globalData: IGlobalData): void {
|
||||||
|
|
||||||
var playerlistBrowser: BrowserMp = null;
|
var playerlistBrowser: BrowserMp = null;
|
||||||
var pList;
|
var pList = [];
|
||||||
|
var loaded = false;
|
||||||
var factionPlayersMap: Map<number, number> = new Map<number, number>();
|
var factionPlayersMap: Map<number, number> = new Map<number, number>();
|
||||||
const factionIds = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
const factionIds = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||||
|
|
||||||
mp.events.add("showPlayerlist", (playersJson) => {
|
mp.events.add("loadPlayerListCEF", () => {
|
||||||
if (playerlistBrowser !== null) {
|
if (playerlistBrowser !== null) {
|
||||||
playerlistBrowser.destroy();
|
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');
|
playerlistBrowser = mp.browsers.new('package://assets/html/onlinelist/index.html');
|
||||||
|
});
|
||||||
|
|
||||||
|
mp.events.add("showPlayerlist", (playersJson) => {
|
||||||
|
if (!globalData.InMenu && !loaded) {
|
||||||
|
globalData.InMenu = true;
|
||||||
|
loaded = true;
|
||||||
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);
|
||||||
|
playerlistBrowser.execute(`showPlayerList()`);
|
||||||
|
} else if (loaded) {
|
||||||
|
globalData.InMenu = false;
|
||||||
|
loaded = false;
|
||||||
|
mp.gui.cursor.show(false, false);
|
||||||
|
mp.gui.chat.activate(true);
|
||||||
|
playerlistBrowser.execute(`closePlayerList()`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
mp.events.add("CEF:PlayerList_Loaded", () => {
|
mp.events.add("CEF:PlayerList_Loaded", () => {
|
||||||
|
playerlistBrowser.execute(`clear_row()`);
|
||||||
|
|
||||||
factionIds.forEach(f => {
|
factionIds.forEach(f => {
|
||||||
factionPlayersMap.set(f, 0);
|
factionPlayersMap.set(f, 0);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -8,7 +8,13 @@ html {
|
|||||||
-ms-user-select: none;
|
-ms-user-select: none;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
.show {
|
||||||
|
display: show !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hidden {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
html, body {
|
html, body {
|
||||||
margin: unset;
|
margin: unset;
|
||||||
}
|
}
|
||||||
@@ -209,4 +215,6 @@ ol.inline.stats {
|
|||||||
ol.inline.stats abbr {
|
ol.inline.stats abbr {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*# sourceMappingURL=style.css.map */
|
/*# sourceMappingURL=style.css.map */
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
<div name="inventory" class="inventory hidden">
|
||||||
|
|
||||||
<div class="alerts" id='alertbox'>
|
<div class="alerts" id='alertbox'>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -108,6 +110,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<div id="invisible" style="display: none"></div>
|
<div id="invisible" style="display: none"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script src="../../js/jquery-3.3.1.min.js"></script>
|
<script src="../../js/jquery-3.3.1.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
@@ -176,6 +179,20 @@
|
|||||||
|
|
||||||
var vehInvItem = [];
|
var vehInvItem = [];
|
||||||
|
|
||||||
|
function showInventory() {
|
||||||
|
lastClass = "backpackClass";
|
||||||
|
|
||||||
|
document.getElementsByName("backpackClass")[0].classList.remove("hidden");
|
||||||
|
document.getElementsByName("vehClass")[0].classList.remove("hidden");
|
||||||
|
document.getElementsByName("vehClass")[0].classList.toggle("hidden");
|
||||||
|
//document.getElementsByName("handelClass")[0].style.visibility = "hidden";
|
||||||
|
document.getElementsByName("inventory")[0].classList.remove("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeInventory() {
|
||||||
|
document.getElementsByName("inventory")[0].classList.toggle("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
function setBackpackItems(jsonItemArr) {
|
function setBackpackItems(jsonItemArr) {
|
||||||
console.log(jsonItemArr);
|
console.log(jsonItemArr);
|
||||||
var parsedItemArr = JSON.parse(jsonItemArr)
|
var parsedItemArr = JSON.parse(jsonItemArr)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
<link rel="stylesheet" href="../../css/onlinelist/style.css">
|
<link rel="stylesheet" href="../../css/onlinelist/style.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div name="OnlineList" class="onlineList hidden">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<div class="heading">
|
<div class="heading">
|
||||||
<h1>Spielerliste</h1>
|
<h1>Spielerliste</h1>
|
||||||
@@ -44,6 +45,8 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<script src="../../js/jquery-3.3.1.min.js"></script>
|
<script src="../../js/jquery-3.3.1.min.js"></script>
|
||||||
<script src="../../js/onlinelist/stupidtable.min.js"></script>
|
<script src="../../js/onlinelist/stupidtable.min.js"></script>
|
||||||
<script src="../../js/onlinelist/script.js"></script>
|
<script src="../../js/onlinelist/script.js"></script>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
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) {
|
||||||
@@ -9,6 +8,21 @@ setPlayerCount = (factionId, value) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showPlayerList() {
|
||||||
|
document.getElementsByName("OnlineList")[0].classList.remove("hidden");
|
||||||
|
mp.events.call("CEF:PlayerList_Loaded");
|
||||||
|
window.scrollTo(0, 0);
|
||||||
|
}
|
||||||
|
function closePlayerList() {
|
||||||
|
document.getElementsByName("OnlineList")[0].classList.toggle("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
|
function clear_row() {
|
||||||
|
document.getElementById('players').innerHTML = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function getFactionNameByFactionId(factionId) {
|
function getFactionNameByFactionId(factionId) {
|
||||||
switch (parseInt(factionId)) {
|
switch (parseInt(factionId)) {
|
||||||
case 1: return "LSPD";
|
case 1: return "LSPD";
|
||||||
|
|||||||
@@ -12,51 +12,27 @@
|
|||||||
|
|
||||||
var loaded = false;
|
var loaded = false;
|
||||||
|
|
||||||
mp.events.add('inventoryShow', () => {
|
mp.events.add('loadInventoryCEF', () => {
|
||||||
|
itemArr = [];
|
||||||
|
vehItemArr = [];
|
||||||
if (invBrowser !== null) {
|
if (invBrowser !== null) {
|
||||||
invBrowser.destroy()
|
invBrowser.destroy
|
||||||
invBrowser = null;
|
|
||||||
globalData.InMenu = false;
|
|
||||||
loaded = false;
|
|
||||||
mp.gui.cursor.show(false, false);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
if (!globalData.InMenu) {
|
|
||||||
globalData.InMenu = true;
|
|
||||||
mp.gui.cursor.show(true, true);
|
|
||||||
itemArr = [];
|
|
||||||
vehItemArr = [];
|
|
||||||
invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
var offer = 0;
|
|
||||||
|
|
||||||
var tradeItemID;
|
|
||||||
var tradeItemAmount;
|
|
||||||
var tradeItemName;
|
|
||||||
var tradeItemWeight;
|
|
||||||
|
|
||||||
mp.events.add('openInventory', () => {
|
|
||||||
globalData.InMenu = true;
|
|
||||||
mp.gui.cursor.show(true, true);
|
|
||||||
itemArr = [];
|
|
||||||
vehItemArr = [];
|
|
||||||
invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html');
|
invBrowser = mp.browsers.new('package://assets/html/inventory/inventory.html');
|
||||||
});
|
});
|
||||||
mp.events.add('closeInventory', () => {
|
|
||||||
invBrowser.destroy()
|
|
||||||
invBrowser = null;
|
|
||||||
globalData.InMenu = false;
|
|
||||||
loaded = false;
|
|
||||||
mp.gui.cursor.show(false, false);
|
|
||||||
return;
|
|
||||||
});
|
|
||||||
|
|
||||||
mp.events.addDataHandler("tradeOffer", (entity, value) => {
|
mp.events.add('inventoryShow', () => {
|
||||||
if (entity.type === "player") {
|
if (!globalData.InMenu && !loaded) {
|
||||||
offer = parseInt(value);
|
globalData.InMenu = true;
|
||||||
if (invBrowser != null)
|
mp.gui.cursor.show(true, true);
|
||||||
invBrowser.execute(`changeTradeStatus('${JSON.stringify(offer)}')`);
|
loaded = true;
|
||||||
|
|
||||||
|
invBrowser.execute(`showInventory()`);
|
||||||
|
} else if (loaded) {
|
||||||
|
globalData.InMenu = false;
|
||||||
|
mp.gui.cursor.show(false, false);
|
||||||
|
loaded = false;
|
||||||
|
invBrowser.execute(`closeInventory()`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -81,17 +57,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
mp.events.add("CEF:InventoryLoaded", () => {
|
|
||||||
invBrowser.execute(`setBackpackItems('${JSON.stringify(itemArr)}')`);
|
|
||||||
if (vehItemArr.length != 0) {
|
|
||||||
invBrowser.execute(`setVehicleItems('${JSON.stringify(vehItemArr)}')`);
|
|
||||||
}
|
|
||||||
|
|
||||||
//invBrowser.execute(`setTradeItems('${JSON.stringify(tradeItemArr)}')`);
|
|
||||||
//invBrowser.execute(`setOfferItems('${JSON.stringify(offerItemArr)}')`);
|
|
||||||
loaded = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
mp.events.add("CEF:callVehicleInventory", () => {
|
mp.events.add("CEF:callVehicleInventory", () => {
|
||||||
mp.events.callRemote("CLIENT:getVehicleInventory")
|
mp.events.callRemote("CLIENT:getVehicleInventory")
|
||||||
});
|
});
|
||||||
@@ -117,8 +82,8 @@
|
|||||||
mp.events.add("aproveUse", (amount, name) => {
|
mp.events.add("aproveUse", (amount, name) => {
|
||||||
if (invBrowser !== null) {
|
if (invBrowser !== null) {
|
||||||
mp.game.audio.playSoundFrontend(1, "LOCAL_PLYR_CASH_COUNTER_COMPLETE", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS", true);
|
mp.game.audio.playSoundFrontend(1, "LOCAL_PLYR_CASH_COUNTER_COMPLETE", "DLC_HEISTS_GENERAL_FRONTEND_SOUNDS", true);
|
||||||
invBrowser.execute(`alertGreen('${JSON.stringify(amount)}','${JSON.stringify(name)}')`);
|
//invBrowser.execute(`alertGreen('${JSON.stringify(amount)}','${JSON.stringify(name)}')`);
|
||||||
mp.events.call("closeInventory");
|
//mp.events.call("inventoryShow");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -171,16 +136,4 @@
|
|||||||
mp.events.add("CEF:UseItemInv", (itemId) => {
|
mp.events.add("CEF:UseItemInv", (itemId) => {
|
||||||
mp.events.callRemote('invUseItem', itemId);
|
mp.events.callRemote('invUseItem', itemId);
|
||||||
});
|
});
|
||||||
|
|
||||||
mp.events.add("CEF:tradeItem", (money, User, tradeItems, tradeItemAmount) => {
|
|
||||||
if (invBrowser !== null) {
|
|
||||||
try {
|
|
||||||
invBrowser.destroy()
|
|
||||||
invBrowser = null;
|
|
||||||
mp.events.callRemote('tradeItem', 0, User, tradeItems, tradeItemAmount);
|
|
||||||
} finally {
|
|
||||||
mp.gui.cursor.show(false, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
@@ -184,6 +184,9 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
player.TriggerEvent("loadInventoryCEF");
|
||||||
|
player.TriggerEvent("loadPlayerListCEF");
|
||||||
|
|
||||||
player.TriggerEvent("draw", player.Name, player.Handle.Value);
|
player.TriggerEvent("draw", player.Name, player.Handle.Value);
|
||||||
NAPI.Task.Run(() =>
|
NAPI.Task.Run(() =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -531,8 +531,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
{
|
{
|
||||||
if (usableItemObj.Use(fItem))
|
if (usableItemObj.Use(fItem))
|
||||||
{
|
{
|
||||||
List<InventoryItem> items = backpackItems[player];
|
SetBackpackItems(player);
|
||||||
player.SetSharedData("backpackItems", JsonConvert.SerializeObject(items.ToArray()));
|
|
||||||
player.TriggerEvent("aproveUse", 1, iItem.Name);
|
player.TriggerEvent("aproveUse", 1, iItem.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -590,6 +589,7 @@ namespace ReallifeGamemode.Server.Managers
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user