Author Topic: I <3 you Macrogoblin.  (Read 7240 times)

Offline Oink

  • Goblin Captain
  • ******
  • Posts: 413
I <3 you Macrogoblin.
« on: April 08, 2012, 10:58:43 AM »
I figure it's about time I write one of these, considering how much I love the program and have gotten out of it.  I've been a Macrogoblin customer since October of 2008.  Macrogoblin is a great product and has amazing support offered by Jack.  Any time I PM Jack I swear I usually get a response within just a couple of hours.  I wish I had that kind of discipline and work ethic.

First, I should say I bot for two reasons.  The primary one, is time.  I enjoy end game raiding for the social and challenge aspect, but god I loathe grinding.  Botting allows me to have the resources in game to just play, and not labor for hours to have a little fun.  The pre-made bots that Jack has provided for several MMOs have always been fantastic, and they served this purpose well.  Also, while they may not be as efficient as some other bots that use injection, Macrogoblin is a lot less detectable, as it looks like a human playing with keypresses.  The only way you're likely to be caught is if you're doing it 24/7 and other players see you and report you.  The second reason, is that it's just fun.  I've actually had a lot of fun making my own macros and bots for several things.  In fact, for some games, I had more fun making a bot than I did playing the game. =)

Seriously though, I have some experience programming in Python and a little in C++.  Most of that experience is writing data analysis and numerical simulations.  What's great about Macrogoblin, is the learning curve.  It really eases you in and allows you to do some moderately complicated stuff right off the bat.  Even someone with zero programming experience should at least be able to record a simple macro and set it to repeat.  I know AutoIt is available for free, and while I didn't spend a lot of time with it, boy was I mystified by the syntax.  To be honest, when I started, all I used was the grinding/combat bot that Jack provided as intended.  I think it was Warhammer first, but it's been so long I don't remember.  Either way, all the bots that Jack has provided have been really great.

I don't remember the exact details, but the following is a good example of a simple macro that anyone should be able to make. It was a long time ago in Aion.  For the life of me now I don't know what the items were called, but they were some sort of enhancement items.  There was a variety of them but while most weren't worth much, a couple were very valuable.  There was an NPC that would allow you to turn in 3 of the not so valuable items to get back one random new one.  At least when the game started I was able to make a lot of money buying the crappy ones in bulk on the auction house and converting them.  Unfortunately, you have to click through dialog like 4 or 5 times to get each one.  It was annoying and slow, no wonder people just sold the junkers instead.  Now enter Macrogoblin:

1) Open the routine editor and click create new routine
2) Click record.
3) Right-click on the NPC, click through the dialog.
4) F12(?) and recording is done.
5) Add FOR loop around macro
6) (Optional) Edit pauses between clicks to make it go faster.
7) Voila!  Simple macro.

Now, I could buy hundreds of these items off of the auction house, walk to the NPC, and click one button.  A few minutes later I would have a buttload of items that I could list on the AH for major profit.

So, right off the bat, you can hop in and make simple things.  However, there is so much more available!  You can create macros that trigger off of pixel color changes and click there.  You can hunt for bitmaps like text or icons, useful for things like a crew skill bot in SWTOR.  If you know how to find stable memory pointers, you can make triggers for things like low health.

Once you understand the capabilities of Macrogoblin though, you realize that while there is so much you can do, complex logic and any kind of IO are going to be difficult to write in the routine editor.  So, of course, Macrogoblin has a wonderful solution.  It supports plugins.  That's right!  If you have some programming experience you can create plugins using C# or  I had no experience with C#, but some with C and C++.  Luckily, Jack provides EXCELLENT documentation for getting you started.   That includes a plugin template that will compile off the bat. 

Just a little anecdote before I talk about the most complicated thing I've done with Macrogoblin.  Way back in like, 2004 I modified a python client to the game Kingdom of Loathing to act as a store bot.  It was dead simple.  I just had a small list of items that if I saw in a store below a certain price, I would buy them.  There was one particular item that you could only get with a $10 donation to the game.  It gave you a huge stat bonus, but also it had a lot of value in currency.  I don't remember the exact value, but it was a lot.  The equivalent of like a couple million credits in SWTOR maybe.   What I learned, is that a lot of people are careless, and I swear just setting a script to buy these below 10% of the going rate, netted one of these every couple of days that someone basically listed for almost free as a price mistake.

So, when Rift came out, feeling a little more competent in my programming skills, I decided to program my own auction house bot.  It was still a relatively simple purchase bot. It would search the entire auction house, and using a list of items and thresholds, purchase things below my buyout threshold, and bid on items below my bid threshold.  The problem with bidding though, is making sure you're not the highest bidder already.  Luckily, in Rift, the mail that shows up in your mailbox shows up with the actual auction ID, which is the same ID that is in memory when scanning the auction house.  So, in addition, I was able to set up several MySQL databases.  I'll skip over the details, but with the information (unique auction ID) I had available I was able to make a good guess as to whether an item, having disappeared from the auction house, was purchased or expired.  So, I ended up with a large database of items, average sale price, and standard deviation of listings.  Well, boy is that useful.  If I know the going sale rate for all items, then I can set the buy thresholds at a percent of the going rate.  With my experience in data analysis, it was possible to parse this data and find the most profitable areas.  Honestly, I think I had more fun programming this bot than I did actually playing the game though, heh.  So, I quit Rift pretty quickly.

Seeing how often people list mission discoveries in SWTOR at the default price of ~4K, when they sell quickly at 25K or more for certain items, I was originally interested in doing similar for SWTOR.  Unfortunately, for the same reason that Jack struggled, stable pointers are difficult to find in this game.  I could read the GTN data from memory, but the pointers were very deep, so it took a long time to search for them, and then they changed really fast.  But alas!

Anyway, the point is, all of this was done using Macrogoblin.  On top of everything else, the people in this forum tend to be super supportive.  There's simply a great community attached to Macrogoblin.  Just look at the SWTOR Space Mission botting forums.  Other customers have provided some great tools, and technical support is available if you ask. 

Also, I do want to emphasize that the help files (there are two, one for macrogoblin and one specific for plugins) are well written and relatively thorough.  You should read them! =)

I'm actually a super paranoid botter.  I've never been banned, but I appreciate the fact that Macrogoblin looks like a real person playing.  Detectability is low since you're not actually doing any kind of dll injection and just simulating keystrokes.

Ok. long, rambly, and I've probably repeated myself a couples times..  oh well, I'm done .. =) 

We <3 you Jack.
« Last Edit: April 08, 2012, 11:09:17 AM by Oink »