Self Automated Tradeskill Macros

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

User avatar
OnyxSys
a ghoul
a ghoul
Posts: 133
Joined: Sun Dec 21, 2003 9:58 pm
Contact:

Post by OnyxSys » Thu Mar 17, 2005 6:45 pm

HOT DAM! The man is back!! Glad to have you back...
[img]http://web.infoave.net/~jpdixon/onyxsys.jpg[/img]

superslam
a lesser mummy
a lesser mummy
Posts: 47
Joined: Sat Jan 22, 2005 3:34 pm

Post by superslam » Fri Mar 18, 2005 12:29 pm

Fuck yeah! Welcome back Crash~

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Sat Mar 19, 2005 12:10 am

Well, I got in today to relearn the game from all the things that has changed since I have been away and maybe start programming some more. To my amazement, the bazaar was totally f***ed up. So, it looks like it is going to take more reprogramming of my old macros then I first planned. It's ok though. It will just be more of a challenge. Anyways, I will keep you all updated.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

wozzie
orc pawn
orc pawn
Posts: 25
Joined: Mon Feb 14, 2005 12:02 am

Post by wozzie » Sat Mar 19, 2005 3:36 pm

Woot welcome back override, I love your macros.

DarKMooN
decaying skeleton
decaying skeleton
Posts: 7
Joined: Wed Jan 12, 2005 2:00 pm

Post by DarKMooN » Tue Mar 22, 2005 10:46 pm

welcome back man. I'm sure i speak for mostly all the MQ community when I say we are VERY glad your back. =] Keep up the awesome work!

GORGE
decaying skeleton
decaying skeleton
Posts: 9
Joined: Tue Mar 22, 2005 11:23 pm

Post by GORGE » Tue Mar 22, 2005 11:31 pm

IF anyone has a fix for the salvage aa issues PLEASE i beg ya to pm me wish i never bought that aa messing up the AWESOME macs

Also anyone know why it dont buy short beer's bought all other parts for brewering combines but that one.

Ialamdar
decaying skeleton
decaying skeleton
Posts: 1
Joined: Tue Feb 15, 2005 1:05 am

Re:

Post by Ialamdar » Tue Mar 22, 2005 11:37 pm

Welcome back i just used about all your available macro to get shawl 7... any chance we can get an updated macro for smithing to go like 175 or so??

kahlel
orc pawn
orc pawn
Posts: 13
Joined: Wed Mar 23, 2005 5:06 am

Post by kahlel » Wed Mar 23, 2005 5:16 am

i tried everything people mentioned on here to deal with the salvage aa issues and none of it worked. i would still get booted to the desktop. the cause was tracked down and too complicated to mention...

here is my hack to fix the salvage aa issue on the brewing macro. basically, i close the packs before clearing the cursor between each combine round. it's slower, but at least it works. i'm sure it could be made prettier and more efficient, but it's 4am.

Code: Select all

| 
| brewing.mac
| Takes you from 1 to 248 in Brewing
| Version 2.8
| Date: September 14, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/
|
| Before are the settings you need to change for you.
| This Macro can take you up to 248 in brewing. 
| SkillMaxWanted can be change to what skill you want to stop at.
| MerchantNameA is which merchant has the brewing components.
| MerchantNameB is which merchant has the water and short beer components.
| You will need to change the DelayMult to higher if you are laggy, this
|   number will be multiplied to the default delay.
|
| This Macro works best in the Abysmal Sea since all the components are there.
| You WILL need to be between both merchants to be able to use this macro.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| This macro may not work any other place then the Abysmal Sea.
| 

#event CombineError "#*#There was no place to put that#*#" 
#event CombineError "#*#You cannot combine these items in this container type!#*#" 
#event CombineError "#*#did not accept these items#*#" 
#event ContUsed "#*#Someone else is using that. Try again later.#*#"
#include common/sell.inc
#include common/buy.inc
#include common/packs.inc
#include common/cleanpacks.inc

Sub Main
    /declare OldSkill int outer
    /declare SkillMaxWanted int outer
    /declare PackCode string outer 
    /declare Component[10] string outer 
    /declare i int outer
    /declare MerchantNameA string Outer
    /declare MerchantNameB string Outer
    /declare CompA item outer
    /declare CompB item outer
    /declare CompC item outer
    /declare CompD item outer
    /declare CompE item outer
    /declare CombItemName string outer
    /declare ItemToA string outer
    /declare ItemToB string outer
    /declare ItemToC string outer
    /declare EndingVar int outer
    /declare Levelname int outer
    /declare DelayMult int outer
    /varset OldSkill ${Me.Skill[Brewing]}
    /varset CompA "none"

