• 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

Max Tradeskills while afk?

kidder60 said:
has anyone updated this buy inc file

i hope does get updated soon... not much for me to do anymore lol started a new bard for giggles. all i do is raid and wait for new expansion to get new aa's lmao.
 
Ok i keep trying to run the smitthing part of this, After unzipped the common file... It keeps giving me the message "unable to add macro line" and also unable to find Sell.inc. they are both in the same folder where they are suposed to be. :confused: UPDATE ok i was dumb nevermind... DO we have info on the new buyer deal? where we can get it... etc.
 
Last edited:
Bump.... still need a working tradeskill macro, would love to get to 300 and really want smithing 8)
 
this has modified code from override (original mac) and ounvme (tweaked mac with new container)

a little tweeking... Full credit goes to both of them

I put back in the delay that override had and mad e alittle nip and tuck


Rich (BB code):
| 
| brewing.mac 
| Takes you from 1 to 248 in Brewing 
| Version 2.5b 
| Date: August 20, 2005 
| UPDATED BY OUNVME 
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/index.htm 
| 
| 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. 
| 
| 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.#*#" 
#event Missing "#*#You are Missing#*#" 

#include sell.inc 
#include buy.inc 
#include packs.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]} 
/declare stop int outer    

| ************************************************ 
| *   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} 80
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompB} 240
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompE} 80
    /delay ${Math.Calc[${DelayMult}*1]}s
     /call ClosePacks
    /keypress esc

    /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} 160
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompD} 180
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /notify MerchantWnd MW_DoneButton leftmouseup
    /keypress esc
    /keypress esc
    /delay ${Math.Calc[${DelayMult}*1]}s

    /call GoToBarrel 
    /look 
    /delay 1s 
    /click left item 
    /delay 2s 
    /doevents 
    /delay 1s 
