Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.

Added
- Card-Based Communication Log & Grouping**: Grouped tells by player into clean conversation cards with scrollable messages log, replacing the old flat table layout. Includes automatic logging of outgoing reply tells.
- Handled Trade Recording Dialog**: Added a confirmation dialog popup when clicking "Done" on active cards to record details of completed trades, select sold items, and log final sell prices.
- Comm Archives Tab**: Dedicated tab to display archived conversation logs and recorded trades in reverse-chronological order, outlining inquiry details and processed sales, with support for deletion.
- Local Inventory Tab ("YOUR ITEMS")**: Replaced bulk remote price checking with a local inventory listing that scans bag/bank quantities on startup or via a manual update button.
- Vendor Sell Columns**: Added a "Vendor Sell" column to the main sales table that highlights vendor values in green if they meet or exceed market prices.
- Single-Item Refresh Button**: Added a refresh button ("R") next to the remove button in the "Operations" column to fetch the latest values and recheck inventory.
- Non-Blocking Details Window**: Replaced Details hover text with a standard button opening a non-blocking floating window containing 7-day transaction listings.
- Full Settings Reset**: Added the command line option
RESET_THIS_MEANS_ALL_MY_CHANGES_ARE_GONE_AND_I_UNDERSTANDto clear all configuration, history, and archive files.Changed
- Strict 7-Day Pre-Fill Window**: Switched averages calculations to strictly evaluate the last 7 days of transaction history rather than falling back to overall lifetime averages.
- Warning Tooltips**: Low sample size warning tooltips now explicitly specify available samples within the 7-day window.
- Isolated Storage Profiles**: Split archive and trade logs into separate character-specific files to prevent schema corruption.
- Ignored Automated Tells**: Outgoing and incoming tells containing the phrase
"busy right now"are filtered and ignored.
Added
- Global Currency & Suffix Configuration**: Added global configuration fields for Default Currency (default
pp), Alternate Currency (defaultkrono), Multiple Items suffix (defaulteach), and Sell as Stack suffix (defaultper Stack).- Granular Per-Item Sales Settings**:
- Added an
add #checkbox column in the pricing list to toggle whether to include the quantity prefix for that specific item in the auction string.- Added a
Currencydropdown column allowing choice between the default currency, alternate currency, default + multiple suffix, or default + stack suffix on a per-item basis.- Window Reset Command**: Added the
/pricecheck resetslash command to manual reset all UI window coordinates back to default visible cascaded coordinates.- FAQ Section**: Added a frequently asked questions section to the "How to Use" tab explaining how to solve missing item links (using
/link /import /updateand having the item).Changed
- Pricing & Sales Table Restructure**: Reorganized the history list table from 10 columns to 9 columns (
Rem, Item, Qty (Bank), Bought for, Sold for, add #, Price, Currency, Details) to maximize screen estate and clarity.- Reduced Items Per Broadcast Line**: Reduced the maximum items grouped per
/auctionbroadcast line from 4 to 3.- Removed Startup Database Scans**: Removed the automated
/link /import /updatecommand execution on script startup to prevent game lag.Fixed
- Off-Screen Window Recovery**: Implemented auto-clamping logic that dynamically detects if a window is dragged completely off-screen and moves it back to visible screen boundaries.
- ImGui EndChild Stack Crash**: Fixed an ImGui critical failure stack error ("Must call EndChild() and not End()!") when culling/clipping minimized or off-screen child windows by making the
EndChild()calls unconditional.
Added
- Dynamic Tools Tab**: Created a new UI tab that scans the
pricecheck/tools/directory and renders discovered scripts as modern square buttons with rounded corners.- Standardized Tool Interface**: Defined a contract for tools supporting local host execution (
buttonFunctionOnHost) and remote client execution (buttonFunctionExport) with support for custom button colors.- Tools Refresh Support**: Included a Refresh button that invalidates the package cache, allowing developers to hot-reload edits to tool scripts in real-time.
- Startup Command Routing**: Added a command line parser to allow running tool actions directly from the console or via
/lua run pricecheck button <toolName> [args].- Default Tools**: Packaged
pricecheck_hotbutton(local hotbutton creation) andgief_money(multi-box platinum collection via DANNet and/gief.lua) tools.- Background Link DB Updates**: Triggers
/link /import /updateon script startup to populate local MQ2LinkDB cache.Fixed
- Missing Auction Item Links**: Resolved an issue where items not cached in
MQ2LinkDBwould show as plain text by adding fallback queries to active inventory (FindItem), bank (FindItemBank), and cursor (Cursor) item properties.
Added
- Broadcast Manager Window**: New split-view window displaying WTS loop status and Checklist side-by-side with Tells Log (Communications).
- Scrolling Stock Ticker**: Real-time ticker tape displaying character wallet, active sales totals, and pending inquiry counts.
- Historical Krono Price Trends**: Automatic retrieval and display of 1D, 3D, and 7D Krono averages.
- Broadcast Separator Config**: Customize delimiters between items on auction lines.
- Broadcast Currency Config**: Customize the currency suffix (e.g.
pp,gp).- Item Count Prefix Toggle**: Toggle quantity prefix and "each" price suffixes (e.g.,
2x item 10pp eachvs.item 10pp).Changed
- Sound Alerts**: Only play beep sound on tells when broadcasting is actively running.
- UI Title Bar**: Set title bar text static to prevent window layout shifts during initial queries.
Added
- Pause & Resume Broadcasts**: Added Pause/Resume button to freeze the broadcast timeline, timers, and progress bars.
- Auto-Recheck Quantity**: Added automated inventory quantity checks when starting, stopping, pausing, or resuming broadcasts, and on list loads.
- API Provider Pattern**: Decoupled third-party URL structures in the HTTP module to support customized database or server pricing endpoints.
Changed
- Cleaner Tab Layout Engine**: Replaced hardcoded tab structures in the UI module with a dynamic, data-driven layout loop.
- Auto-fitted Tables**: Redesigned all dashboard, history, and message tables to be non-resizable and auto-fitted to column contents.
Fixed
- ImGui Balancing Nesting**: Fixed layout stack underflow errors when resizing the window to its minimal width by ensuring
EndChild()is always called.- Bulk Check Quantity Persistence**: Stored and retained counting properties to fix missing quantity totals in the Bulk pricing table.
Refactored
- UI Modularization**: Decoupled
ui.luainto lightweight sub-component files (shared,dashboard,communication,configuration,changelog,cursor_query).
Added
- Changelog Tab**: Added a new tab to display the
CHANGELOG.mdfile contents inside the main window, with dynamic colorized parsing for headers.Changed
- No Trade Filtering**: Filter out No Trade and No Drop items during bulk inventory scans to avoid listing untradeable items.
Removed
- Drop Slot**: Removed the Item Drop Slot interface block and separator from the main UI window, and deleted their unused preset styles.
Fixed
- Cursor query window crash**: Fixed a crash when closing the standalone cursor query window caused by calling a non-existent method
setShowCursorQueryWindowon the state wrapper.- Vulnerability/format string crash**: Fixed a potential crash in
mq.cmdfwhen broadcasting item/player names containing%by passing them via%sformat specifiers.Refactored
- State manager setters**: Removed unused simple getters and setters (
setBulkQueueandsetBulkPriceHistory) and moved queue logging directly into the state metatable__newindexmethod.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Visual Color Themes: Introduced 6 UI styling presets ("Default", "Solarized Dark", "Nord", "Pastel", "Solarized Light", and "Windows 95").
- Drop Slot & Floating Appraisals: Querying the cursor item now opens a standalone details window showing averages, spreads, and recent transaction history tables (WTS/WTB).
- Default Listing Price: Support for adding items with no online price history using a configurable default price (default: 1000pp).
- Interactive Broadcasting Timeline: Dual progress bars showing current step countdowns (WTS lines and anti-spam delays) and overall cycle progress.
- Cursor Grab Shortcut: Right-click on any item in the trade history list uses
/itemnotifyto pick the item out of your inventory directly to your cursor.- Auto-Load Plugin Dependency: Added startup check that dynamically installs and loads
MQ2LinkDBif missing.- Release Automation: Integrated custom GitHub Actions workflow (
redguides-publish.yml) to automatically zip repository files and publish release tags to RedGuides.Changed
Fixed
Removed
[1.0.0] - 2026-06-26
Added
- Core Market Appraisal: Created connections to progression server API endpoints at
tlp-auctions.com.- Frostreaver Trade Tools Tab Layout: Built initial ImGui window with "Your Items" (bulk scanning), "Trade" (broadcast checklists and history lists), "Communication" (customer tells log), and "Configuration" (low sample warnings, custom intervals).
- Persistent Pickled Storage: Integrated configuration and list history persistence to
mq.configDirusing unpickle/pickle logic.- Offline testing harness: Created
scratch_test.luamock file runner to check API integrations.