Skip to content

Stash‐Ninja

Lailloken edited this page Jul 1, 2024 · 25 revisions

Feature Overview

  • overlays item-prices onto the grid of every fixed-structure stash tab

  • seamless switching between up to 5 customizable price-range filters

  • optional: shows an item's price history

  • optional: offers (bulk-)sale management to facilitate listing items

  • press TAB while the overlay is active to toggle highlighting for currently-listed items


GeForce Now Differences

  • the omni-key can't access clipboard data, so the feature is activated via a dedicated hotkey (default: F2)

    • pressing the hotkey will open a selection menu of the supported stash tabs
      image

    • click an entry to open the overlay for a specific tab

  • bulk-sale management can't read your stock, so it can't check if your listing is valid


User Interface & Settings

  • this feature has its own section in the settings menu, with UI and pricing settings
main UI-elements & user interaction screenshot
profile panel (bottom):
- press number-keys 1 to 5 to switch between the displayed profiles


price-tags (across the grid):
- hover over highlighted item-slots to see currency-equivalent prices
image
(bulk-)sale management:
- click a currency icon to toggle the listings-table on the right
- right-click an icon to refresh the listings-table
- click a price-point in the table to load it into the panel
- hover over the confirm-button and scroll to adjust stack-size
- click confirm to paste the listing into the game
image

Initial Setup

  • make sure your in-game stash has at least one stash-folder

    • the overlay's item-slot grid will be misaligned slightly if there aren't any folders

    • you can simply put a random tab (e.g. dump tab) into a folder

  • open the settings menu by clicking the cogwheel-icon on the main toolbar

  • select stash-ninja on the left, then click the enable-checkbox on the right

  • within the game, open the tab you want to set up and long-press the omni-key (default: middle mouse-button) while hovering over an item in the tab

    • as soon as the overlay is active, the settings menu should detect which tab is active
      image

    • if you want to use this features for tabs within a stash folder, you'll have to check the box shown below (the overlay has to be offset in order to align correctly)
      image

    • fine-tune the gap value on the right until all the price-tags more or less align with the in-game stash


Setting Up Price-Range Limits

  • near the bottom of the settings window, there are five groups of text-boxes
    image

  • the top-left box shows the profile-number (and hence the hotkey to activate the profile)

  • the bot-left box specifies which values to show (C, E, D, %), i.e. chaos, exalt, divine, or last week's price-change

    • leaving this blank will disable the profile entirely
  • the top-right box is used to set the max value for the price-range

    • setting a value x will highlight items up to x and filter out anything above

    • leaving this blank treats the max value as unlimited (basically 999999)

  • the bot-right box is used to set the min value for the price-range

    • setting a value x will highlight items starting from x and filter out anything below

    • leaving this blank treats the min value as unlimited (basically 0, or -999 for %)


