• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Bazaar Plat Farming Macro

perhaps if someone made a UI mod for the window, and put the button it calls for back? that way you just add the xml to your ui folder and load it under custom ui.
and perhaps the macro would work again.

it's a bit of a long shot but it sounds logical.
 
skorli said:
Replace that line of code with this

Rich (BB code):
/if (${Merchant.Open}) /cleanup

Will pretty much just close all the windows you currently have open. Just a slight work around till they have the new merchant window sorted out.

Updated the first post, thanks Skorli!
 
whenevr it finds something to buy it says:
Could not send notification to Merchant4 Leftmouseup
it will say this a few times, not buy the item and go to next merchant.

any ideas?
 
by chance is that coming from the new merchant window? If it is, is the macro using the new buy.inc? Or for that matter is the new buy.inc working properly?
 
Could try replacing

/if (${Merchant.Open}) /cleanup

with

/if (${Merchant.Open}) /delay 1
/keypress esc

or

/if (${Merchant.Open}) /delay 1
/cleanup

or

/if (${Merchant.Open}) /warp succor

The distance from the merchant should close the window automaticly.


they all seem to work for me.
 
Last edited:
hmm closing the window now but still dose not buy anything. If you click on the item your trying to buy it will appear that you bought it several times but just says you give soandso. Then spams you with the item you are trying to buy is no longer available.
 
Rich (BB code):
/if (${Merchant.Open}) /windowstate MerchantWnd close

Try that seems to work for me.
 
Any of those seem to close the window fine. Now to try and deal with it not buying anything.
 
Yes.

Ive been modifying the macro some and testing it. Sometimes it will attempt to buy but only gives the could not send request to merchant4 leftmouseup.

