Moderator: MacroQuest Developers
Code: Select all
| - bear.mac -
|
#include routines.mac
Sub Main
|This sets how many repetitions to go through in a Wait loop before reporting Frozen
/varset v92 200
/mqlog
/varcalc v50 $char(plat)*10+$char(gold)
/varset t0 3000
/varset t1 0
/call FindCombiner baking
/if $return==99 /return
/varset v80 $return
:StartLoop
/cleanup
/click left auto
/click right inv $v80
/if $pack($v80,empty)==FALSE /call CleanPack
/if $pack($v80,empty)==FALSE /goto :TooFull
/sendkey down ctrl
/call Makebear
/sendkey up ctrl
| /if n $t1==0 /call CastCHA
/call SellBuy
/call SellBuy2
/if $t0==0 /call LogStats
/goto :StartLoop
:TooFull
/goto :StartLoop
Sub CleanPack
/varcalc v2 $pack($v80,slots)-1
/sendkey down shift
/for v1 0 to $v2
/click left pack $v80 $v1
/click left auto
/next v1
/sendkey up shift
/return
Sub Makebear
:Makebear
/finditem "Jug of Sauces"
/click left pack $v80 0
/finditem "Fresh Fish"
/click left pack $v80 3
/if "$item($v80,0,name)"=="Jug of Sauces" /if "$item($v80,3,name)"=="Fresh Fish" /goto :DoCombine
/return
:DoCombine
/click left pack $v80 combine
:LoopWait
/if "$cursor()"=="NULL" /goto :LoopWait
/if "$cursor(name)"=="filleting knife" /goto :Failed
/click left auto
:LoopFail
/if "$cursor()"=="NULL" /goto :LoopFail
:Failed
/click left auto
/goto :Makebear
/return
Sub SellBuy
| Open merchant
/click left auto
/target Pergan
/face
/press u
/delay 10
/sendkey down shift
| Sell our bearmeat
:Sellbear
/varset v98 $char(gold)
/finditem "Fish Fillets"
/if $find()==FALSE /goto :DoneSelling
/click left merchant buy
:WaitSale
/varadd v99 1
/if n $v99==$v92 /goto :loopdetected
/if n $v98==$char(gold) /goto :WaitSale
/goto :Sellbear
:DoneSelling
/varset v99 0
/varset v51 0
/finditem "Fresh Fish"
/if $find()==TRUE /varset v51 1
/goto :buybearmeat
| loopedetected get out of it clean up and go on - code added by van
:loopdetected
/echo loop detected cleaning up and continuing
/varset v99 0
/cleanup
/click left auto
/press esc
/press CTRL
/press shift
/press alt
/goto :startloop
:buybearmeat
| Buy bearmeat
/click left merchant 6
/call BuyItem
/call BuyItem
/sendkey up shift
/press esc
/press esc
/press esc
/return
Sub SellBuy2
| Open merchant
/click left auto
/target Nerdala
/face
/press u
/delay 10
/sendkey down shift
/varset v99 0
/varset v51 0
/finditem "Jug of Sauces"
/if $find()==TRUE /varset v51 1
/goto :buybear
| loopedetected get out of it clean up and go on - code added by van
:loopdetected
/echo loop detected cleaning up and continuing
/varset v99 0
/cleanup
/click left auto
/press esc
/press CTRL
/press shift
/press alt
/goto :startloop
:buybear
| Buy bearmeat
/click left merchant 3
/call BuyItem
/call BuyItem
/sendkey up shift
/press esc
/press esc
/return
Sub LogStats
| Calc profit in gold
/varcalc v51 $char(plat)*10+$char(gold)-$v50
| calc plat/hr
/varcalc v52 $v51*360/$running
| Plat
/varcalc v53 $v51/10
| left over gold
/varcalc v54 $v51%10
/echo Profit: $v53.$v54pp, avg: $v52pp/hr
/mqlog Run time: $running sec, Profit: $v53.$v54pp, Average = $v52pp/hr
/varset t0 3000
/return
Sub BuyItem
/varcalc v98 $char(gold)*100+$char(silver)*10+$char(copper)
/click left merchant buy
:WaitBuy
/varcalc v97 $char(gold)*100+$char(silver)*10+$char(copper)
/if n $v98==$v97 /goto :WaitBuy
/return
Sub CastCHA
/target myself
/call Event_CastFizzle
:LoopFizzle
/doevents
/if n $t9>0 /goto :LoopFizzle
/varset t1 30m
/return
Sub Event_CastFizzle
/delay 5
/cast 1
/varset t9 7s
/return