129 lines
4.1 KiB
TypeScript
129 lines
4.1 KiB
TypeScript
|
|
|
|
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', 0, User, tradeItems, tradeItemAmount);
|
|
} finally {
|
|
mp.gui.cursor.show(false, false);
|
|
}
|
|
}
|
|
});
|
|
|
|
} |