Auc-Util-SearchUI

From Norganna's AddOns

Jump to: navigation, search

Contents

Purpose

Auc-Util-SearchUI is a tool that allows you to find bargains in the current AH snapshot. The RealTimeSearch subsection allows you to do the same on the "live" AuctionHouse.

Searchers

SearchUI uses modular filters or evaluators, known internally as "Searchers", to help the user determine if an auction is worth buying.

Some Searchers are included, but the system is modular to allow users to make their own Searchers and, or, modify the existing Searchers.

Included Searchers

SearchUI ships with a default set of Searchers.

At present, those are:

  • Arbitrage - Determine if an item can be sold at another auction house for a profit, this includes cross-faction and cross-realm searches.
  • Converter - Determine whether items are posted that can be easily transformed into their other forms and sold at a profit. e.g. Greater Essences morphed into Lesser Essences.
  • Disenchant - Determine if an item is worth buying in order to disenchant with Enchanting.
  • EnchantMats - Determine if an item is worth buying in order to enchant with Enchanting.
  • General - A simple filter, for the most basic searches.
  • Milling - Determine if an item is worth buying in order to mill with Inscription.
  • Prospect - Determine if an item is worth buying in order to prospect with Jewelcrafting.
  • Resale - Determine if an item is priced such that you can bid or buyout the auction, relist, and potentially still make a profit.
  • Snatch - Determine if an item is worth buying in order to quickly purchase all such items on the auction house.
  • Vendor - Determine if a game NPC will purchase an item for more than the current list price- buyout, bid, or both.

Format of SearchUI Searchers

  • a Searcher can be added by stating: local lib, parent, private = AucSearchUI.NewSearcher("name of searcher")
  • lib.Search(data) will be called
    • data is a table, with the layout of the AucAdv ScanDb.
    • refer to CoreConst.lua in AucAdv main folder for specifics on table layout (eg: data[Const.BUYOUT])
  • Return values to signal a purchase are: buyorbid, value, [reason]
    • buyorbid:
      • "buy"
      • "bid"
      • true: buy it, but don't care whether buy/bid - useful for general searching
      • false: don't buy it. In this case, return call is: return false, reason
    • value: the worth of the item (~= BottomScan's valuation) - this is used to calculate expected profit. Not needed if buyorbid is boolean
    • reason: string explaining purchase reason. This is only mandatory when buyorbid == false. Note: do not pass name of evaluator or bid/buy here. Those are already available.

Included Filters

SearchUI ships with a default set of Filters. Much like Searchers, the initial set is intended to be basic, allowing the user to design Filters based upon their wants and needs.

At present, those are:

  • ItemLevel - Lets you filter out items below a certain level for each itemtype.
  • ItemPrice - Handles the ignoring of items, both in-session and cross-sessions.
  • ItemQuality - Lets you filter out certain itemtype/quality combinations.
  • TimeLeft - Removes items from the manifest list, based upon the auction's remaining time.

Format of SearchUI Filters

  • A Filter can be added by stating: local lib, parent, private = AucSearchUI.NewFilter("name of filter")
  • lib.Filter(data, searchername) will be called before the searcher get called
    • data is a table, with the layout of the AucAdv ScanDb.
    • refer to CoreConst.lua in AucAdv main folder for specifics on table layout (eg: data[Const.BUYOUT])
    • searchername is the name of the searcher that will be called. If no searchername is given, filter will assume you want it active. This is for enabling the filter for some searchers and not others
  • Return values are: dofilter, [reason]
    • dofilter: boolean. If true, item doesn't appear in the results
    • reason: string. similar to reason for searchers. Only needed for dofilter == true
  • lib.PostFilter(data, searchername, buyorbid) will be called after the searcher has found something, and returned a string for buyorbid. This gives the filter a chance to work differently based on bids/buyouts
    • data and searchername are the same as lib.Filter()
    • buyorbid is the buyorbid string returned from the searcher
  • Return values are the same as lib.Filter()

RealTimeSearch

The RealTimeSearch subsection allows you to use the Searchers you have customized to actively seek bargains and other items of interest on the "live" Auction House, without needing a current scan/snapshot.

In short, set up your Searchers and Filters to your specifications, then enable each Searcher in the "RealTime" subsection of the options. Then, when at the "Browse" frame of the auction house, your Searchers will continually run against the results of manual searches or page refreshes, if you have that option enabled.

Left-Clicking the "magnifying glass" icon at the top of the "Browse" frame enables/disables RealTimeSearch, while right-clicking allows you to view and set the options.

Personal tools