Im going to try and find out if its the buy.inc or not. Raiding atm though :(. maybe after!
 
hmm ok i'll check mine i haven't used it in a couple of weeks but it worked fine back then. If it's working i'll post the code i have
 
I have been playing around with this, i got to the point where it would /warp, open the window and then close and /warp away. does anyone have a idiot.mac that they are successfully using? u can PM it to me or email at [email protected] thanks
 
The problem is not within the macro. Im pretty sure its in the buy.inc .

Ive been busy so really have had no time to play with it. Hopefully today I can verify it.
 
Okay mine works. There is one error randomly tho where to doesn't target the person you are trying to buy form and doesn't open the trade window not sure what is causeing that to happen but here is the code i have.

Couple of things to get this to work
put buy.inc into wherever.MQ2.is\macros\common
put idiot.mac into wherever.mq2.is\macros

also make sure mq2cinspect is not loaded.

buy.inc
Rich (BB code):
| buy.inc 
| Modified by Twist to buy more than 20 of stackable items 
| by: Terramantian 
| Thanks to DKAA 

Sub Buy(string Name, int Quantity) 

   /declare ListPosition int local 

   /varset ListPosition ${Window[MerchantWnd].Child[ItemList].List[=${Name},2]} 

   /if (!${ListPosition}) { 
      /echo ERROR: Could not find ${Name}. 
      /return 
   } else { 
      /notify MerchantWnd ItemList listselect ${ListPosition} 
        /delay 2 
        /notify MerchantWnd ItemList leftmouse ${ListPosition} 
        /delay 2 
    } 
   /delay 5 (${Window[MerchantWnd].Child[MW_SelectedItemLabel].Text.Equal[${Name}]}) 
   /if (!${Window[MerchantWnd].Child[MW_SelectedItemLabel].Text.Equal[${Name}]}) { 
      /echo ERROR: Selection Error 
      /return 
   } 

   :CheckQuantity 

   /if ( ${Quantity} > 20 ) { 
      /buyitem 20 
      /varcalc Quantity ${Quantity} - 20 
      /delay 5 
      /goto :CheckQuantity 
   } | if 

   /if ( ${Quantity} > 0 ) { 
      /buyitem ${Quantity} 
   } | if 

/return


idiot.mac
Rich (BB code):
| - idiot.mac - 
| By: Onezero 
| Version: 0.0.2 
| Adapted to MQ2 by Zornecro, 10/10/2004
| Profit finding logic Created by dstern
| 
| This macro goes through the list of traders in the zone and checks 
| them all for profit exploits. (E.g, they are idiot sellers.) It will
| check all traders in the zone once, then end. No pathing needed,
| it uses the bad and wrong, but oh so good /megawarp.
|
| Usage: /mac idiot
| This can get you BANNED! You have been warned. It requires the use of the MEGAWARP plugin
| and players seeing you pop all over the zone may inspire them to do a
| /petition or /report. But I think the risk is low as everyone lags there,
| so popping around is normal to see. The bigger risk is people sending you tells
| "Were you looking for something specific?"

#turbo 40

#define DEBUG_1 /echo
#define DEBUG_2 /echo

#include common\buy.inc

|PoK has 143 merchants. Make the number below bigger if you find a zone with more than 200.
|Since we want to dumpster dive all TRADERS, there can be up to 600.
#define MAX_MERCH 600

|If you think delays will help avoid you getting petitioned, set this to how many seconds.
|It will wait at least this long, up to twice as long at random.
#define PARANOIA 3

Sub Main
/declare counter int local 1
/declare idcount int local 0
/declare ids[MAX_MERCH] int local 0
/declare curID int local 0

/keepkeys off
/popup Searching all of ${Zone} for Traders...

| Go through LastSpawn[n] until we get no more or fill up.
:nextTrader
/varset curID ${LastSpawn[${counter}].ID}
/if (${Spawn[${curID}].Trader}) {
 /varcalc idcount ${idcount}+1
 /varset ids[${idcount}] ${curID}
} else {
 /if (${curID}==0) /goto :nextMerch
}
/varcalc counter ${counter}+1
/if (${idcount}<MAX_MERCH) /goto :nextTrader

:nextMerch
/popup Checking ${idcount} Traders for idiot prices now...
DEBUG_1 Got ${idcount} Traders to check.
/for counter 1 to ${idcount}
 /varset curID ${ids[${counter}]}
 /target trader id ${curID}
 /delay 1s (${Target.ID}!=0)
 /if (${Target.Trader}) {
  DEBUG_1 Heading to ${Spawn[${curID}].CleanName}
  /call movetomerch "${Target.CleanName}"
  /click right target
  /delay 10s ${Merchant.Open}

  |Only buy things at least 8.5% worth of profit (below)
  /call TraderDive 8.5

  |We're done buying now. 
  /if (${Merchant.Open}) /notify /windowstate MerchantWnd close
  /if (PARANOIA) {
   /delay PARANOIAs
   /delay ${Math.Rand[PARANOIA]}s
  }
 } else {
  DEBUG_2 Trader ID ${curID} went away!
 }
/next counter

/echo Looks like we're done after checking ${idcount} Traders.
/return

Sub movetomerch(string mobname)
/face fast nolook
/squelch /warp target
/delay 6s ${Target.Distance}<20
/face fast nolook
/delay 1
/keypress back hold
/delay 1
/keypress forward
/if (${Target.ID}==0) /target trader "${mobname}"
/face fast nolook
/delay 3
/return 

|**
Created by dstern
Made into sub by Zornecro 10/25/04

How To Run: target a trader/npc; open up the merchant window; /call TraderDive 10
  The second parameter is MINIMUM acceptable profit. (10% in the example.)

You will either get nothing returned besides the "macro ended" message, or your computer 
will beep, and will return a message saying that "You can make x.yyy PP on item."
It then will buy up to 100 of these if possible.

Have fun with this, and you can probably figure out ways to automate this process.
Zornecro did!

Oh! And happy farming PP!!!
**|

Sub TraderDive(float percentNeeded)
/declare priceToBuy int local
/declare priceToSell int local
/declare profit int local
/declare profitPc float local
/declare iteration int local
/declare totalItems int local ${Merchant.Items}
/if (${totalItems}<1) /return
/varcalc percentNeeded 1.0+${Math.Calc[${percentNeeded}/100]}
 
/for iteration 1 to ${totalItems}
 /if (${Merchant.Open}&&(${iteration}<=${totalItems})) {
  /varset priceToBuy  ${Merchant.Item[${iteration}].BuyPrice}
  /varset priceToSell ${Merchant.Item[${iteration}].Value}
  /varcalc profit ${priceToSell}-${priceToBuy}
  |Ignore items that profit less than 1pp regardless.
  /if (${profit}>1000) {
   /varcalc profitPc ${Math.Calc[${priceToSell}/${priceToBuy}]}
   /if (${profitPc}>=${percentNeeded}) {
    DEBUG_1 You can resell ${Merchant.Item[${iteration}].Name} at ${Math.Calc[${profitPc}*100.0].Int}% buying price.
    |/mqpause
    /popup Buying ${Merchant.Item[${iteration}].Name} from ${Merchant.Name}
    /call buy "${Merchant.Item[${iteration}]}" 20
   } else {
    DEBUG_2 Profit on ${Merchant.Item[${iteration}]} was ${profit} but only ${Math.Calc[${profitPc}*100.0].Int}%
    |/mqpause
   }
  }
 }
/next iteration
/return

enjoy :)
 
