• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->
Bazaar.mac

Utility Bazaar.mac 2021.06.12.0

Download now: Join us with Level 2 access
or earn your way in with RedCents.
Other Authors
Sparr, ebs2002, jpetrone, M.D., dkaa, TreeHuginDruid, nytemyst, Maskoi, Tone, ChatWithThisName, Saar
Software Requirements
[Bazaar.mac]
[Plugin] MQ2Bzsrch
[Includes] bazaar.inc
Included in Very Vanilla
Very Vanilla Included! No need to download.
Server Type
Live, Emu, TLP, Test Server
Updated for version: 2021.06.12.0

Bazaar.mac is used to automatically update the prices of your buyer or trader to remain competitive. It also contains INI support to allow you to set minimum and maximum prices which your merchants will not pass.

It supports both /trader and /buyer. It will detect which side of the Bazaar you are on and run accordantly.

Usage
/mac bazaar - start the macro
/mac bazaar goOffline - start the macro, runs the price scan and enabled Offline Mode.
/mqp - pause/unpause the macro (the macro starts in paused mode by default)

INI files

Bazaar.ini - customizes individual item prices
bazaar.ini:
[Elegant Defiant Leather Gloves]
SellPriceMin=100
SellPriceMax=400
BuyPriceMin=50
BuyPriceMax=125
MinBuyCount=950
SellPriceMin=Minimal amount of platinum you are willing to sell an item.
SellPriceMax=Maximum amount of platinum you are willing to sell an item. -1 (negative one) will step the item allowing manually pricing.
BuyPriceMin=Minimal amount of platinum you are willing to pay for an item.
BuyPriceMax=Maximum amount of platinum you are willing to pay for an item. -1 (negative one) will step the item allowing manually pricing.
MinBuyCount=Minimal quantity to set your /buyer buy counts to.


bazaarSettings.ini - controls macro behavior
bazaarSettings.ini:
[Settings]
UndercutPct=5           - Percentage you wish to undercut people by in /trader (AggressiveSeller must be set to FALSE)
UpdateOn=TRUE           - Do you want to update after X minutes?
UpdateInterval=50       - How often to rescan and update prices
UpdateDrift=15          - Maximum minutes to drift off your Update Interval (Adds randomness to your update cycle)
BuyerReview=FALSE       - Will pause between every /buyer item so you may review your ini.
SellerReview=FALSE      - Will pause between every /trader item so you may review your ini.
AggressiveBuyer=FALSE   - TRUE will increase buyer prices by 1 plat, FALSE will you previous calculation.
AggressiveSeller=FALSE  - TRUE will use a fixed undercut amount (UndercutAmount), FALSE will you previous calculation.
UndercutAmount=1        - The amount of plat to undercut other sellers when AggressiveSeller is TRUE
SafeSeller=FALSE        - Stops your /trader during price reviews.
LogLevel=2              - 0=Mostly Quiet 1=Info 2=Notice (Formally ReportSearching) 3=Debug 4=Verbose
SearchWaitTime=30       - How many seconds bazaar search should wait for results
PauseOnStart=TRUE       - Pause on start to give info and allow you to setup pause hotkeys
UseMQ2bzsrch=TRUE       - Uses MQ2bzsch to search the bazaar during seller updates.
BuyCountReset=10        - Percentage used to trigger updating your item buy count in /buyer
CreateShoppingList=FALSE -Create a CSV file in your log folder for all /bazaar and /barter searches
GoOfflineMode=FALSE     - Will force your seller/buyer to Offline mode once the first price scan has completed.
BeMoreHuman=FALSE       - Adds a couple of small random delays while doing searches in /trader and /buyer modes

[Excludes]
ExcludeList=Smart          - Excludes these buyers and sellers when reviewing your prices.  (Why compete against yourself?).  Will auto add yourself to the list.

