From 2c9c12daa245c64b69497da37cb1f18f3c978860 Mon Sep 17 00:00:00 2001 From: Andrii Lavrenko Date: Mon, 7 Oct 2024 21:35:11 +0300 Subject: [PATCH] Items stack listing --- code.user.js | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/code.user.js b/code.user.js index 0e65810..8723cac 100644 --- a/code.user.js +++ b/code.user.js @@ -508,7 +508,7 @@ appid: item.appid, contextid: item.contextid, assetid: item.assetid || item.id, - amount: 1, + amount: item.amount, price: price }, responseType: 'json' @@ -1294,6 +1294,14 @@ } } + function getAmountString(amount) { + if (amount == 1) { + return ''; + } + + return ` [x${amount}]`; + } + const sellQueue = async.queue( (task, next) => { market.sellItem( @@ -1313,11 +1321,11 @@ const callback = () => setTimeout(() => next(), getRandomInt(1000, 1500)); if (success) { - logDOM(`${padLeft} - ${itemName} listed for ${formatPrice(market.getPriceIncludingFees(task.sellPrice))}, you will receive ${formatPrice(task.sellPrice)}.`); + logDOM(`${padLeft} - ${itemName}${getAmountString(task.item.amount)} listed for ${formatPrice(market.getPriceIncludingFees(task.sellPrice) * task.item.amount)}, you will receive ${formatPrice(task.sellPrice * task.item.amount)}.`); $(`#${task.item.appid}_${task.item.contextid}_${itemId}`).css('background', COLOR_SUCCESS); - totalPriceWithoutFeesOnMarket += task.sellPrice; - totalPriceWithFeesOnMarket += market.getPriceIncludingFees(task.sellPrice); + totalPriceWithoutFeesOnMarket += task.sellPrice * task.item.amount; + totalPriceWithFeesOnMarket += market.getPriceIncludingFees(task.sellPrice) * task.item.amount; updateTotals(); callback() @@ -3048,17 +3056,19 @@ let totalPriceBuyer = 0; let totalPriceSeller = 0; + let totalAmount = 0; // Add the listings to the queue to be checked for the price. for (let i = 0; i < marketLists.length; i++) { for (let j = 0; j < marketLists[i].items.length; j++) { const listingid = replaceNonNumbers(marketLists[i].items[j].values().market_listing_item_name); const assetInfo = getAssetInfoFromListingId(listingid); + totalAmount += assetInfo.amount if (!isNaN(assetInfo.priceBuyer)) { - totalPriceBuyer += assetInfo.priceBuyer; + totalPriceBuyer += assetInfo.priceBuyer * assetInfo.amount; } if (!isNaN(assetInfo.priceSeller)) { - totalPriceSeller += assetInfo.priceSeller; + totalPriceSeller += assetInfo.priceSeller * assetInfo.amount; } marketListingsQueue.push({ @@ -3071,7 +3081,9 @@ } } - $('#my_market_selllistings_number').append(`, ${formatPrice(totalPriceBuyer)} ➤ ${formatPrice(totalPriceSeller)}`); + $('#my_market_selllistings_number') + .append(` [${totalAmount}]`) + .append(`, ${formatPrice(totalPriceBuyer)} ➤ ${formatPrice(totalPriceSeller)}`); } @@ -3094,10 +3106,12 @@ const appid = replaceNonNumbers(itemIds[2]); const contextid = replaceNonNumbers(itemIds[3]); const assetid = replaceNonNumbers(itemIds[4]); + const amount = Number(unsafeWindow.g_rgAssets[appid][contextid][assetid].amount); return { appid, contextid, assetid, + amount, priceBuyer, priceSeller };