/notify COMBW_RecipeListArea COMBW_RecipeList listselect ${Window[COMBW_RecipeListArea].Child[COMBW_RecipeList].List[Minotaur Hero's Brew]} 
/delay 2 
/notify COMBW_RecipeListArea COMBW_RecipeList leftmouse ${Window[COMBW_RecipeListArea].Child[COMBW_RecipeList].List[Minotaur Hero's Brew]} 
    
/delay 2s 
    

   :Begin 
       /if (${stop}==0) /call ClearCursor 
        
       /if (${stop}==0) /call DoCombine 
       /if (${stop}==0) /goto :Begin 
  
    /delay 1s 
    /call ClosePacks 
    /keypress esc 
    /keypress esc 

    /call GoToMerchant 
    /delay 1s 
    /target ${MerchantNameA} 
    /face 
    /delay 1s 
    /click right target 
    /delay 1s 
    /call OpenPacks 
    /delay 2s 
    /call Sell ${ItemToA} 
    /delay 1s 
    /call Sell ${ItemToB} 
    /delay 1s 
    /call Sell ${ItemToC} 
    /delay 1s 
    /call ClosePacks 
    /keypress esc 
    /keypress esc 

    /goto :start 

    /return 


sub ClearCursor 
    :Loop 
      /if (!${Cursor.ID}) /return 
      /autoinv 
|      /destroy    
      /delay 5 
      /doevents 
      /goto :Loop 
    /return 

sub DoCombine 
    :Loop 
      
/notify TradeSkillWnd CombineButton leftmouseup 
/delay 10 
/notify TradeSkillWnd AutoInvButton leftmouseup 
/delay 5 
/notify TradeSkillWnd AutoInvButton leftmouseup 



      /delay 1s 
      
  
       /doevents 


/if (${stop}==1) /return 

/if (${Me.Skill[Brewing]}>${OldSkill}) { 
        /echo Your Brewing Went Up!! It's now ${Me.Skill[Brewing]}! 
        /varset OldSkill ${Me.Skill[Brewing]} 
      } 
/goto :Loop 


      /delay 5 
      

    /return 


Sub Event_CombineError 
    /varset EndingVar 2 
/return 





Sub Event_Missing 
/echo Need More items to combine 
/varset stop 1 
/return 


Sub Event_ContUsed 
    /echo Container in use. Waiting 30 seconds and trying again. 
    /delay 30s 
    /itemtarget "Brew Barrel" 
    /delay 1s 
    /click left item 
    /delay 2s 
    /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) /keypress forward hold 
  /if (${Math.Distance[-165.30,178.83]}<=2) { 
    /keypress forward 
    /return 
  } 
  /goto :PullMoveLoop 
/return 

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

ps i just used this 10 min ago to get 248 brewing
 
this buy.inc works like a champ

Rich (BB code):
| 
| buy.inc 
| Buy Include File needed for macros 
| Version 1.7b 
| Date: August 20, 2005 
| UPDATED BY OUNVME 
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2 
| 
| These file MUST be in the common directory in your macros directory. 
| 
| Usage: /call Buy (ItemToBuy) (Amount Needed) 
| 
| Use the Buy function for buying if you need a set total amount, like if you have 
| 20 of the item on you already and you need a total of 30, it will only buy 10 
| of the item. 
| 
| Usage: /call PCBuy (ItemToBuy) (Amount to buy off merchant) 
| 
| Use the PCBuy function if you don't need a set total amount, you just need 
| a set amount off that merchant. 
| 
| Disclaimer: 
| Code was used from other programers also from the MQ Forums. 
| 


#event Broke "#*#you cannot afford#*#" 
#event Broke "#*#you can't afford#*#" 

Sub Buy(item ItemToBuy, int amount) 
/echo Buying ${ItemToBuy}! 
/declare TotalMItems int Inner 
/varset TotalMItems ${Merchant.Items} 
/declare x int Inner 
/declare ItemSlotNum int Inner 
/varset ItemSlotNum 0 
/declare l2 local int 
/delay 30 

/if (${FindItemCount[${ItemToBuy}]}> ${amount}) { 
     /echo Done! 
     /return 
   }    
/varset l2 ${Window[MerchantWnd].Child[ItemList].List[=${ItemToBuy},2]} 
/if (!${l2}) { 
        /echo couldn't find ${ItemToBuy} 
        /endm 
    } else { 
        /notify MerchantWnd ItemList listselect ${l2} 
        /notify MerchantWnd ItemList leftmouse ${l2} 
/delay 2          

    }  

/echo Buying ${ItemToBuy} Till I get ${amount}  


:StackLoop 
  
 /if (${Math.Calc[${amount}-${FindItemCount[${ItemToBuy}]}]}<=19) /goto :RegLoop 
  /notify MerchantWnd MW_Buy_Button leftmouseup 
/delay 10 
/notify QuantityWnd QTYW_Accept_Button leftmouseup 
    

/delay 5 
   /doevents 
   /goto :StackLoop 

:RegLoop 

  /if (${Math.Calc[${amount}-${FindItemCount[${ItemToBuy}]}]}<=0) { 
     /echo Done! 
     /return 
   } 
   /buyitem ${If[${SelectedItem.Stackable},${Math.Calc[${amount}-${FindItemCount[${ItemToBuy}]}]},1]} 
   /delay 5 
   /doevents 
   /goto :RegLoop 

/return 

Sub PCBuy(item ItemToBuy, int amount) 
/echo Entering PC BUY 
/declare TotalMItems int Inner 
/varset TotalMItems ${Merchant.Items} 
/declare x int Inner 
/declare ItemSlotNum int Inner 
/varset ItemSlotNum 0 
/delay 2s 
/declare l2 local int 
/delay 20 
:BuyPC 
/varset l2 ${Window[MerchantWnd].Child[ItemList].List[=${ItemToBuy},2]} 
/if (!${l2}) { 
        /echo couldn't find ${ItemToBuy} 
        /endm 
    } else { 
        /notify MerchantWnd ItemList listselect ${l2} 
        /delay 2 
        /notify MerchantWnd ItemList leftmouse ${l2} 
        /notify MerchantWnd MW_Buy_Button leftmouseup 
/delay 2 
/notify QuanityWnd QTYW_Accept_Button leftmouseup 
   /delay 2 
    } 
    



/if (${SelectedItem.Stackable}) { 
     /if (${amount}>=20) { 
       /buyitem 20 
       /varset amount ${Math.Calc[${amount}-20]} 
     } else { 
       /buyitem ${amount} 
       /varset amount ${Math.Calc[${amount}-${amount}]} 
     } 
   } else { 
     /buyitem 1 
     /varset amount ${Math.Calc[${amount}-1]} 
   } 
   /delay 5 
   /doevents 
   /goto :BuyPC 

/return 

Sub Event_Broke 
   /echo Error: You are out of money! 
   /beep 
   /endmacro 
/return
 
sell.inc works too

Rich (BB code):
| 
| sell.inc
| Selling Include File needed for macros
| Version 1.3
| Date: August 7, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/
|
| These file MUST be in the common directory in your macros directory.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| 


Sub Sell(string ItemToSell)
   /declare OldMoney int Inner    
   /declare NewMoney int Inner
 
   /autoinv 

   /if (${ItemToSell.Equal[NULL]}) {
     /return
   }

   :Finding 
      /if (${FindItemCount[=${ItemToSell}]}==0) /goto :Done 
      /nomodkey /itemnotify ${FindItem[=${ItemToSell}].InvSlot} leftmouseup 

   :WaitFind 
      /if (${Bool[${SelectedItem}]}==FALSE) /goto :WaitFind 

   :Selling
      /delay 1s 
      /varset OldMoney ${Me.Cash} 
      /nomodkey /shift /notify MerchantWnd MW_Sell_Button leftmouseup 

   :WaitSell 
      /varset NewMoney $(Me.Cash} 
      /if (${NewMoney}==${OldMoney}) /goto :WaitSell 
      /goto :Finding 

   :Done 
      /echo No more ${ItemToSell} to sell!!!      
/return
 
Packs.inc

Rich (BB code):
| 
| packs.inc
| Open and Close Packs Include File needed for macros
| Version 1.4
| Date: August 7, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/
|
| These file MUST be in the common directory in your macros directory.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| 

Sub OpenPacks 
   /declare bag int local 0 
   /declare check int local 0 
   /newif (!${Window[InventoryWindow].Open}) /nomodkey /keypress inventory 
   /delay 1s 
   /for bag 1 to 8 step 1 
      /newif (${Window[Pack${bag}].Open}==FALSE) /nomodkey /itemnotify pack${bag} rightmouseup 
   /next bag 
   /delay 1s
   /for check 1 to 9 step 1
      /if  (${Window[TradeskillWnd].Open}) {
         /nomodkey /notify TradeskillWnd ExperimentButton leftmousehold
         /nomodkey /notify TradeskillWnd ExperimentButton leftmouseup
      }
   /next check
   /delay 1s
/return 

Sub ClosePacks 
   /declare bag int local 0 
   /newif (!${Window[InventoryWindow].Open}) /nomodkey /keypress inventory 
   /delay 1s
   /for bag 1 to 8 step 1 
      /newif (${Window[Pack${bag}].Open}==TRUE) /nomodkey /itemnotify pack${bag} rightmouseup 
   /next bag 
   /delay 1s
   /newif (${Window[InventoryWindow].Open}) /nomodkey /keypress inventory 
   /delay 1s 
/return
 
cleanpacks.inc

Rich (BB code):
| 
| cleanpacks.inc
| cleanpacks Include File needed for macros
| Version 1.1
| Date: August 7, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/
|
| These file MUST be in the common directory in your macros directory.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| 


sub cleanPack(string PackName)
    /echo Please Wait ...... Cleaning out ${PackName} container
    /declare iSlot int local    
    /declare iCount int local    
    /declare PackNumber string local

    /if (${PackName.Equal[Enviro]}) { 
        /varset PackNumber e 
    } else { 
        /varset PackNumber ${FindItem[=${PackName}].InvSlot.ID} 
        /if (${PackNumber}) { 
            /varcalc PackNumber ${PackNumber}-21 
            /varset PackNumber ${PackNumber.Arg[0,.]} 
        } else { 
            /echo Could not find container in your inventory
            /echo Contanier name = ${PackName} 
            /endmacro
        } 
    }
    /if (${String[${PackNumber}].Equal[e]}) { 
        /for iSlot 1 to 10 
            /nomodkey /shiftkey /itemnotify enviro${iSlot} leftmouseup
            /delay 1s
	    /autoinv
        /next iSlot 
    
    } else { 
        
        /if (${Me.Inventory[Pack${PackNumber}].Container}==0) { 
            /return 
        } 

        /for iSlot 1 to ${Me.Inventory[Pack${PackNumber}].Container} 
            | Quit if the pack is empty 
            /if (${Me.Inventory[Pack${PackNumber}].Container}==0) { 
                /return 
            } 

            /if (${Me.Inventory[Pack${PackNumber}].Item[${iSlot}].ID}!=NULL) { 
                /varset iCount ${Me.Inventory[Pack${PackNumber}].Items} 
                /nomodkey /shiftkey /itemnotify in pack${PackNumber} ${iSlot} leftmouseup
                /delay 1s 
		/autoinv
                /if (${Me.Inventory[Pack${PackNumber}].Items}==${iCount}) { 
                    /echo Unable to empty container. 
                    /endmacro 
                } 
            } 
        /next iSlot 
    } 
    /delay 5 
    /echo Done Cleaning ${PackName} Container. Thank you for waiting!
/return
 
banking.mac

there is one line for sure that has been updated...

Rich (BB code):
/notify MerchantWnd DoneButton leftmouseup

to

Rich (BB code):
/keypress esc

Rich (BB code):
| 
| baking.mac 
| Takes you from 1 to 191 in Baking 
| Version 2.1 
| Date: August 3, 2004 
| 
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/index.htm 
| 
| Before are the settings you need to change for you. 
| This Macro can take you up to 191 in baking. 
| SkillMaxWanted can be change to what skill you want to stop at. 
| MerchantNameA is which merchant has the cheese. 
| MerchantNameB is which merchant has the loaf of bread and wolf meat. 
| 
| This Macro works best in the Abysmal Sea since all the components are there. 
| You WILL need to be behind Tylida Eraldi to be able to use this macro. 
| 
| Requirements: 
| You will need a spit (in the last slot) and a Non-Stick Frying Pan. 
| 
| 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#*#" 
#include common/sell.inc 
#include common/buy.inc 
#include common/packs.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 CombItemName string outer 
    /declare ItemToA string outer 
    /declare ItemToB string outer 
    /declare ItemToC string outer 
    /declare EndingVar int outer 
    /declare Levelname int outer 
    /varset OldSkill ${Me.Skill[Baking]} 

| ************************************************ 
| *   Change these settings to what you want.    * 
| ************************************************ 
  
    /varset MerchantNameA "Tylida Eraldi" 
    /varset MerchantNameB "Dray Cuves" 
    /varset SkillMaxWanted 191 

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

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

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

    /if (${Me.Skill[Baking]}<${SkillMaxWanted}) { 
      /varset CompA "cheese" 
      /varset CompB "loaf of bread" 
      /varset CompC "bear meat" 
      /varset CombItemName "PM" 
      /varset ItemToA "Patty Melt" 
    } 


    /varset EndingVar 1 
    /delay 1s 
    /target ${MerchantNameA} 
    /face 
    /delay 1s 
    /click right target 
    /delay 1s 
    /call Buy ${CompB} 40 
    /delay 1s 
    /call Buy ${CompC} 40 
    /delay 1s 
    /keypress esc 
    /delay 1s 
    
    /call GoToMerchantB 
    /delay 2s 
    /target ${MerchantNameB} 
    /face 
    /delay 1s 
    /click right target 
    /delay 1s 
    /call Buy ${CompA} 40 
    /delay 1s 
    /keypress esc
    /call OpenPacks 
    /delay 3s 
    /notify TradeskillWnd ExperimentButton leftmousehold 
    /notify TradeskillWnd ExperimentButton leftmouseup 
    /delay 2s 

    /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 
       /if (${EndingVar}==1) /goto :Begin 
  
    /delay 1s 
    /call ClosePacks 
    /keypress esc 
    /keypress esc 

    /delay 1s 
    /target ${MerchantNameB} 
    /face 
    /delay 1s 
    /click right target 
    /delay 1s 
    /call OpenPacks 
    /delay 2s 
    /call Sell ${ItemToA} 
    /delay 1s 
    /call ClosePacks 
    /keypress esc 
    /keypress esc 
    /delay 1s 
    /call GoToMerchantA 

    /goto :start 

    /return 

Sub readIni(RecipeName) 
    /declare Container string 

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

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

   /varset Container ${Ini[baking.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} 
   }  

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

sub ClearCursor 
    :Loop 
      /if (!${Cursor.ID}) /return 
      /autoinv 
|      /destroy    
      /delay 5 
      /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[Baking]}>${OldSkill}) { 
        /echo Your Baking Went Up!! It's now ${Me.Skill[Baking]}! 
        /varset OldSkill ${Me.Skill[Baking]} 
      } 
    /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 
      /ctrl /itemnotify ${FindItem[=${CompName}].InvSlot} leftmouseup 

      /if (!${Cursor.ID}) { 
         /delay 1 
         /goto :Loop 
      } 

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

Sub Event_CombineError 
    /varset EndingVar 2 
/return 

Sub GoToMerchantA 
  /echo Going to ${MerchantNameA}. 
  :PullMoveLoopa 
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -120.78,181.51 
  /if (${Math.Distance[-120.78,181.51]}>2) /keypress forward hold 
  /if (${Math.Distance[-120.78,181.51]}<=2) { 
    /keypress forward 
    /goto :PullMoveLoopb 
  } 
  /goto :PullMoveLoopa 
  :PullMoveLoopb 
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -104.60,192.32 
  /if (${Math.Distance[-104.60,192.32]}>2) /keypress forward hold 
  /if (${Math.Distance[-104.60,192.32]}<=2) { 
    /keypress forward 
    /goto :end 
  } 
  /goto :PullMoveLoopb 
  :end 
/return 

Sub GoToMerchantB 
  /echo Going to ${MerchantNameB}. 
  :PullMoveLoopg 
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -120.78,181.51 
  /if (${Math.Distance[-120.78,181.51]}>2) /keypress forward hold 
  /if (${Math.Distance[-120.78,181.51]}<=2) { 
    /keypress forward 
    /goto :PullMoveLooph 
  } 
  /goto :PullMoveLoopg 
  :PullMoveLooph 
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -148.99,180.15 
  /if (${Math.Distance[-148.99,180.15]}>2) /keypress forward hold 
  /if (${Math.Distance[-148.99,180.15]}<=2) { 
    /keypress forward 
    /goto :end 
  } 
  /goto :PullMoveLooph 
  :end 
/return
 
copy paste... save as... put them in /releaseST/macros/common folder

i actually have them in both common folder and in macro folder

it all depends where macros look for them

8-)
 