[Defaults]
SellPriceMin=1             - The initial minimal you are willing to sell an item.  Applies this value to items new INI entry.  1 equals no minimum
SellPriceMax=1            - The initial maximum you are willing to sell an item  Applies this value to items new INI entry.  1 equals no maximum
BuyPriceMin=1             -  The initial minimal you are willing to pay for an item.  Applies this value to items new INI entry.  1 equals no minimum
BuyPriceMax=1             -  The initial maximum you are willing to pay for an item.  Applies this value to items new INI entry.  1 equals no maximum
InitialPrice=500000       - When the macro starts and finds items with no sell price, it sets it to the value. It will adjust afterwards
Notes
  • In /trader mode it will ignore sellers with prices below your sell minimum. For instance; if your SellPriceMin is 100 and other sellers are at 75, 150, and 200 this script will set your sell price to 149.
  • Setting your SellPriceMax to -1 (negative one) will skip the item during seller updates. This will allow you to exclude certain items or manage them manually.

Known Issues:
It has issues with "trash" items that sellers are often selling for less than 1 plat.

Common Comments:
It seems slower than the old version.
This macro spend a lot of time waiting for data from the servers. The biggest "slow down" is due to not being able to know when your bazaar search is complete. It will wait up to your "SearchWaitTime" (this is calculated in half seconds, so 30 equals 15 seconds) before assuming there are no results. You may have notice that searching /bazaar can sometimes be fast and some times be slow.
If you often sell less common items it spends a lot of time waiting no results. One way to help this is to start your trader, then run the macro. There will always be results if your selling the item. If you do this, you may want to adjust the InitialPrice to something high.

It is inconstant when I'm the only one selling an item.
It's not, your bazaar.ini is. If no one has qualified competing offer then your selling price is determines in one of two ways.
Option 1 - If your item has a SellPriceMax setting in the bazaar.ini it will set your sell price to this value.
Option 2 - If your SellPriceMax is set to 1, it keeps the current set selling price. While 1means no limit, we are not going to set a rusty dagger to 2 million just because your the only one selling it.

Does not work with non-English keyboards
Yup. This is more of an issue with MacroQuest as a whole.

Details behind each bazaarSettings.ini option:
AggressiveSeller=FALSE
Used in /trader mode.
TRUE will use the "UndercutAmount" value to undercut your competitors by a fixed amount.
FALSE will use the "UndercutPct" value to undercut your competitors by a percentage.

UndercutPct=5
Used in /trader mode.
Percentage you wish to undercut others by in /trader. This value is rounded down to the nearest amount ending in a 0 or 5. Only used when "AggressiveSeller" is set to FALSE.

UndercutAmount=1
Used in /trader mode.
A fixed amount to undercut others by in /trader. This value is rounded down to the nearest amount ending in a 0 or 5. Only used when "AggressiveSeller" is set to TRUE.

UpdateOn=TRUE
Used in /trader and /buyer mode.
TRUE will automatically review and update your prices after a period of time. This time period is based on your "UpdateInterval' and "UpdateDrift" settings

UpdateInterval=50
Used in /trader and /buyer mode.
Minimal amount of time between your price review scans.

UpdateDrift=15
Used in /trader and /buyer mode.
Maximum number of minutes to drift off your UpdateInterval. This is intended to add some randomness to your update cycle. If your UpdateInterval is 50 and your UpdateDrift is 15. The next price scan will happen between 51 and 65 minutes from the last completed scan.

BuyerReview=FALSE
Used in /buyer mode.
TRUE will pause between every buy line and display your current bazaar.ini settings. This will also open /bazaar and search for the item. It's purpose is to allow you to manage your bazaar.ini settings.
FALSE will just move to the next buy line.

SellerReview=FALSE
Used in /trader mode.
TRUE will pause between every item you are selling and display your current bazaar.ini settings. It's purpose is to allow you to manage your bazaar.ini settings.
FALSE will just move to the next item slot.

AggressiveBuyer=FALSE
Used in /buyer mode.
TRUE will increase buyer prices by 1 platinim
FALSE will use the original mazaar.mac calculations. Items under 100 add 1 platinum, items 100 to 5000 adds 5 platinum, items over 5000 will add 0.1% rounded to the nearest 5.

SafeSeller=FALSE
Used in /trader mode.
TRUE will stop your /trader during price reviews.
FALSE will update your trader prices while still selling.
The purpose is to ensure the price validation check at the end of the price scan is ran before offering up your stuff.

