export default function inventory(globalData: GlobalData): void { var invBrowser: BrowserMp = null; var itemIdArr; var itemAmountArr; var invWeight; var itemNameArr; var ivehArr; var Players; mp.events.add('setVehiclesInventory', (vehInvArr) => { ivehArr = vehInvArr; invBrowser.execute(`setVehiclesInv('${JSON.stringify(ivehArr)}');`); }); mp.events.add('showVehInventory', () => { invBrowser.execute(`execVehInv();`); }); mp.events.add('inventoryShow', (iWeight, iNameArr, iAmountArr, iIdArr, playersArr) => { if (!globalData.InMenu) { if (invBrowser !== null) { try { invBrowser.destroy() invBrowser = null; } finally { mp.gui.cursor.show(false, false); } return; } mp.gui.cursor.show(true, true); Players = playersArr; itemIdArr = iIdArr; itemAmountArr = iAmountArr; itemNameArr = iNameArr; invWeight = iWeight; invBrowser = mp.browsers.new("package://assets/html/inventory/inventory.html"); } }); mp.events.addDataHandler("tradeOffer", (entity, value) => { if (entity.type === "player") { let offer = parseInt(value); invBrowser.execute(`changeTradeStatus('${JSON.stringify(offer)}')`); } }); mp.events.add("addTradeItems", (itemId, itemAmount, itemName, weight) => { invBrowser.execute(`setAnfrage('${JSON.stringify(itemId)}','${JSON.stringify(itemAmount)}','${JSON.stringify(itemName)}','${JSON.stringify(weight)}');`); }); mp.events.add("CEF:saveVehicleTransfer", (val, jsonOrigin, jsonInvID, jsonInvAmount, jsonVehAmount) => { if (val == 0) { mp.events.callRemote('saveInventory', jsonInvID, jsonInvAmount, jsonOrigin, jsonVehAmount); } else if(val == 1){ mp.events.callRemote('saveVehicleInventory', jsonInvID, jsonInvAmount, jsonOrigin, jsonVehAmount); } }); mp.events.add("CEF:invThrowItem", (itemId, amount) => { mp.events.callRemote('invThrowItem', itemId, amount); }); mp.events.add("CEF:throwItem", (type, amount, id) => { mp.events.callRemote("itemInteract", type, amount, id); }); mp.events.add("CEF:InventoryLoaded", () => { invBrowser.execute(`setItems('${JSON.stringify(itemNameArr)}','${JSON.stringify(itemIdArr)}','${JSON.stringify(itemAmountArr)}','${JSON.stringify(Players)}');`); invBrowser.execute(`setWeight('${JSON.stringify(invWeight)}');`); }); mp.events.add("CEF:getNearVehicles", () => { mp.events.callRemote('getNearVehicles'); }); mp.events.add("CEF:acceptTrade", () => { if (invBrowser !== null) { mp.events.callRemote('acceptTrade'); invBrowser.destroy() invBrowser = null; mp.gui.cursor.show(false, false); } }); mp.events.add("CEF:declineTrade", () => { if (invBrowser !== null) { mp.events.callRemote('declineTrade'); invBrowser.destroy() invBrowser = null; mp.gui.cursor.show(false, false); } }); mp.events.add("CEF:saveItems", (saveItemsArr, saveAmountArr, saveItemsSlotArr) => { mp.events.callRemote('saveItems', saveItemsArr, saveAmountArr, saveItemsSlotArr); }); mp.events.add("CEF:saveItemsHelper", (vehI5) => { mp.events.callRemote('saveHelper', vehI5); }); mp.events.add("CEF:UseItemInv", (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', money, User, tradeItems, tradeItemAmount); } finally { mp.gui.cursor.show(false, false); } } }); }