POW fishing safely (rogue)

Macro requests from before the user variable changes that broke all macros

Moderator: MacroQuest Developers

Rahn
orc pawn
orc pawn
Posts: 12
Joined: Tue Mar 18, 2003 7:22 pm

POW fishing safely (rogue)

Post by Rahn » Tue Aug 05, 2003 4:19 am

i would like to see this code modified so you could use this in pow safely (as a rogue). basically i was thinking have a spot defined where it was safe to cast your brells companion then hide sneak to waters edge fish until needing a new pole or out of bait then move back to safe spot and summon a pole rehide and sneak (confirm it) head back to fishing spot then rinse repeat.

Code: Select all

| - Fish.mac - 
| Updated fishing macro. 
| Mainly for people who have a fisherman's companion. 
| Put your fisherman's companion in an inventory slot and hotkey 
| it to your 10th hotkey slot. 
| This macro will fish until out of bait, summoning poles when you 
| need a new one.  Once out of bait it will sit you down and camp you out. 
| be sure to edit the array so that it destroy's only what you don't want 
| to keep.  If you add or remove entries update the /varset DestArraySize. 
| 
| Also if you are not a rogue you may want to disable the 
| /doability "Sneak" 
| /doability "Hide" 
| section at the begining of the script and in the #event subs. 

#event PrimaryHand "You need to put your fishing pole in your primary hand." 
#event OutOfBait "You can't fish without fishing bait, go buy some." 
#event NeedPole "You can't fish without a fishing pole, go buy one." 
#define DestArraySize v40 
#define LoopCount v41 
Sub Main 
   /cleanup 
   /varset a(1,0) "Tattered Cloth Sandal" 
   /varset a(1,1) "Rusty Dagger" 
   /varset a(1,2) "Fish Scales" 
   /varset a(1,3) "Dragon Bay" 
   /varset a(1,4) "Fresh Fish" 
   /varset DestArraySize 5 
   /varset LoopCount 0 
   /doability "Sneak" 
   /doability "Hide" 

   :Fish 
   /if "$cursor()"!="NULL" /call ItemSub 
   /if n $char(ability,"Fishing")>0 { 
      /delay 1s 
      /if "$cursor()"=="NULL" { 
         /doability Fishing 
      } 
   } 
   /doevents 
   /if "$cursor()"!="NULL" /call ItemSub 
   /goto :Fish 
/return 

Sub ItemSub 
   :itemchecker 
   /if "$cursor(name)"~~"$a(1,$LoopCount)" { 
      /click left destroy 
      /delay 1s 
   } 
   /varadd LoopCount 1 
   /if "$cursor()"!="NULL" { 
      /if n $LoopCount<$DestArraySize /goto :itemchecker 
   } 
   /if "$cursor()"!="NULL" { 
      /click left auto 
      /delay 1s 
   } 
   /varset LoopCount 0 
/return 

Sub Event_NeedPole 
   /press 0 
   /delay 11s 
   /click left auto 
   :cursorloop 
   /if "$cursor()"=="TRUE" { 
      /click left auto 
      /goto :cursorloop 
   } 
   /doability "Sneak" 
   /doability "Hide" 
/return 

Sub Event_PrimaryHand 
   /press 0 
   /delay 11s 
   /click left auto 
   /delay 1s 
   :cursorloop 
   /if "$cursor()"=="TRUE" { 
      /click left auto 
      /goto :cursorloop 
   } 
   /doability "Sneak" 
   /doability "Hide" 
/return 

Sub Event_OutOfBait 
   /sit off 
   /sit 
   /camp 
   /endmacro 
/return 

Rahn
orc pawn
orc pawn
Posts: 12
Joined: Tue Mar 18, 2003 7:22 pm

pow fishing

Post by Rahn » Sun Aug 10, 2003 1:57 pm

here's what i made it. just zone in and start macro. make sure your primary hand is clear or has fishing pole in it and the fishermans compainion is in your #10 spot.

this will hide/sneak you take you to the safe spot then take you to the fishing spot.

if you loose a pole it will go back to the safe spot before unhiding and summon a new pole then hie sneak back to the fishing spot. rinse/repeat.

i've ran it a few nights now with np except some times i seem to get that "fishing for land sharks" thing no matter how close i get to water.

i had to turn turbo on otherwise he wouldnt stop fast enough and he would just go into the water.

Code: Select all