was getting stuck on tables and crap so i added a few waypoints to the mac

took out the donebutton commabd and replaced with /keypress esc

thats it ..

8-)

Rich (BB code):
| 
| smithing.mac
| Takes you from 1 to 115 in smithing
| Version 2.7
| 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 115 in Blacksmithing. 
| SkillMaxWanted can be change to what skill you want to stop at.
| MerchantNameA is which merchant has the sheet metals.
| MerchantNameB is which merchant has the molds.
| MerchantNamec is which merchant has the water.
| 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 behind Snokin Breaksteel for this macro to work.
|
| 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 MerchantNameC string Outer
    /declare CompA item outer
    /declare CompB item outer
    /declare CompC item outer
    /declare CombItemName string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare Levelname int outer
    /declare DelayMult int outer
    /varset OldSkill ${Me.Skill[Blacksmithing]}

| ************************************************
| *   Change these settings to what you want.    *
| ************************************************

    /varset MerchantNameA "Snokin Breaksteel"
    /varset MerchantNameB "Cevroy Sharpaxe"
    /varset MerchantNameC "Dray Cuves"
    /varset SkillMaxWanted 115
    /varset DelayMult 1

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

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

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

    /if (${Me.Skill[Blacksmithing]}<92) {
      /varset CompA "gorget mold"
      /varset CompB "sheet metal"
      /varset CompC "water flask"
      /varset CombItemName "BG"
      /varset ItemTo "Banded Gorget"
    }
    /if (${Me.Skill[Blacksmithing]}>=92 && ${Me.Skill[Blacksmithing]}<102) {
      /varset CompA "cloak sectional mold"
      /varset CompB "sheet metal"
      /varset CompC "water flask"
      /varset CombItemName "BC"
      /varset ItemTo "Banded Cloak"
    }
    /if (${Me.Skill[Blacksmithing]}>=102 && ${Me.Skill[Blacksmithing]}<=115) {
      /varset CompA "mail sectional mold"
      /varset CompB "sheet metal"
      /varset CompC "water flask"
      /varset CombItemName "BM"
      /varset ItemTo "Banded Mail"
    }


    /varset EndingVar 1
    /delay ${Math.Calc[${DelayMult}*1]}s
    /target ${MerchantNameA}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call OpenPacks
    /call Sell ${ItemTo}
    /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 Buy ${CompB} 30
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
    /keypress esc
    /delay ${Math.Calc[${DelayMult}*2]}s

    /look
    /call GoToMerchantB
    /delay ${Math.Calc[${DelayMult}*2]}s
    /target ${MerchantNameB}
    /face
    /delay ${Math.Calc[${DelayMult}*2]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompA} 10
    /delay ${Math.Calc[${DelayMult}*1]}s
    /keypress esc
    /delay ${Math.Calc[${DelayMult}*1]}s

    /look
    /call GoToMerchantC
    /delay ${Math.Calc[${DelayMult}*2]}s
    /target ${MerchantNameC}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${CompC} 30
    /delay ${Math.Calc[${DelayMult}*1]}s
    /keypress esc
    /delay ${Math.Calc[${DelayMult}*1]}s


    /call GotoForge
    /look
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click left item
    /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 
       /if (${EndingVar}==1) /goto :Begin
 
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
    /nomodkey /keypress esc

    /call GoToMerchantA
    /delay ${Math.Calc[${DelayMult}*1]}s
    /target ${MerchantNameA}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call OpenPacks
    /delay ${Math.Calc[${DelayMult}*2]}s
    /call Sell ${ItemTo}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${CompA}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
    /keypress esc

    /goto :start

    /return

