Oh yeah, this one works with an ini file because I'm using it as an include for my druid's macro which runs constantly. Once I get all the bugs worked out of that one I'll post it.
Comments, suggestions, addtions welcome.
Code: Select all
| Fishing.mac - By Preocts. Updated April 21 2004
|
| Credit given where credit is do:
| grimjack -- learned much from his Fish2.mac
| Lax -- For endless posts of wisdom buried under profanity
| MQ2 Forums -- Where would I be without everyone who posts there?
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| NOTE: This macro, as is, requires the existance of a "Fisherman's Companion" located in a Main Inventory slot.
| NOTE: You must also have your primary slot EMPTY or with a Brell's Fishin Pole equiped.
| This macro uses an INI file to control what is kept and what is destroyed.
| New items fished will be added to the existing list and set to keep by default.
| This can be changed by editing the INI and change -1 to 0 in which case that item will be destroyed
#Event Pocket "You caught"
#Event Pole "You can't fish without a fishing pole, go buy one."
#Event End "You can't fish without fishing bait, go buy some."
#Event End "You stop fishing"
#Event End "Trying to catch land sharks perhaps?"
#Event End "You must be on dry land to fish."
Sub Main
/newif (!${Ini[fishing.ini,DestroyList].Length}) {
/ini "fishing.ini" "DestroyList" "Rusty Dagger" "0"
}
/newif (${Me.Inventory["primary"].ID} && ${Me.Inventory["primary"].Name.NotEqual["Brell's Fishin' Pole"]}) {
/echo Please remove whatever is in your primary hand and restart this macro.
/return
}
/call CheckForFishingBox
:Loop
/newif (${Me.AbilityReady["Fishing"]}) {
/delay 1s
/newif (${Cursor.ID}) /call Event_Pocket
/newif (${Me.State.Equal["STAND"]}) /sit
/doability Fishing
}
/doevents
/delay 2
/goto :Loop
/return
Sub CheckForFishingBox
/declare TempLoop local
/for TempLoop 22 to 29
/newif (${Me.Inventory[@TempLoop].Name.Equal["Fisherman's Companion"]}) {
/return
}
/next TempLoop
/echo Fisherman's Companion not found.
/echo It must be in an Inventory Slot
/endmacro
/return
Sub Event_Pole
/newif (${Me.Inventory["primary"].Name.Equal["Brell's Fishin' Pole"]}) /return |Sometimes EQ gives two or more messages
/call CheckForFishingBox
/call Event_Pocket
/newif (${Me.State.Equal["SIT"]}) /sit
/cast item "Fisherman's Companion"
/delay 15s
:WaitForEquip
/autoinventory
/newif (${Cursor.ID}) /goto :WaitForEquip
/newif (${Me.State.Equal["STAND"]}) /sit
/return
Sub Event_Pocket
/newif (!${Ini[fishing.ini,DestroyList,${Cursor.Name}].Length}) {
/ini "fishing.ini" "DestroyList" "${Cursor.Name}" "-1"
} else {
/newif (!${Ini[fishing.ini,DestroyList,${Cursor.Name}]}) {
/destroy
/delay 5
/return
}
}
:LootIt
/autoinventory
/delay 5
/newif (${Cursor.ID}) /goto :LootIt
/return
Sub Event_End
/endmacro
/return