| - Fish.mac - 
| Updated fishing macro. 
| Mainly for people who have a fisherman's companion. 
| Put your fisherman's companion in an inventory slot and hotkey 
| it to your 10th hotkey slot. 
| This macro will fish until out of bait, summoning poles when you 
| need a new one.  Once out of bait it will sit you down and camp you out. 
| be sure to edit the array so that it destroy's only what you don't want 
| to keep.  If you add or remove entries update the /varset DestArraySize. 
| 
| Also if you are not a rogue you may want to disable the 
| /doability "Sneak" 
| /doability "Hide" 
| section at the begining of the script and in the #event subs. 
#turbo
#define SXLOC v52 
#define SYLOC v53 
#define FXLOC v54 
#define FYLOC v55 
#include routines.mac

#event PrimaryHand "You need to put your fishing pole in your primary hand." 
#event OutOfBait "You can't fish without fishing bait, go buy some." 
#event NeedPole "You can't fish without a fishing pole, go buy one." 
#define DestArraySize v40 
#define LoopCount v41 
Sub Main 
   /cleanup 
   /varset FYLOC "-1170.00" 
   /varset FXLOC "-23.00"
   /varset SYLOC "-1243.00" 
   /varset SXLOC "-1.00"
   /doability "Sneak" 
   /doability "Hide" 
   /call goto_safespot
   /varset a(1,0) "Tattered Cloth Sandal" 
   /varset a(1,1) "Rusty Dagger" 
   /varset a(1,2) "Fish Scales" 
   /varset a(1,3) "Dragon Bay" 
   /varset a(1,4) "Fresh Fish" 
   /varset DestArraySize 5 
   /varset LoopCount 0 
   /call goto_fishspot   
   :Fish 
   /if "$cursor()"!="NULL" /call ItemSub 
   /if n $char(ability,"Fishing")>0 { 
      /delay 1s 
      /if "$cursor()"=="NULL" { 
         /doability Fishing 
      } 
   } 
   /doevents 
   /if "$cursor()"!="NULL" /call ItemSub 
   /goto :Fish 
/return 

Sub ItemSub 
   :itemchecker 
   /if "$cursor(name)"~~"$a(1,$LoopCount)" { 
      /click left destroy 
      /delay 1s 
   } 
   /varadd LoopCount 1 
   /if "$cursor()"!="NULL" { 
      /if n $LoopCount<$DestArraySize /goto :itemchecker 
   } 
   /if "$cursor()"!="NULL" { 
      /click left auto 
      /delay 1s 
   } 
   /varset LoopCount 0 
/return 

Sub Event_NeedPole 
   /call goto_safespot
   /delay 2s
   /press 0 
   /delay 12s 
   /click left auto 
   :cursorloop 
   /if "$cursor()"=="TRUE" { 
      /click left auto 
      /delay 1s
      /click left auto 
      /delay 1s
      /goto :cursorloop 
   } 
   /doability "Sneak" 
   /doability "Hide" 
   /call goto_fishspot   
/return 

Sub Event_PrimaryHand 
   /call goto_safespot
   /delay 2s
   /press 0 
   /delay 12s 
   /click left auto 
   /delay 1s 
   :cursorloop 
   /if "$cursor()"=="TRUE" { 
      /click left auto 
      /goto :cursorloop 
   } 
   /doability "Sneak" 
   /doability "Hide" 
   /call goto_fishspot   
/return 

Sub Event_OutOfBait 
   /call goto_safespot
   /sit off 
   /sit 
   /camp 
   /endmacro 
/return 

Sub goto_safespot
     /delay 5
     /face loc $SYLOC,$SXLOC 
     /delay 5
     /call GotoLoc $SYLOC,$SXLOC 
/return

Sub goto_fishspot
     /delay 5
     /face loc $FYLOC,$FXLOC 
     /delay 5
     /call GotoLoc $FYLOC,$FXLOC 
/return


VesperKnight
orc pawn
orc pawn
Posts: 29
Joined: Tue Jul 29, 2003 5:37 am

Post by VesperKnight » Mon Aug 11, 2003 3:57 pm

I tried fishing in PoW the other day.. unfortunately my cleric can't hide/sneak and it made it very difficult with the two triloun guards there.. although there is a sweet spot right in the middle of the two but it was unreliable and often gave me the 'fishing for land sharks' message too although not always.. kinda weird.

