geostone
New member
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.

kidder60 said:has anyone updated this buy inc file
UPDATE ok i was dumb nevermind... DO we have info on the new buyer deal? where we can get it... etc.|
| 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
|
| 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
| 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
| 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
| 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
/notify MerchantWnd DoneButton leftmouseup
/keypress esc
|
| 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
|
| 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
#include sell.inc
#include buy.inc
#include packs.inc
#include cleanpacks.inc
#include common/sell.inc
#include common/buy.inc
#include common/packs.inc
#include common/cleanpacks.inc
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
|
| 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

#include sell.inc
#include buy.inc
#include packs.inc
#include cleanpacks.inc
#include common/sell.inc
#include common/buy.inc
#include common/packs.inc
#include common/cleanpacks.inc
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.
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-)
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.