General Usage

  • open a stash tab in game and then long-press the omni-key (default: middle mouse-button) while hovering over an item inside the stash

  • the overlay will open and display the profile panel below the stash
    image

    • if the tab is divided into sub-tabs, their selection-boxes will be highlighted by additional overlay-buttons
      image

    • if you click a button to switch sub-tabs in game, the stash-ninja overlay will also switch accordingly

  • it will automatically highlight items according to the most-recently selected profile (or #1 if opened for the first time in the current session)

  • while the overlay is active, it will automatically adapt to mouse movement & actions (e.g. hide if it would otherwise block in-game text)

  • while the overlay is active, press number-keys 1 to 5 to switch between profiles

  • hovering over an item that is highlighted by the overlay will display a panel with currency-equivalent prices

    image

  • shift/right-clicking stacks to split/price them will temporarily hide the overlay until you press ENTER or ESC

    • it is important to avoid using the in-game cancel/confirm buttons when splitting/pricing

Bulk-Sale Management

  • if the enable bulk-sale management setting is enabled, right-clicking an item in a tab while Stash-Ninja is active will open the panel

  • when first right-clicking an item, the right-most column will show the stack's market value according to poe.ninja prices

    image

  • to list an item, you have to get live prices by clicking one of the icons:

    image

    • whenever you fetch live prices, a median will be calculated and pre-selected as the new global price for that item (which will also be the price displayed on price tags in the general overlay)

    • this will also unlock the sell X for Y columns on the left and enter the corresponding stack-size and price values

  • as with splitting stacks, it is very important to press <ESC> when cancelling/discarding, instead of clicking the in-game cancel button

    • if you accidentally cancel it via the in-game buttons, you can click the x button in the top-right

  • clicking a currency icon will toggle a table on the right, showing what kind of listings are currently open on the exchange

    image

    • this table can be closed by clicking the icon again or pressing ESC
  • the first column shows current price-points on the exchange, and the currently-selected one is highlighted in green, while the current median price-point is highlighted with a yellow border

    • it's important to note that every row corresponds with a price-point, not a listed item (i.e. each row is a summary of every item listed at that price-point)

    • you can click any price-point to select it as the new global price and also apply it to the pricing panel on the left

  • the second column shows the number of listings at each price-point (these are visualized by a bar underneath), and the header shows the total number of open listings

    • the idea is to visualize whether there are specific concentrations of listings around specific price-points
  • T+XX:YY underneath the first two columns shows how much time has elapsed since fetching the price data

    • you can right-click the currency icons to fetch the latest price data

  • the combined third/fourth columns are enabled by default but can be toggled by clicking the < / > button in the top-right

    • they show stock levels at a given price-point (both the overall stock and the highest stock held by a single seller), with bars underneath as visualization

    • the idea is to identify potential "price walls" where large amounts of stock have to be bought up first before the general market price can go any higher

    • the second stock-column can be used to identify how individuals with large stock are pricing their items and what kind of "bulk-tax" they take (if any)


  • you can hover over the confirm-button or the X and Y values in the sell X for Y columns and scroll the mouse-wheel to adjust stack-size and final price according to the price-point

    image image
    • it will stop you from scrolling past your actual stock (except for unstackable edge-case items that don't show stack-size in the tooltip)

    • it will also stop you from scrolling past the point of a full inventory's worth of items in either the sell of for column

    • you can also press the middle mouse-button to reset the values to what they were at the beginning

  • click confirm to paste the listing-string into the game's pricing UI


Rate-Limiting

  • as you are probably aware, there are set limits on how often/quick you can perform requests to the servers

  • bulk-sale management will keep track of those limits and visualize them underneath, and it will also prevent you from performing request when near or over these limits

    image

    • there are usually multiple tiers of limits, one for specific time-frames (here: 15, 90, and 300 seconds)

    • you're only allowed to perform X requests per time-frame and will be timed out if you exceed that limit

    • each cell has a bar that visualizes the most recent status of those limits, and these bars change color at higher counts (green, orange, red)

  • these bars also update in real-time, so you can keep the panel open to see when it's safe to perform server-requests again

  • note: these limits are account/IP-specific rather than app-specific, so you might run into them more quickly if you're using multiple apps simultaneously

    • stash-ninja can only keep track based on its own most recent server-request, which means it might not be able to prevent you from running into a time-out if you're using multiple apps simultaneously
  • if the most recent server-request returned that you're currently timed out, the rate limits cell will function as a bar that represents the duration of the time-out

    image

    • this is also the case if the most recent request was the Nth out of N requests allowed within a time-frame, i.e. it will prevent you from performing the final request that would trip the limiter

Color-Coding in Specific Cases

  • the bulk-sale panel uses color-coding to signal certain limitations or special cases

  • if an item is already priced, the panel will read the listing on the item, calculate the price, and highlight the market value in teal

    image

  • when scrolling to adjust bulk-size, the market value column might turn yellow to indicate that the final price will be rounded (if the chosen price multiplied by the bulk-size doesn't equal an even number)

    image image image
  • when configuring a listing that exceeds your stock, exceeds a price of 1200, or is otherwise not valid, the confirm button will turn red and unclickable

    image

  • when listing an item that doesn't show it's stack-size in the item-tooltip, the confirm button will turn yellow to highlight that bulk-limits are disabled for this item (i.e. it cannot check if you're trying to list more than you actually have)

    image


Optional setting: automatic profiles based on minimum trade value

  • there is an option to automatically configure profiles 1 to 4 based on the specified minimum trade value (chaos), i.e. the "I don't want to do trades under X chaos" value

    • the main goal is to make it easier to find (stacks of) items that meet that minimum trade value (i.e. that are worthwhile to sell)

    • how it works: activating profile X will highlight item-slots according to a specific price-range, and stacks of X (same number as the profile) or greater will meet the minimum trade value

    • rough rule of thumb: highlighted items meet the trade value if: stack-size >= profile # (more detailed example below)

  • profile 5 will be left untouched, in case a vendor/trash tier profile is applicable

  • price-range customization will be grayed out if this option is enabled
    image

example: 20c minimum trade value

image

explanation screenshot
profile 1:
- every item-slot worth at least 20c will be highlighted

- any stack of at least 1 meets the minimum trade value
image
profile 2:
- every item-slot worth between 10 and 19.99c will be highlighted

- any stack of at least 2 meets the minimum trade value
image
etc.