anyway.. I went fishing there after I saw your post hehe.. in hopes of finding some rare expensive fishies.. but all i got was fresh fish.. is there a rare fish that can be fished here? and if so would you mind saying which? thanks

User avatar
Imperfect
Macro Author
Macro Author
Posts: 319
Joined: Fri Jun 14, 2002 1:52 am

Post by Imperfect » Mon Aug 11, 2003 5:24 pm

Rare fishies are caught more often with high fishing skill. So that may have been a factor.

mistermedister
decaying skeleton
decaying skeleton
Posts: 1
Joined: Sat Aug 16, 2003 9:42 am

Post by mistermedister » Sat Aug 16, 2003 9:44 am

possible that someonje would post the "routines.mac " used in this fishing script.

Rahn
orc pawn
orc pawn
Posts: 12
Joined: Tue Mar 18, 2003 7:22 pm

the routines mac as req.

Post by Rahn » Mon Sep 01, 2003 11:13 pm

Code: Select all

| - routines.mac - 
| Generic routines that may be used a lot. 
| ---------------------------- 
| Original Version by: Plazmic 
| Improved by: L124RD 


Sub BuyItems 

   /sendkey down shift 

   /for l1 1 to $p0 
      /click left merchant buy 
      /varset l2 $char(cash)
      :BuyItems_Wait
         /delay 0
      /if n $l2==$char(cash) /goto :BuyItems_Wait
   /next l1 

   /sendkey up shift 

/return 


| ---------------------------- 


Sub SellItem 
   /sendkey down shift 
   :SellItem 
      /finditem $p0 
      /if $find()==FALSE /goto :DoneSellItem 
      /click left merchant sell 
      /delay $rand(3) 
   /goto :SellItem 
   :DoneSellItem 
   /sendkey up shift 
/return 


| ---------------------------- 


Sub BackPedal 
   /if $p0==$v79 /return 
   /varset v79 $p0 
   /if $p0==1 /sendkey down up 
   /if $p0==0 /sendkey up up 
/return 


| ---------------------------- 


Sub AutoRun 
   /if $p0==$v80 /return 
   /varset v80 $p0 
   /if $p0==1 /sendkey down up 
   /if $p0==0 /sendkey up up 
/return 


| ---------------------------- 


Sub GotoLoc 
   /varset v91 $rand(5) 
   :GotoLocLoop 
      /face loc $p0 
      /if "$p1"=="u" /Press u 
      /call AutoRun 1 
   /if n $distance($p0)>$v91 /goto :GotoLocLoop 
   /call AutoRun 0 
/return 


| ---------------------------- 


Sub GotoTarg 
    /varset v91 $rand(5) 
|   /target $p0
		 
   :GotoTargLoop 
      /face 
      /if "$p1"=="u" /Press u 
      /call AutoRun 1 
   /if n $target(distance)>$v91 /goto :GotoTargLoop 
   /call AutoRun 0 
/return 

| ---------------------------- 

Sub BuyItems 
   /press down shift 
   /for p1 1 to $p0 
      /varcalc p2 $char(plat)*1000+$char(gold)*100+$char(silver)*10+$char(copper) 
      /click left merchant buy 
      :BuyItemsLoop 
         /delay 0 
      /if n $calc($char(plat)*1000+$char(gold)*100+$char(silver)*10+$char(copper))==$p2 /goto :BuyItemsLoop 
   /next p1 
   /press up shift 
/return 

| ---------------------------- 

Sub SellItem 
   /sendkey down shift 
   :SellItem 
      /finditem $p0 
      /if $find()==FALSE /goto :DoneSellItem 
      /varcalc p2 $char(plat)*1000+$char(gold)*100+$char(silver)*10+$char(copper) 
      /click left merchant sell 
      :SellItemLoop 
         /delay 0 
      /if n $calc($char(plat)*1000+$char(gold)*100+$char(silver)*10+$char(copper))==$p2 /goto :SellItemLoop      
   /goto :SellItem 
   :DoneSellItem 
   /sendkey up shift 
/return 

| ---------------------------- 

Sub FindCombiner 
   /for p1 7 downto 0 
      /if "$pack($p1,combine)"=="$p0" /return $p1 
   /next p1 
   /echo You do not appear to have a valid $p0 container. 
/return 99 

Sub Beep
	/beep
	/beep
	/beep
	/beep
       /mp3 play 
/return

| End of routines.mac