| ************************************************
| *   Change these settings to what you want.    *
| ************************************************
  
    /varset MerchantNameA "Galidnus Corkpopper"
    /varset MerchantNameB "Dray Cuves"
    /varset SkillMaxWanted 248
    /varset DelayMult 1

| ************************************************
| ************************************************

    :start
    /echo Brewing is at ${Me.Skill[Brewing]}

    /if (${Me.Skill[Brewing]}>=${SkillMaxWanted}) {
      /echo Brewing is at ${SkillMaxWanted}. Quiting!
      /endmacro
    }

    /if (${Me.Skill[Brewing]}<${SkillMaxWanted}) {
      /varset CompA "cask"
      /varset CompB "malt"
      /varset CompC "short beer"
      /varset CompD "water flask"
      /varset CompE "yeast"
      /varset CombItemName "MHB"
      /varset ItemToA "Minotaur Hero's Brew"
      /varset ItemToB "bottle"
      /varset ItemToC "cask"
    }
    /varset EndingVar 1
    /call GoToMerchant
    /delay ${Math.Calc[${DelayMult}*1]}s
    /target ${MerchantNameA}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /call OpenPacks
    /delay ${Math.Calc[${DelayMult}*2]}s
    /call Sell ${ItemToA}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${ItemToB}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${CompA}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${CompB}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${CompC}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${CompD}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${CompE}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompA} 40
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompB} 120
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompE} 40
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /notify MerchantWnd DoneButton leftmouseup
    /call ClosePacks

    /delay ${Math.Calc[${DelayMult}*2]}s
    /target ${MerchantNameB}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompC} 80
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompD} 100
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /notify MerchantWnd DoneButton leftmouseup
    /delay ${Math.Calc[${DelayMult}*1]}s

    /call GoToBarrel
    /look
    /mouseto 500, 500
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click left
    /delay ${Math.Calc[${DelayMult}*2]}s
    /doevents
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call OpenPacks
    /delay ${Math.Calc[${DelayMult}*2]}s

    /call readIni "${CombItemName}" 
    :Begin 
       /if (${EndingVar}==1) /call ClearCursor 
       /for i 1 to 10 
             /if (${EndingVar}==1) /call AddComp "${Component[${i}]}" ${i} 
       /next i 
       /if (${EndingVar}==1) /call DoCombine 
       /call FixShit
       /if (${EndingVar}==1) /goto :Begin
 
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
    /nomodkey /keypress esc
    /nomodkey /keypress esc

    /call GoToMerchant
    /delay ${Math.Calc[${DelayMult}*1]}s
    /target ${MerchantNameA}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*2]}s
    /call OpenPacks
    /call Sell ${ItemToA}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${ItemToB}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${ItemToC}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /notify MerchantWnd DoneButton leftmouseup
    /call ClosePacks

    /goto :start

/return

Sub FixShit
  /call ClosePacks
  /nomodkey /keypress esc
  /nomodkey /keypress esc
  /delay ${Math.Calc[${DelayMult}*5]}
  /call ClearCursor
  /delay ${Math.Calc[${DelayMult}*5]}
  /look
  /mouseto 500, 500
  /nomodkey /click left
  /doevents
  /call OpenPacks
/return

Sub readIni(RecipeName) 
   /declare Container string local

   /echo Running ${RecipeName} recipe, which makes ${ItemToA}.

   /if (${Ini["brewing.ini","${RecipeName}",-1,"NOTFOUND"].Equal["NOTFOUND"]}) { 
        /echo Recipe ${RecipeName} not found 
        /endmacro 
    } 

   /varset Container ${Ini[brewing.ini,${RecipeName},Cont,Enviro]} 

   /if (${Container.Equal[Enviro]}) { 
        /varset PackCode Enviro 
   } else { 
        /varset PackCode ${FindItem[=${Container}].InvSlot} 
       
      /if (${PackCode.Equal[NULL]}) { 
         /echo Could not find container ${Container} 
         /varset EndingVar 2
         /return
      } 
      | pack1 = 22, ... , pack8 = 29 
      /varset PackCode pack${Math.Calc[${PackCode}-21].Int} 
   }

   /call cleanPack "${Container}"

   /for i 1 to 10 
      /varset Component[${i}] ${Ini[brewing.ini,${RecipeName},Comp${Math.Calc[${i}-1].Int},NOTFOUND]} 
   /next i 
/return 

sub ClearCursor 
    :Loop 
      /if (!${Cursor.ID}) /return 
      /autoinv 
|      /destroy	
    /delay ${Math.Calc[${DelayMult}*1]}s
      /doevents 
      /goto :Loop 
    /return 