Sub readIni(RecipeName) 
    /declare Container string 

    /echo Running ${RecipeName} recipe 

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

   /varset Container ${Ini[smithing.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[smithing.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}*5]}s
      /doevents 
      /goto :Loop 
    /return 

sub DoCombine 
    :Loop 
      /combine ${PackCode} 
      /delay ${Math.Calc[${DelayMult}*1]}s
      /if (${PackCode.Equal[Enviro]}) /delay 1s 
      /doevents 
      /if (${InvSlot[${PackCode}].Item.Items}) /goto :Loop 
      /delay 5 
      /if (${Me.Skill[Blacksmithing]}>${OldSkill}) {
        /echo Your Blacksmithing Went Up!! It's now ${Me.Skill[Blacksmithing]}!
        /varset OldSkill ${Me.Skill[Blacksmithing]}
      }
    /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 "Forge"
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click left item
    /delay ${Math.Calc[${DelayMult}*2]}s
    /doevents
/return 

Sub GoToMerchantA
  /echo Going to ${MerchantNameA}.
  :PullMoveLoopa
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 18.59,221.98
  /if (${Math.Distance[18.59,221.98]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[18.59,221.98]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopb
  }
  /goto :PullMoveLoopa
  /delay 1s
  :PullMoveLoopb
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 126.89,236.86
  /if (${Math.Distance[126.89,236.86]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[126.89,236.86]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopc
  }
  /goto :PullMoveLoopb
  :PullMoveLoopc
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 130.49,259.22
  /if (${Math.Distance[130.49,259.22]}>2) {
    /nomodkey /keypress forward hold
    /nomodkey /keypress USE
    /nomodkey /keypress USE
  }
  /if (${Math.Distance[130.49,259.22]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopd
  }
  /goto :PullMoveLoopc
  /delay 1s
  :PullMoveLoopd
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 92.71,259.21
  /if (${Math.Distance[92.71,259.21]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[92.71,259.21]}<=2) {
    /nomodkey /keypress forward
    /goto :end
  }
  /goto :PullMoveLoopd
  :end
/return

Sub GoToMerchantB
  /echo Going to ${MerchantNameB}.
  :PullMoveLoopa
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 130.49,259.22
  /if (${Math.Distance[130.49,259.22]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[130.49,259.22]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopb
  }
  /goto :PullMoveLoopa
  :PullMoveLoopb
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 129.65,235.06
  /if (${Math.Distance[129.65,235.06]}>2) {
    /nomodkey /keypress forward hold 
    /nomodkey /keypress USE
  }
  /if (${Math.Distance[129.65,235.06]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopc
  }
  /goto :PullMoveLoopb
  :PullMoveLoopc
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 35.36,235.70
  /if (${Math.Distance[35.36,235.70]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[35.36,235.70]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopd
  }
  /goto :PullMoveLoopc
  :PullMoveLoopd
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc 58.49,263.19
  /if (${Math.Distance[58.49,263.19]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[58.49,263.19]}<=2) {
    /nomodkey /keypress forward
    /goto :end
  }
  /goto :PullMoveLoopd
  :end
/return

Sub GoToMerchantC
  /echo Going to ${MerchantNameC}.
  :PullMoveLoopc
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -17.97,242.28
  /if (${Math.Distance[-17.97,242.28]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-17.97,242.28]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopd
  }
  /goto :PullMoveLoopc
  /delay 1s
  :PullMoveLoopd
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -56.90,285.24
  /if (${Math.Distance[-56.90,285.24]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-56.90,285.24]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoope
  }
  /goto :PullMoveLoopd
  /delay 1s
  :PullMoveLoope
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -240.09,285.24
  /if (${Math.Distance[-240.09,285.24]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-240.09,285.24]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopf
  }
  /goto :PullMoveLoope
  /delay 1s
  :PullMoveLoopf
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -242.62,215.95
  /if (${Math.Distance[-242.62,215.95]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-242.62,215.95]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopi
  }
  /goto :PullMoveLoopf
/delay 1s
  :PullMoveLoopi
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -221.62,215.95
  /if (${Math.Distance[-221.62,215.95]}>2) {
	/nomodkey /keypress forward hold 
	/nomodkey /keypress USE
}
  /if (${Math.Distance[-221.62,215.95]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopg
  }
  /goto :PullMoveLoopi
  :PullMoveLoopg
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -220.54,176.45
  /if (${Math.Distance[-220.54,176.45]}>2) {
    /nomodkey /keypress forward hold 
   /goto :PullMoveLoopg
    }
  /if (${Math.Distance[-220.54,176.45]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLooph
  }
  /goto :PullMoveLoopg
  :PullMoveLooph
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -155.54,172.52
  /if (${Math.Distance[-155.54,172.52]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-155.54,172.52]}<=2) {
    /nomodkey /keypress forward
    /goto :end
  }
  /goto :PullMoveLooph
  :end
/return 

Sub GoToForge
  /echo Going to Forge.
  :PullMoveLoopa
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -55.54,189.52
  /if (${Math.Distance[-155.54,172.52]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-155.54,172.52]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopb
  }
  /goto :PullMoveLoopa
  /delay 1s
  :PullMoveLoopb
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -220.54,176.45
  /if (${Math.Distance[-220.54,176.45]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-220.54,176.45]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopc
  }
  /goto :PullMoveLoopb
  /delay 1s
  :PullMoveLoopc
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -215.14,215.85
  /if (${Math.Distance[-215.14,215.85]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-215.14,215.85]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopd
  }
  /goto :PullMoveLoopc
  :PullMoveLoopd
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -242.62,215.95
  /if (${Math.Distance[-242.62,215.95]}>2) {
    /nomodkey /keypress forward hold
    /nomodkey /keypress USE
  }
  /if (${Math.Distance[-242.62,215.95]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoope
  }
  /goto :PullMoveLoopd
  /delay 1s
  :PullMoveLoope
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -240.09,285.24
  /if (${Math.Distance[-240.09,285.24]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-240.09,285.24]}<=2) {
    /nomodkey /keypress forward
    /goto :PullMoveLoopf
  }
  /goto :PullMoveLoope
  /delay 1s
  :PullMoveLoopf
  /if (${Me.State.Equal[SIT]}) /stand 
  /face nolook loc -56.90,285.24
  /if (${Math.Distance[-56.90,285.24]}>2) /nomodkey /keypress forward hold 
  /if (${Math.Distance[-56.90,285.24]}<=2) {
    /nomodkey /keypress forward
    /goto :forge
  }
  /goto :PullMoveLoopf
  :forge
  /itemtarget "Forge"
  :PullMoveLoopg
  /if (${Me.State.Equal[SIT]}) /stand
  /face
  /if (${Target.Distance}>10) /nomodkey /keypress forward hold 
  /if (${Target.Distance}<=10) {
    /nomodkey /keypress forward
    /goto :end
  }
  /goto :PullMoveLoopg
  :end
/return
 
Last edited:
change

Rich (BB code):
#include sell.inc
#include buy.inc
#include packs.inc
#include cleanpacks.inc

to

Rich (BB code):
#include common/sell.inc
#include common/buy.inc
#include common/packs.inc
#include common/cleanpacks.inc

in brewing.mac so that you dont have to have 2 copies of the .incs or get errors
 
vearroyo said:
change

Rich (BB code):
#include sell.inc
#include buy.inc
#include packs.inc
#include cleanpacks.inc

to

Rich (BB code):
#include common/sell.inc
#include common/buy.inc
#include common/packs.inc
#include common/cleanpacks.inc

in brewing.mac so that you dont have to have 2 copies of the .incs or get errors

yeah i know

but

after all the other changes i was too lazy to do it 8-)
 
ah wasnt knocking ya man.. hell im glad ya did it. ran all of them the other night while i was bored just to skill up.
 
working pottery tonight... any maybe JC.. will post fixed codes..

once these codes are fixed i will work a path using advpath.inc.. to cut down on code and hopefully make these faster 8-)


lol no worries V
 
actually i have yet to try advpath

but letmein hooked me up with the macro to make paths .. so i must try it out
 
pottery works like a champ .. a little slow.. but ..

Rich (BB code):
| 
| pottery.mac
| Takes you from 1 to 188 in pottery
| Version 2.4
| 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 188 in pottery. 
| SkillMaxWanted can be change to what skill you want to stop at.
| MerchantNameA is which merchant has the water flask.
| MerchantNameB is which merchant has the firing sheets, sketchs, clay and brew.
| The DoKiln can be set to 1 or 0, if it is in 1 it will actually make the final
|    item in the Kiln. This will save you on money, but take more time to skill up.
|    Setting it to 0 will skip the Kiln.
| 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 in front of Yoen Ormard (near the alchemy guys) for this macro to work.
|
| 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 UsingCont int outer
    /declare DoKiln 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 WFlask item outer
    /declare CBrew item outer
    /declare BClay item outer
    /declare VialT item outer
    /declare QSheet item outer
    /declare SubComp item outer
    /declare CombItemA string outer
    /declare CombItemB string outer
    /declare ItemTo string outer
    /declare EndingVar int outer
    /declare Levelname int outer
    /declare DelayMult int outer
    /varset OldSkill ${Me.Skill[Pottery]}
    /declare Location int inner

    /call ReadINIA pottery.ini "Abysmal Sea" 
    /if (!${Defined[LocArray]}) { 
       /echo No Loc Array Created...
       /endmacro 
    } 

| ************************************************
| *   Change these settings to what you want.    *
| ************************************************

    /varset MerchantNameA "Yoen Ormard"
    /varset MerchantNameB "Malkidiv"
    /varset SkillMaxWanted 188
    /varset DoKiln 1
    /varset DelayMult 1

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

    :start
    /varset UsingCont 0
    /echo Pottery is at ${Me.Skill[Pottery]}

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

    /if (${Me.Skill[Pottery]}<148) {
      /varset WFlask "water flask"
      /varset CBrew "crows special brew"
      /varset BClay "small block of clay"
      /varset VialT "vial sketch"
      /varset QSheet "high quality firing sheet"
      /varset CombItemA "PVA"
      /varset CombItemB "PVB"
      /varset SubComp "Unfired Poison Vial"
      /varset ItemTo "Poison Vial"
    }
    /if (${Me.Skill[Pottery]}>=148 && ${Me.Skill[Pottery]}<168) {
      /varset WFlask "water flask"
      /varset CBrew "crows special brew"
      /varset BClay "small block of clay"
      /varset VialT "lined vial sketch"
      /varset QSheet "high quality firing sheet"
      /varset CombItemA "LPVA"
      /varset CombItemB "LPVB"
      /varset SubComp "Unfired Lined Poison Vial"
      /varset ItemTo "Lined Poison Vial"
    }
    /if (${Me.Skill[Pottery]}>=168 && ${Me.Skill[Pottery]}<=188) {
      /varset WFlask "water flask"
      /varset CBrew "crows special brew"
      /varset BClay "small block of clay"
      /varset VialT "sealed vial sketch"
      /varset QSheet "high quality firing sheet"
      /varset CombItemA "SPVA"
      /varset CombItemB "SPVB"
      /varset SubComp "Unfired Sealed Poison Vial"
      /varset ItemTo "Sealed Poison Vial"
    }


    /varset EndingVar 1
    /delay ${Math.Calc[${DelayMult}*1]}s
    /target ${MerchantNameA}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call OpenPacks
    /call Sell ${ItemTo}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${WFlask}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${CBrew}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${BClay}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${VialT}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${WFlask} 30
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
    /delay ${Math.Calc[${DelayMult}*2]}s
    /keypress esc
    /keypress esc

    /look
    /call GoToMerchantB
    /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 ${CBrew} 20
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${BClay} 20
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Buy ${VialT} 20
    /delay ${Math.Calc[${DelayMult}*1]}s
    /if (${DoKiln}==1) /call Buy ${QSheet} 20
    /delay ${Math.Calc[${DelayMult}*1]}s
    /keypress esc
    /delay ${Math.Calc[${DelayMult}*2]}s

    /itemtarget "Pottery Wheel"
    /face
    /look
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click left item
    /delay ${Math.Calc[${DelayMult}*2]}s
    /doevents
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call OpenPacks
    /delay ${Math.Calc[${DelayMult}*1]}s

    /call readIni "${CombItemA}" 
    :BeginA
       /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 
       /if (${EndingVar}==1) /goto :BeginA
 
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
    /nomodkey /keypress esc

  /if (${DoKiln}==1) {
    /varset UsingCont 1
    /call GoToKiln
    /delay ${Math.Calc[${DelayMult}*1]}s
    /itemtarget "Kiln"
    /face
    /look
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click left item
    /delay ${Math.Calc[${DelayMult}*2]}s
    /doevents
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call OpenPacks
    /delay ${Math.Calc[${DelayMult}*2]}s

    /varset EndingVar 1
    /call readIni "${CombItemB}" 
    :BeginB
       /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 
       /if (${EndingVar}==1) /goto :BeginB
 
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
    /nomodkey /keypress esc
  }

    /call GoToMerchantA
    /delay ${Math.Calc[${DelayMult}*1]}s
    /target ${MerchantNameA}
    /face
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click right target
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call OpenPacks
    /call Sell ${ItemTo}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${WFlask}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${CBrew}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${BClay}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call Sell ${VialT}
    /delay ${Math.Calc[${DelayMult}*1]}s
    /call ClosePacks
    /keypress esc
    /keypress esc
    /delay ${Math.Calc[${DelayMult}*2]}s

    /goto :start

    /return

Sub readIni(RecipeName) 
    /declare Container string 

    /echo Running ${RecipeName} recipe 

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

   /varset Container ${Ini[pottery.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[pottery.ini,${RecipeName},Comp${Math.Calc[${i}-1].Int},NOTFOUND]} 
    /next i 
    /return 

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

sub DoCombine 
    :Loop 
      /combine ${PackCode} 
      /delay ${Math.Calc[${DelayMult}*1]}s 
      /if (${PackCode.Equal[Enviro]}) /delay 1s 
      /doevents 
      /if (${InvSlot[${PackCode}].Item.Items}) /goto :Loop 
      /delay ${Math.Calc[${DelayMult}*5]}s
      /if (${Me.Skill[Pottery]}>${OldSkill}) {
        /echo Your Pottery Went Up!! It's now ${Me.Skill[Pottery]}!
        /varset OldSkill ${Me.Skill[Pottery]}
      }
    /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
    /if (${UsingCont}==0) /itemtarget "Pottery Wheel"
    /if (${UsingCont}==1) /itemtarget "Kiln"
    /delay ${Math.Calc[${DelayMult}*1]}s
    /nomodkey /click left item
    /delay ${Math.Calc[${DelayMult}*2]}s
    /doevents
/return 

Sub GoToMerchantA
  /declare Location int inner
  /echo Going to ${MerchantNameA}.
/if (${DoKiln}==1) {
  /varset Location ${LocArray.Size}
  :starta
  /if (${Location}>0) {   
     :MoveLoopa
     /if (${Location}==9) /goto :Donea
     /face nolook loc ${LocArray[${Location}]}
     /if (${Math.Distance[${LocArray[${Location}]}]}>4) {
        /nomodkey /keypress forward hold
        /face nolook loc ${LocArray[${Location}]}
        /look
        /if (${Location}==11) /keypress USE
     }
     /if (${Math.Distance[${LocArray[${Location}]}]}<=4) {
        /nomodkey /keypress forward
        /goto :nexta
     }
     /goto :MoveLoopa
     :nexta
     /delay ${Math.Calc[${DelayMult}*1]}s
     /varset Location ${Math.Calc[${Location}-1]}
     /goto :starta
  }
  :Donea
  /varset Location 5
  :startb
  /if (${Location}>0) {   
     :MoveLoopb
     /if (${Location}==0) /goto :Doneb
     /face nolook loc ${LocArray[${Location}]}
     /if (${Math.Distance[${LocArray[${Location}]}]}>4) {
        /nomodkey /keypress forward hold
        /face nolook loc ${LocArray[${Location}]}
        /look
        /if (${Location}==2) /keypress USE
     }
     /if (${Math.Distance[${LocArray[${Location}]}]}<=4) {
        /nomodkey /keypress forward
        /goto :nextb
     }
     /goto :MoveLoopb
     :nextb
     /delay ${Math.Calc[${DelayMult}*1]}s
     /varset Location ${Math.Calc[${Location}-1]}
     /goto :startb
  }
  :Doneb
} else {
  /varset Location 8
  :startc
  /if (${Location}>0) {   
     :MoveLoopb
     /if (${Location}==0) /goto :Donec
     /face nolook loc ${LocArray[${Location}]}
     /if (${Math.Distance[${LocArray[${Location}]}]}>4) {
        /nomodkey /keypress forward hold
        /face nolook loc ${LocArray[${Location}]}
        /look
        /if (${Location}==2) /keypress USE
     }
     /if (${Math.Distance[${LocArray[${Location}]}]}<=4) {
        /nomodkey /keypress forward
        /goto :nextc
     }
     /goto :MoveLoopb
     :nextc
     /delay ${Math.Calc[${DelayMult}*1]}s
     /varset Location ${Math.Calc[${Location}-1]}
     /goto :startc
  }
  :Donec
}
/return

Sub GoToMerchantB
  /declare Location int inner
  /echo Going to ${MerchantNameB}.
  /for Location 1 to 8
     :MoveLoop
     /face nolook loc ${LocArray[${Location}]}
     /if (${Math.Distance[${SHArray[${Location}]}]}>4) {
        /nomodkey /keypress forward hold
        /face nolook loc ${LocArray[${Location}]}
        /look
        /if (${Location}==3) /keypress USE
     }
     /if (${Math.Distance[${LocArray[${Location}]}]}<=4) {
        /nomodkey /keypress forward
        /goto :next
     }
     /goto :MoveLoop
     :next
     /delay ${Math.Calc[${DelayMult}*1]}s
  /next Location
/return

Sub GoToKiln
  /declare Location int inner
  /echo Going to Kiln.
  /for Location 8 to 14
     :MoveLoop
     /face nolook loc ${LocArray[${Location}]}
     /if (${Math.Distance[${SHArray[${Location}]}]}>4) {
        /nomodkey /keypress forward hold
        /face nolook loc ${LocArray[${Location}]}
        /look
        /if (${Location}==12) /keypress USE
     }
     /if (${Math.Distance[${LocArray[${Location}]}]}<=4) {
        /nomodkey /keypress forward
        /goto :next
     }
     /goto :MoveLoop
     :next
     /delay ${Math.Calc[${DelayMult}*1]}s
  /next Location
/return 

Sub ReadINIA(FileName,SectionName) 
   /echo Attempting to Read Section "${SectionName}" Zone Information from ${FileName}... 
   /delay ${Math.Calc[${DelayMult}*1]}s
    
   /if (${Ini[${FileName},${SectionName},-1,NO].Equal[NO]}) { 
      /echo "${SectionName}" is not a Valid Section for FILE:${FileName}, ending macro... 
      /delay 1s 
      /return
   } 
   /declare nValues     int local  1 
   /declare nArray      int local  0 
   /declare KeySet      string local  ${Ini[${FileName},${SectionName}]} 

| ****************** Locs ****************************
   :CounterLooplo
   /if (${String[${Ini[${FileName},${SectionName},Loc${nValues}]}].Equal[null]}) { 
      /varcalc nValues ${nValues}-1 
      /goto :MakeArraylo 
   } 
   /varcalc nValues ${nValues}+1 
   /goto :CounterLooplo 
   :MakeArraylo 
   /if (!${nValues}) /return
   /if (${nValues}>0) { 
      /echo Declaring Loc Array... 
      /declare LocArray[${nValues}]  string outer
   }
   /for nArray 1 to ${nValues}
      /varset LocArray[${nArray}] ${Ini[${FileName},${SectionName},Loc${nArray}]} 
   /next nArray



   /echo "${SectionName}" Zone Information Read Successfully from ${FileName}... 
   /delay ${Math.Calc[${DelayMult}*1]}s
/return
 
Gogo army ! I never maxed anything but Fletching and JC, because I hate tradeskilling, and now that there are macros to do it for me, I still don't do it,because I'm too lazy to start the mac :P
 
Army bro, you try the advpathing yet?

It's teh win!

Something to remember, as my buddy figure out. If you have any form of run speed whether passive or spell based, when you record the macro the macro only records every second or so the loc you are at.

So the base pathfiles are rather..."choppy".

Once they are created, you'll need to go in and span the gaps if you want the movement to be smooth as silk.

If you have any questions let me know, I'd be glad to look at your pathfiles.

Oh, and PS...do yourself a favor and do NOT post your pathfiles.

Especially if it's a popular macro, you don't want everyone and their mom running the same paths as you....easy way to get noticed as not be "natural" if your running the same route as everyone else.

One of the reasons I've never posted my FH macro. It gets a new DZ every 6 hrs withOUT warping.

If I must say, it looks sooo natural, you couldn't pick it out.

And I'm the only one running this path. ;)
 
i am gonna make sure all the macros work first... then i will do the advpath

i will post "A Path" ... but mine will be the LEET one 8-)

i was also thinking about using the new containers for these then i remembered if your skill is too low it will not find the recipe..so prob will stick with old TS UI

maybe try and speed it up a little though 8-)

pottery is soooo slow.. he he
 
easy yes.. i did TS the old fashioned way .. backin the day ...

slow i mean the macro itself..

8-)
 
Hello all. New poster/member here, since just before DOD. Not posted before, as have been reading all and getting MQ2 to work OK, and it does! Excellent.
I tried most of these macros here this evening, none of them worked. The buy & sell was OK, and bags and paths but:
Smithing: bought all the stuff, but when got to forge, couldn't find BG recipe.
Brewing: bought all da stuff, but once got to combiner - nothing, just stopped.
Pottery: bombed straight away, saying Abysmal Sea was not valid in 'pottery.ini' or something? Where's this pottery.ini?
I haven't familiarized myself yet with making macros, so cannot see where the problems lie.
 
you need to unzip the original file first.. then update .. i will put together a zip of the working macros and the files needed

you can edit the macros and

change

Rich (BB code):
#include sell.inc
#include buy.inc
#include packs.inc
#include cleanpacks.inc

to

Rich (BB code):
#include common/sell.inc
#include common/buy.inc
#include common/packs.inc
#include common/cleanpacks.inc

i included those 4 files in root and in common folder.. so its up to you

the 4 ini files are there also

you should have had them from the initial DL ..

as for the smithing.. i will have to break out a new toon and try it again..

they all worked for me just fine. hence why i posted them 8-)
 
dl that zip .. and EXTRACT to the macro folder...

the <Skill>.mac and <Skill>.ini should be in the macro folder....

the buy, sell, clean and packs are the ones you decide where you want.. and edit macro accordingly
 
if the smithing one is opening up the new UI.. you may need to have it in favorites...

if that is the case lemme know an i will put it to the old UI

for AFK TS.. the old UI works fine 8-)
 
OK! Pottery works fine now. At least till I ran outta money! Brewing still didnt work, just stopped at barrel. Didn't see therecipe for Minotaurs brew either. Didn't try smithing. I'm using old default UI.
 
mguk said:
OK! Pottery works fine now. At least till I ran outta money! Brewing still didnt work, just stopped at barrel. Didn't see therecipe for Minotaurs brew either. Didn't try smithing. I'm using old default UI.

You have to make (1) succesful combine of the item for you to "know" the recipe.
 
i think the brewing one is set for new UI .. i will work on it tomorrow and get it back to old UI so it works again

8-)
 
I could not find it, but has anyone written a macro that will utilize the freebie abysmal sea tradeskill ups 1-54? If so, please link it for me in reply and thank you in advance. If not, then I guess I'll write my own :) Just prefer not to re-invent the wheel.
 
armysoldier said:
i think the brewing one is set for new UI .. i will work on it tomorrow and get it back to old UI so it works again

8-)

I think maybe after October 12th the default UI will be the new one anyway? Wouldn't want you to spend time on it just for it to be redundant in 6 days.
 
the TS macros that are here will take you to the skills listed... IMO its kinda pointless to do the freebie quests .. when these are so easy ...

with all the AFK PP people make .. a few hundred pp is nothing

8-)
 
mguk said:
I think maybe after October 12th the default UI will be the new one anyway? Wouldn't want you to spend time on it just for it to be redundant in 6 days.



problem is .. new UI the recipe has to be selected.. and that means a. expiriment until one sucess... or b. your skill has to be close enough to select the recipe.

using the old UI .. none of that matters
 
Max Tradeskills while afk?

Users who are viewing this thread

Back
Top
Cart