http://www.soc-music.com/mq2/
Below is the Jewelrycrafting one I have made. This is to be used in the Abysmal Sea and you will need a lot of money on you to go from 1 to 250 if you are doing that. Plus BE SURE to place the .inc files into the common directory in your macros directory (if there isn't one.....create it).
jc.mac
Code: Select all
|
| jc.mac
| Takes you from 1 to 250 in Jewelry Crafting
| Version 2.2
| 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 250 in Jewelry Crafting.
| SkillMaxWanted can be change to what skill you want to stop at.
| MerchantName is which merchant you are at.
|
| This Macro works best in the Abysmal Sea since all the components are there.
| You WILL need to be next to the merchant in order for this to work.
| Also, be sure you have a lot of money on you to go from 1 to 250.
|
| Requirements:
| You will need a Jewelry Kit (in the last slot).
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
|
#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 MerchantName string Outer
/declare BarItem item outer
/declare GemItem item outer
/declare CombItemName string outer
/declare ItemTo string outer
/declare EndingVar int outer
/declare Levelname int outer
/varset OldSkill ${Me.Skill[Jewelry Making]}
| ************************************************
| * Change these settings to what you want. *
| ************************************************
/varset SkillMaxWanted 250
/varset MerchantName "Rilwind Sitnai"
| ************************************************
| ************************************************
:start
/echo Jewelry Crafting is at ${Me.Skill[Jewelry Making]}
/if (${Me.Skill[Jewelry Making]}>=${SkillMaxWanted}) {
/echo Jewelry Making is at ${SkillMaxWanted}. Quiting!
/endmacro
}
/if (${Me.Skill[Jewelry Making]}>=220 && ${Me.Skill[Jewelry Making]}<250) {
/varset BarItem "platinum bar"
/varset GemItem "jade"
/varset CombItemName "PJ"
/varset ItemTo "Jaded Platinum Ring"
}
/if (${Me.Skill[Jewelry Making]}>=202 && ${Me.Skill[Jewelry Making]}<220) {
/varset BarItem "platinum bar"
/varset GemItem "lapis lazuli"
/varset CombItemName "PLL"
/varset ItemTo "Platinum Lapis Lazuli Necklace"
}
/if (${Me.Skill[Jewelry Making]}>=191 && ${Me.Skill[Jewelry Making]}<202) {
/varset BarItem "gold bar"
/varset GemItem "fire emerald"
/varset CombItemName "GFE"
/varset ItemTo "Fire Emerald Golden Bracelet"
}
/if (${Me.Skill[Jewelry Making]}>=183 && ${Me.Skill[Jewelry Making]}<191) {
/varset BarItem "gold bar"
/varset GemItem "star ruby"
/varset CombItemName "GSA"
/varset ItemTo "Golden Star Ruby Ring"
}
/if (${Me.Skill[Jewelry Making]}>=183 && ${Me.Skill[Jewelry Making]}<191) {
/varset BarItem "gold bar"
/varset GemItem "opal"
/varset CombItemName "GO"
/varset ItemTo "Golden Opal Amulet"
}
/if (${Me.Skill[Jewelry Making]}>=172 && ${Me.Skill[Jewelry Making]}<183) {
/varset BarItem "gold bar"
/varset GemItem "topaz"
/varset CombItemName "GT"
/varset ItemTo "Golden Topaz Earring"
}
/if (${Me.Skill[Jewelry Making]}>=146 && ${Me.Skill[Jewelry Making]}<172) {
/varset BarItem "gold bar"
/varset GemItem "amber"
/varset CombItemName "GA"
/varset ItemTo "Golden Amber Earring"
}
/if (${Me.Skill[Jewelry Making]}>=100 && ${Me.Skill[Jewelry Making]}<146) {
/varset BarItem "gold bar"
/varset GemItem "malachite"
/varset CombItemName "GM"
/varset ItemTo "Gold Malachite Bracelet"
}
/if (${Me.Skill[Jewelry Making]}>=76 && ${Me.Skill[Jewelry Making]}<100) {
/varset BarItem "electrum bar"
/varset GemItem "amber"
/varset CombItemName "EA"
/varset ItemTo "Electrum Amber Earring"
}
/if (${Me.Skill[Jewelry Making]}<76) {
/varset BarItem "electrum bar"
/varset GemItem "lapis lazuli"
/varset CombItemName "EL"
/varset ItemTo "Electrum Lapis Lazuli Earring"
}
/varset EndingVar 1
/target ${MerchantName}
/face
/click right target
/delay 1s
/call Buy ${BarItem} 20
/delay 1s
/call Buy ${GemItem} 20
/delay 1s
/notify MerchantWnd DoneButton leftmouseup
/delay 2s
/call OpenPacks
/delay 2s
/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
/target ${MerchantName}
/face
/click right target
/delay 1s
/call OpenPacks
/delay 2s
/call Sell ${ItemTo}
/delay 1s
/call ClosePacks
/keypress esc
/keypress esc
/goto :start
/return
Sub readIni(RecipeName)
/declare Container string
/echo Running ${RecipeName} recipe, which makes ${ItemTo}.
/if (${Ini["jc.ini","${RecipeName}",-1,"NOTFOUND"].Equal["NOTFOUND"]}) {
/echo Recipe ${RecipeName} not found
/endmacro
}
/varset Container ${Ini[jc.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[jc.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[Jewelry Making]}>${OldSkill}) {
/echo Your Jewelry Crafting Went Up!! It's now ${Me.Skill[Jewelry Making]}!
/varset OldSkill ${Me.Skill[Jewelry Making]}
}
/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
Code: Select all
[EL]
Cont=Jeweler's Kit
Comp0=electrum bar
Comp1=lapis lazuli
[EA]
Cont=Jeweler's Kit
Comp0=electrum bar
Comp1=amber
[GM]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=malachite
[GA]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=amber
[GT]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=topaz
[GO]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=opal
[GSR]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=star ruby
[GFE]
Cont=Jeweler's Kit
Comp0=gold bar
Comp1=fire emerald
[PLL]
Cont=Jeweler's Kit
Comp0=platinum bar
Comp1=lapis lazuli
[PJ]
Cont=Jeweler's Kit
Comp0=platinum bar
Comp1=jadeCode: Select all
|
| buy.inc
| Buy Include File needed for macros
| Version 1.3
| Date: August 1, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/index.htm
|
| These file MUST be in the common directory in your macros directory.
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
|
#event Broke "#*#can't afford to buy them#*#"
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
/for x 1 to ${TotalMItems}
/if (${ItemToBuy.Equal[${Merchant.Item[${x}]}]}) {
/varset ItemSlotNum ${x}
}
/next x
/if (${ItemSlotNum}==0) {
/echo Not on Merchant
/return
}
/itemnotify merchant${ItemSlotNum} leftmouseup
:Buy
/if (${FindItemCount[=${SelectedItem}]}>=${amount}) {
/echo Done!
/return
}
:StackLoop
/if (${Math.Calc[${amount}-${FindItemCount[=${SelectedItem}]}]}<=20) /goto :RegLoop
/buyitem ${If[${SelectedItem.Stackable},20,1]}
/delay 5
/doevents
/goto :StackLoop
:RegLoop
/if (${Math.Calc[${amount}-${FindItemCount[=${SelectedItem}]}]}<=0) {
/echo Done!
/return
}
/buyitem ${If[${SelectedItem.Stackable},${Math.Calc[${amount}-${FindItemCount[=${SelectedItem}]}]},1]}
/delay 5
/doevents
/goto :RegLoop
/return
Sub Event_Broke
/echo Error: You are out of money!
/beep
/endmacro
/return
Code: Select all
|
| packs.inc
| Open and Close Packs Include File needed for macros
| Version 1.1
| Date: August 1, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/index.htm
|
| 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
/newif (!${Window[InventoryWindow].Open}) /keypress inventory
/delay 1
/for bag 1 to 8 step 1
/newif (!${Window[pack${bag}].Open}) /itemnotify pack${bag} rightmouseup
/next bag
/delay 1
/return
Sub ClosePacks
/declare bag int local 0
| /newif (!${Window[InventoryWindow].Open}} /keypress inventory
/delay 1
/for bag 1 to 8 step 1
/newif (${Window[pack${bag}].Open}) /itemnotify pack${bag} rightmouseup
/next bag
/delay 1
/return
Code: Select all
|
| sell.inc
| Selling Include File needed for macros
| Version 1.2
| Date: August 1, 2004
|
| Please be sure to get the lastest updates at http://www.soc-music.com/mq2/index.htm
|
| 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]}) {
/echo Usage: /macro sell "Item"
/return
}
:Finding
/if (${FindItemCount[=${ItemToSell}]}==0) /goto :Done
/itemnotify ${FindItem[=${ItemToSell}].InvSlot} leftmouseup
:WaitFind
/if (${Bool[${SelectedItem}]}==FALSE) /goto :WaitFind
:Selling
/delay 1s
/varset OldMoney ${Me.Cash}
/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 