sub DoCombine 
    :Loop 
      /combine ${PackCode} 
      /delay 1s 
      /if (${PackCode.Equal[Enviro]}) /delay 1s 
      /doevents 
      /if (${InvSlot[${PackCode}].Item.Items}) /goto :Loop 
      /delay 5 
      /if (${Me.Skill[Brewing]}>${OldSkill}) {
        /echo Your Brewing Went Up!! It's now ${Me.Skill[Brewing]}!
        /varset OldSkill ${Me.Skill[Brewing]}
      }
    /return 

sub AddComp(CompName, PackSlot) 
   /if (${CompName.Equal[NOTFOUND]}) /return 

   /if (!${FindItem[=${CompName}].ID}) { 
      /echo Could not find ${CompName} in inventory 
      /beep 
      /varset EndingVar 2
      /return 
    } 

   :Loop 
      /nomodkey /ctrl /itemnotify ${FindItem[=${CompName}].InvSlot} leftmouseup 

      /if (!${Cursor.ID}) { 
         /delay ${Math.Calc[${DelayMult}*1]}s
         /goto :Loop 
      } 

   /if (${PackCode.Equal[Enviro]}) { 
      /nomodkey /itemnotify ${InvSlot[enviro${PackSlot}]} leftmouseup 
   } else { 
      /nomodkey /itemnotify in ${PackCode} ${PackSlot} leftmouseup 
   }    
   /return 

Sub Event_CombineError 
    /varset EndingVar 2
/return

Sub Event_ContUsed
    /echo Container in use. Waiting 30 seconds and trying again.
    /delay 30s
    /itemtarget "Brew Barrel"
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click left item
    /delay ${Math.Calc[${DelayMult}*2]}s
    /doevents
/return 


Sub GoToMerchant
  /echo Going to Merchants.
  :PullMoveLoop
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -165.30,178.83
  /if (${Math.Distance[-165.30,178.83]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-165.30,178.83]}<=2) {
    /nomodkey /keypress forward
    /return
  }
  /goto :PullMoveLoop 
/return 

Sub GoToBarrel
  /echo Going to Brewing Barrel.
  /itemtarget "Brew Barrel"
  :PullMoveLoop
  /if (${Me.State.Equal[SIT]}) /stand
  /face
  /if (${Target.Distance}>10) /nomodkey /keypress forward hold 
  /if (${Target.Distance}<=10) {
    /nomodkey /keypress forward
    /return
  }
  /goto :PullMoveLoop 
/return 

GORGE
decaying skeleton
decaying skeleton
Posts: 9
Joined: Tue Mar 22, 2005 11:23 pm

Post by GORGE » Wed Mar 23, 2005 11:37 am

nice fix thanks brewing working fine now slow but hell beats the hell out of wearing the end of my finger off.

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Sun Mar 27, 2005 12:27 pm

The character I have now doesn't have the salvage AA, and I am not totally sure how it works and what it does, it wasn't in the game when I was here before. I am going to try to get it on the character I have now or get access to a character with it so I can at least test it. Once I have a character with that AA I am sure I can get it to work.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

BigDaddyDinDin
orc pawn
orc pawn
Posts: 11
Joined: Fri Aug 27, 2004 3:22 pm
Location: USA

Baking Macro

Post by BigDaddyDinDin » Mon Mar 28, 2005 5:25 pm

It keeps giving me the error that Dray Cuves does not sell cheese when I clearly see it on the vendor. Is this an error in the macro or an erro with the way I am running it?

GORGE
decaying skeleton
decaying skeleton
Posts: 9
Joined: Tue Mar 22, 2005 11:23 pm

Post by GORGE » Mon Mar 28, 2005 7:07 pm

when i had issues i added longer delay id try that first .

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Re: Baking Macro

Post by Override » Fri Apr 01, 2005 11:32 am

BigDaddyDinDin wrote:It keeps giving me the error that Dray Cuves does not sell cheese when I clearly see it on the vendor. Is this an error in the macro or an erro with the way I am running it?
I would try to up the delay multiplier at the beginning of the macro up a little and try that.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

bushdaka
a hill giant
a hill giant
Posts: 185
Joined: Wed Jun 16, 2004 11:01 am

Post by bushdaka » Sun Apr 03, 2005 5:35 pm

Looking forward to seeing any updates/mods you have on these macros, especially anything towards alchemy. I've used the ones that are available on your site for quite a while and wanted to say THANKS!

superslam
a lesser mummy
a lesser mummy
Posts: 47
Joined: Sat Jan 22, 2005 3:34 pm

Post by superslam » Sun Apr 17, 2005 5:37 pm

/agree

updates are uber :)