Does that buy.inc work with the new merchant window? if it does i will love you forever and ever and ever and ever and ever.
 
what gets me about this macro, is the HUGE "BAN ME AND PLEASE NERF WARP" sign you might as well put on yourself. For such a long time, everyone has talked about being careful with /warp. Now, look at half the posts on this site. People warping in baz, pok, NON instanced zones, etc. I honestly have no idea how warp has not been completely nerfed by now but this is just begging for that to happen LOL. For example, in DL the other night. Someone in plain view of around 4 or 5 of us, warped blatently. Now, I knew what happended due to seeing in on my map, but had to play it off like i had no idea to my guildmates who witnessed this happen.
 
here's something to consider. maybe the person you saw warp, wasn't a cracker.... maybe, just maybe they were grouped with a mage and had call of the heros cast on them.
just because you offset crack doesn't mean they do.

not too likely, I don't doubt that you saw them warp all over the map, but I woulda said something about wishing we had a mage with us to CoTH us across the zone, to the group, to prevent them from thinking anything odd, and maybe stop them from petitioning. I mean if people are hacking and warping like that they will get cought on their own, and granted it is not your responsability to do so, you should try to missinform people who may call it hacking, to maybe protect something you yourself do. not saying you warp all over the place in front of people, just that you too use mq2 for enhancement of eq.
protect it even if you did nothing wrong.
other than that people doing it know the risks involved.
let the idiots get cought


*edit* I would really like to see this macro make use of the /bazaar listing itself, like go through the item types and search for items priced lower than they sell to a merchant for. Then walk a player via waypoints at the teleporter hubs, and a lock on to the seller, then follow way points in each trader room, then /stick to the seller, do all the buying, hit escape, and on to the next merchant with what you want.

it would be a nice safe and efficient way for this to work. no more clicking each trader, just go right to the trader with what you want to buy to resell.
so less suspicion on the bot`ing comunity
 
they rpolly weren't warping maps don't allways update instantly someone can show in one spot and be in another then there tag follos
 
I know maps do not update instantly, but when you are moving around in the city area of DL in front of people, vanish, then on my map i see them sitting at Karnor's entrance.............And there were no other people in zone. Later I was asked by someone how that happened. They of course did not have mq2 to my knowledge so they did not see that the person reappeared at karnor's zl. I did play it off on a mage summoning them. Seemed to work.
 
also rez works to. you might pop out of thin air from a rez on an old body. from what i've seen people will think lag befor they think hackers. so if they see someone disapear they will probably not even give a shit. but still can do stupif shit and get caught.
 
Bazaar Plat Farming Macro

Users who are viewing this thread

Back
Top
Cart