MUCH more cost-effective route:
fletching.mac:
Code: Select all
|
| fletching.mac
| Takes you from 1 to 250 in Fletching
| Version 2.8
| Date: August 17, 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 250 in fletching.
| 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.
|
| Requirements:
| You will need a Fletching Kit (in the last slot).
|
| Disclaimer:
| Code was used from other programers also from the MQ Forums.
| Thanks to El for the update to the combines to make it more cost effective.
| Thanks to hytiek for the update to get from 202 to 250.
| If you want to go past 202, it gets VERY expensive. Sent it to 202 if you don't have much pp.
|
#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
#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 MerchantName string Outer
/declare AShafts item outer
/declare GrooveN item outer
/declare CFletching item outer
/declare AHeads item outer
/declare Twine item outer
/declare Staff item outer
/declare Cam item outer
/declare CombItemName string outer
/declare ItemTo string outer
/declare EndingVar int outer
/declare Levelname int outer
/varset OldSkill ${Me.Skill[Fletching]}
| ************************************************
| * Change these settings to what you want. *
| ************************************************
/varset MerchantName "Bansama Nysawi"
/varset SkillMaxWanted 250
| ************************************************
| ************************************************
:start
/echo Fletching is at ${Me.Skill[Fletching]}
/if (${Me.Skill[Fletching]}>=${SkillMaxWanted}) {
/echo Fletching is at ${SkillMaxWanted}. Quiting!
/endmacro
}
/if (${Me.Skill[Fletching]}>=235 && ${Me.Skill[Fletching]}<250) {
/varset Staff "shadewood bow staff"
/varset Twine "hemp twine"
/varset CombItemName "RSRB"
/varset ItemTo "Rough Shadewood Recurve Bow"
}
/if (${Me.Skill[Fletching]}>=215 && ${Me.Skill[Fletching]}<235) {
/varset Staff "darkwood bow staff"
/varset Twine "hemp twine"
/varset Cam "standard bow cam"
/varset CombItemName "RDCB"
/varset ItemTo "Rough Darkwood Compound Bow"
}
/if (${Me.Skill[Fletching]}>=202 && ${Me.Skill[Fletching]}<215) {
/varset Staff "darkwood bow staff"
/varset Twine "hemp twine"
/varset CombItemName "RDRB"
/varset ItemTo "Rough Darkwood Recurve Bow"
}
/if (${Me.Skill[Fletching]}>=162 && ${Me.Skill[Fletching]}<202) {
/varset AHeads "field point arrowheads"
/varset AShafts "bundled wooden arrow shafts"
/varset CFletching "set of ceramic arrow vanes"
/varset GrooveN "large groove nocks"
/varset CombItemName "FWCL"
/varset ItemTo "CLASS 6 Wood Point Arrow"
}
/if (${Me.Skill[Fletching]}>=135 && ${Me.Skill[Fletching]}<162) {
/varset AHeads "field point arrowheads"
/varset AShafts "bundled wooden arrow shafts"
/varset CFletching "set of bone arrow vanes"
/varset GrooveN "large groove nocks"
/varset CombItemName "FWBL"
/varset ItemTo "CLASS 5 Wood Point Arrow"
}
/if (${Me.Skill[Fletching]}>=122 && ${Me.Skill[Fletching]}<135) {
/varset AShafts "bundled ceramic arrow shafts"
/varset GrooveN "large groove nocks"
/varset CFletching "several round cut fletchings"
/varset AHeads "field point arrowheads"
/varset CombItemName "FCRL"
/varset ItemTo "CLASS 1 Ceramic Point Arrow"
}
/if (${Me.Skill[Fletching]}>=102 && ${Me.Skill[Fletching]}<122) {
/varset AShafts "bundled wooden arrow shafts"
/varset GrooveN "large groove nocks"
/varset CFletching "set of wooden arrow vanes"
/varset AHeads "field point arrowheads"
/varset CombItemName "FWWL"
/varset ItemTo "CLASS 4 Wood Point Arrow"
}
/if (${Me.Skill[Fletching]}>=82 && ${Me.Skill[Fletching]}<102) {
/varset AShafts "bundled wooden arrow shafts"
/varset GrooveN "large groove nocks"
/varset CFletching "several round cut fletchings"
/varset AHeads "hooked arrowheads"
/varset CombItemName "HWSL"
/varset ItemTo "CLASS 1 Wood Hooked Arrow"
}
/if (${Me.Skill[Fletching]}>=68 && ${Me.Skill[Fletching]}<82) {
/varset AShafts "bundled wooden arrow shafts"
/varset GrooveN "large groove nocks"
/varset CFletching "several shield cut fletchings"
/varset AHeads "field point arrowheads"
/varset CombItemName "FWSL"
/varset ItemTo "CLASS 3 Wood Point Arrow"
}
/if (${Me.Skill[Fletching]}>=56 && ${Me.Skill[Fletching]}<68) {
/varset AShafts "bundled bone arrow shafts"
/varset GrooveN "large groove nocks"
/varset CFletching "several round cut fletchings"
/varset AHeads "field point arrowheads"
/varset CombItemName "FBRL"
/varset ItemTo "CLASS 1 Bone Point Arrow"
}
/if (${Me.Skill[Fletching]}>=46 && ${Me.Skill[Fletching]}<56) {
/varset AShafts "bundled wooden arrow shafts"
/varset GrooveN "small groove nocks"
/varset CFletching "several round cut fletchings"
/varset AHeads "field point arrowheads"
/varset CombItemName "FWRS"
/varset ItemTo "CLASS 1 Wood Point Arrow"
}
/if (${Me.Skill[Fletching]}>=36 && ${Me.Skill[Fletching]}<46) {
/varset AShafts "bundled wooden arrow shafts"
/varset GrooveN "large groove nocks"
/varset CFletching "several parabolic cut fletchings"
/varset AHeads "field point arrowheads"
/varset CombItemName "FWPL"
/varset ItemTo "CLASS 2 Wood Point Arrow"
}
/if (${Me.Skill[Fletching]}>=16 && ${Me.Skill[Fletching]}<36) {
/varset AShafts "bundled wooden arrow shafts"
/varset GrooveN "medium groove nocks"
/varset CFletching "several round cut fletchings"
/varset AHeads "field point arrowheads"
/varset CombItemName "FWRM"
/varset ItemTo "CLASS 1 Wood Point Arrow"
}
/if (${Me.Skill[Fletching]}>=0 && ${Me.Skill[Fletching]}<16) {
/varset AShafts "bundled wooden arrow shafts"
/varset GrooveN "large groove nocks"
/varset CFletching "several round cut fletchings"
/varset AHeads "field point arrowheads"
/varset CombItemName "FWRL"
/varset ItemTo "CLASS 1 Wood Point Arrow"
}
/varset EndingVar 1
/target ${MerchantName}
/face
/nomodkey /click right target
/call OpenPacks
/if (${Me.Skill[Fletching]}>=215 && ${Me.Skill[Fletching]}<235) {
/call Sell ${Staff}
/delay 1s
/call Sell ${Twine}
/delay 1s
/call Sell ${Cam}
/delay 1s
/call Buy ${Staff} 10
/delay 1s
/call Buy ${Twine} 10
/delay 1s
/call Buy ${Cam} 20
/delay 1s
} else /if (${Me.Skill[Fletching]}>=202) {
/call Sell ${Staff}
/delay 1s
/call Sell ${Twine}
/delay 1s
/call Buy ${Staff} 10
/delay 1s
/call Buy ${Twine} 10
/delay 1s
} else {
/call Sell ${AShafts}
/delay 1s
/call Sell ${GrooveN}
/delay 1s
/call Sell ${CFletching}
/delay 1s
/call Sell ${AHeads}
/delay 1s
/call Buy ${AShafts} 40
/delay 1s
/call Buy ${GrooveN} 40
/delay 1s
/call Buy ${CFletching} 40
/delay 1s
/call Buy ${AHeads} 40
/delay 1s
}
/nomodkey /notify MerchantWnd DoneButton leftmouseup
/call ClosePacks
/call OpenPacks
/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
/delay 1s
/target ${MerchantName}
/face
/nomodkey /click right target
/delay 1s
/call OpenPacks
/delay 2s
/call Sell ${ItemTo}
/delay 1s
/nomodkey /notify MerchantWnd DoneButton leftmouseup
/call ClosePacks
/goto :start
/return
Sub readIni(RecipeName)
/declare Container string local
/echo Running ${RecipeName} recipe, which makes ${ItemTo}.
/if (${Ini["fletching.ini","${RecipeName}",-1,"NOTFOUND"].Equal["NOTFOUND"]}) {
/echo Recipe ${RecipeName} not found
/endmacro
}
/varset Container ${Ini[fletching.ini,${RecipeName},Cont,Enviro]}
/if (${Container.Equal[Enviro]}) {
/varset PackCode Enviro
} else {
/varset PackCode ${FindItem[=${Container}].InvSlot}
/echo ${Container}
/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[fletching.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[Fletching]}>${OldSkill}) {
/echo Your Fletching Went Up!! It's now ${Me.Skill[Fletching]}!
/varset OldSkill ${Me.Skill[Fletching]}
}
/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 1
/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
Code: Select all
[FWCL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled wooden arrow shafts
Comp2=field point arrowheads
Comp3=set of ceramic arrow vanes
[FWBL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled wooden arrow shafts
Comp2=field point arrowheads
Comp3=set of bone arrow vanes
[HCPL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled ceramic arrow shafts
Comp2=hooked arrowheads
Comp3=several parabolic cut fletchings
[SCPL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled ceramic arrow shafts
Comp2=silver tipped arrowheads
Comp3=several parabolic cut fletchings
[FWBL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled wooden arrow shafts
Comp2=field point arrowheads
Comp3=set of bone arrow vanes
[FCRL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled ceramic arrow shafts
Comp2=field point arrowheads
Comp3=several round cut fletchings
[FWWL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled wooden arrow shafts
Comp2=field point arrowheads
Comp3=set of wooden arrow vanes
[HWSL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled wooden arrow shafts
Comp2=hooked arrowheads
Comp3=several round cut fletchings
[FWSL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled wooden arrow shafts
Comp2=field point arrowheads
Comp3=several shield cut fletchings
[FBRL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled bone arrow shafts
Comp2=field point arrowheads
Comp3=several round cut fletchings
[FWRS]
Cont=Fletching Kit
Comp0=small groove nocks
Comp1=bundled wooden arrow shafts
Comp2=field point arrowheads
Comp3=several round cut fletchings
[FWPL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled wooden arrow shafts
Comp2=field point arrowheads
Comp3=several parabolic cut fletchings
[FWRM]
Cont=Fletching Kit
Comp0=medium groove nocks
Comp1=bundled wooden arrow shafts
Comp2=field point arrowheads
Comp3=several round cut fletchings
[FWRL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled wooden arrow shafts
Comp2=field point arrowheads
Comp3=several round cut fletchings
[SSPL]
Cont=Fletching Kit
Comp0=large groove nocks
Comp1=bundled steel arrow shafts
Comp2=silver tipped arrowheads
Comp3=several parabolic cut fletchings
[RSRB]
Cont=Fletching Kit
Comp0=hemp twine
Comp1=shadewood bow staff
[RDCB]
Cont=Fletching Kit
Comp0=hemp twine
Comp1=darkwood bow staff
Comp2=standard bow cam
Comp3=standard bow cam
[RDRB]
Cont=Fletching Kit
Comp0=hemp twine
Comp1=darkwood bow staff


