// WoW Beta Fishing Macro v0.2 - This macro is NOT SUPPOSED TO WORK! If it does, cool! If it doesn't - give me feedback. :) // // Made by Anders "sarf" Kronquist, 2004 // beta utility/stuff developer for WoW Forge, http://www.wowforge.net/ // // Strictly for betatesting purposes. Do not use to get loads of stuff or to train fishing! // // // Features : // // Fishing for loot, fishing for skill gain, fishing for chests // No combat handling whatsoever. If a nasty mob // include WoW_Beta_Macros.inc Constants DidCatch = 0 BobbingX = 0 BobbingY = 0 // // System specifics // // // Character (who is fishing) specifics // // 1 if the character has lockpicking skill and wants to train/use it by opening chests. // If a chest is fished up, and this is set to 1, the chest will be picked, // no matter what is done to it afterwards (such as being thrown away). // NOT IMPLEMENTED YET! HasLockpickSkill = 0 // 1 if the character should throw away loot (i.e. only train fishing) ThrowAwayLoot = 0 // The number of fishing loops the macro should do before logging out. // A number below 1 will mean an indefinite loop. NumberOfFishingLoops = 0 End // All thanks to the AC Tool documentation for this one. // // (routine made by Sarf) Procedure StopOnSwitchedWindow On WindowChange // without a Stop in this procedure, you will continue running Stop End Procedure StartFishing // starts fishing call PutMouseInNeutralPosition End Procedure HandleBobbingThingy Using BobbingX, BobbingY // err... click on it? do whatever? MousePos $BobbingX, $BobbingY Delay 10 LeftClick Delay 100 call PutMouseInNeutralPosition End // should specify $DidCatch - 0 for no catch, 1 for catch Procedure FindBobbingThingy // find the bobbing thing (well, wait for it to appear and then find it, but... :) // set the BobbingX and BobbingY to the correct positions, then give them as parameters to HandleBobbingThingy End // handles the catch Procedure HandleCatch // pseudo code If $HasLockpickSkill > 0 and $LootIsChest = 1 call TryToLockpickChest End // pseudo code If $ThrowAwayLoot > 0 call ThrowAwayLoot End // perhaps a delay to allow "cooldown" of fishing End // placeholder method, should contain code for checking for and handling combat Procedure CheckForAndHandleCombat End // If returns zero, will ensure that the main loop is not called again. Function MainLoop call StartFishing call FindBobbingThingy If $DidCatch = 1 call HandleCatch End call CheckForAndHandleCombat SetConst Result = $IsMainLoopOK End // contains code to see if the main loop should be broken Function IsMainLoopOK If $IsAlive = 0 SetConst Result = 0 TimeStamp MainLoop() terminated due to condition : player was dead // it might be possible to handle death, but it is outside the scope of this macro Else If $IsConnectionAlive = 0 SetConst Result = 0 TimeStamp MainLoop() terminated due to condition : connection was closed Else SetConst Result = 1 End End End Procedure Main call SwitchToWoW If $NumberOfFishingLoops <= 0 While $NumberOfFishingLoops <= 0 If $MainLoop = 0 Break End End Else Loop $NumberOfFishingLoops If $MainLoop = 0 Break End End End End