LogLevel=2
Used in /trader and /buyer mode.
0=Mostly Quiet; stuff you really need to know about.
1=Info; Show basic info on what's going on.
2=Notice; Provides more information regarding your search requests.
3=Debug; Produces a lot more details on what going on. Hope you can read fast.
4=Verbose; Produces a little bit more than debug, but pauses often giving you a change to read the debug. This also generates a debugging log in your logging folder.

SearchWaitTime=30
Used in /trader mode.
How many seconds bazaar search should wait for results. The script is set to process the item as soon as your /bazaar search return some results. If you deal with lag issues, whereas the bazaar search takes a long time to display, the time to wait for this is here. If you sell a lot of uncommon items you may wish to adjust this. It waits up to this many seconds before going "Guess no one else sells this" and processes the time. One way to ensure there is always something returned is to start your trader before starting the macro.

PauseOnStart=TRUE
Used in /trader and /buyer mode.
TRUE will pause the script at the beginning
FALSE and its off to the races.
The purpose is to remind you to create a macro pause hotbutton. It can be difficult to stop or pause the script without that button.

UseMQ2bzsrch=TRUE
Used in /trader mode.
TRUE will use MQ2bzsch plugin to search the bazaar during seller updates.
FALSE will use a /keypress method.
Each method (plugin vs keypress) have their own advantages and disadvantages. If you have issues with the bazaar searches you may want to try swapping this setting.

BuyCountReset=10
Used in /buyer mode.
Percentage used to trigger updating your item buy count. You must add a "MinBuyCount" to the item in the bazaar.ini file.
If you set an items MinBuyCount=500 and BuyCountReset=10 it will set your buy count to 500 once your current buy count is 450 or less.
If you have purchased your entire buy count; this does not add anything to your buy list. EQ removes the item from your buy list once your buy count has been satified.

CreateShoppingList=FALSE
Used in /trader and /buyer mode.
Create a CSV file in your log folder for all price scans.
MQ2log always adds the .log file extension to files. You may need to remove this.
The shopping list can be found in your log folder with the name bazaar3_{server}_Shopping_List.cvs.log
This file is always appended to. All your bazaar mules will write to the same file every time the price scan is done.
You can use tools such as Sheet and Excel to import the data and review.
It's purpose is to help manage your bazaar.ini file
The columns are separated with a semicolon. (technical reasons), you may need to do a manual import into Excel
Here is the header row, it is not added to the file
date;time;mode;character;itemName;minSellPrice;maxSellPrice;avgSellPrice;minBuyPrice;maxBuyPrice;avgBuyPrice;yourMinSellPrice;yourMaxSellPrice;yourMinBuyPrice;yourMaxBuyPrice;yourMinBuyCount

GoOfflineMode=FALSE
Used in /trader and /buyer mode.
TRUE will take your seller/buyer to Offline mode once the first price scan has completed.
FALSE keeps your seller/buyer logged on
This setting will apply to all bazaar mules the script is ran on. There is also a command line option to take your seller/buyer offline. "/mac bazaar goOffline" (this is case sensitive) will run the first price scan and go offline.

BeMoreHuman=FALSE
Used in /trader and /buyer mode.
TRUE will add a couple of small random delays while doing searches. /trader delay is slightly larger if there is a price change
FALSE will work as fast as it can.
Author
JerkChicken
First release
Last update
Rating
5.00 star(s) 4 ratings

Latest updates

  1. Option to add small random delays while searching.

    Version 2021.06.12.0 Added: BeMoreHuman - Enabling this feature will noticeably slow the process...
  2. Go Offline, Update buy counts, Search logging, and minor bug fixes.

    Updated 2021.04.26 - JerkChicken Version 2021.04.27.0 Added: BuyCountReset - /buyer: Percentage...
  3. Better rounding and support for MQ2Bzsrch

    | Updated 2021.03.07 - JerkChicken | Version 2021.04.08.0 | Improved: Increased InitialPrice -...

Latest reviews

excellent work with v2 and v3. Great tool to have unless you like spending 2 hours a day updating traders.
I have so dreaded setting up my BazaarMule but this has so made that process easy! TY for the hard work.. Def recommend.
OMG this is a beautiful thing!
Wonderful and handy macro!
Top