Helping Converting (cheese.mac)

Need some help with that macro you're working on or aren't quite sure how to get your macro to do something? Ask here!

Moderator: MacroQuest Developers

Dmal0807

Helping Converting (cheese.mac)

Post by Dmal0807 » Mon Oct 27, 2003 11:50 am

Would appreciate it if someone could.

Code: Select all

 | - Cheese.mac - 
| 
| Written by: Plazmic 
| Edited by: L124RD 
#include routines.mac 

#chat say 

Sub Main 
   /afk I am baking, I do not wish to be disturbed 
   /filter skills none 
   /stand 
   /mqlog 
   /varcalc v50 $char(plat)*10+$char(gold) 
   /varset t0 3000 
   /varset t1 $p0 

   :StartLoop 
   /call FindCombiner Mixing 
   /if $return==99 /return 
   /varset v80 $return 

   /target Granger 
   /if "$target()"=="FALSE" /goto :nogranger 
   /cleanup 
   :cleanuploop0 
    /if "$target()"=="TRUE" /goto :cleanuploop0 
   /click left auto 
   /click right inv $v80 

   /varset v39 0 
   /if "$cursor()"=="TRUE" /click left auto 
   :cleanpack 
   /if $pack($v80,empty)==FALSE /call CleanPack 
   /if n $v39==30 /goto :toofull 
   /varadd v39 1 
   /if $pack($v80,empty)==FALSE /goto :cleanpack 

   /if "$cursor()"=="TRUE" /click left auto 

   /face loc -100,1167 

   /sendkey down ctrl 
   /call MakeCheese2 
   /sendkey up ctrl 

   /if "$cursor()"=="TRUE" /click left auto 

   /call SellBuy 

   /if $t0==0 /call LogStats 

/goto :StartLoop 

:TooFull 
   /echo You are too full on stuff, aborting macro. 
   /mqlog You are too full on stuff, aborting macro 
   /call Logoff 
/return 


Sub CleanPack 
   /varcalc v2 $pack($v80,slots)-1 
   /sendkey down shift 
   /for v1 0 to $v2 
      /if "$item($v80,$v1)"=="NULL" /goto :skipclean 
      /click left pack $v80 $v1 
      :cleanwait0 
       /if "$cursor()"!="TRUE" /goto :cleanwait0 
      /click left auto 
      :cleanwait1 
       /if "$cursor()"=="TRUE" /goto :cleanwait1 
  :skipclean 
   /next v1 
   /sendkey up shift 
/return 

Sub MakeCheese 

   :MakeCheese 

      /finditem "Rennet" 
      /click left pack $v80 0 
      /delay 1 

      /finditem "Bottle of Milk" 
      /click left pack $v80 1 
      /delay 1 

      /finditem "Bottle of Milk" 
      /click left pack $v80 2 
      /delay 1 

      /finditem "Dairy Spoon" 
      /click left pack $v80 3 
      /delay 1 

      /if n $pack($v80,space)>0 /return 

      /click left pack $v80 combine 
      /for v1 1 to 75 
         /if "$cursor()"=="TRUE" /goto :AutoDropCheese 
         /delay 1 
      /next v1 

   /goto :MakeCheese 

   :AutoDropCheese 

      /if "$cursor(name)"=="Dairy Spoon" /goto :AutoDropSpoon 
      /click left auto 
      /delay 1 
      /if "$cursor()"=="TRUE" /goto :AutoDropCheese 

      :AutoDropSpoon 
      /click left auto 
      /if "$cursor()"=="TRUE" /goto :AutoDropSpoon 

   /goto :MakeCheese 

/return 

Sub MakeCheese2 

   :MakeCheese 

      /finditem "Rennet" 
       /if $find()==FALSE /return 
      :rennetwait0 
       /if "$cursor()"!="TRUE" /goto :rennetwait0 
      /click left pack $v80 0 
      :rennetwait1 
       /if "$cursor()"=="TRUE" /goto :rennetwait1 

      /finditem "Bottle of Milk" 
       /if $find()==FALSE /return 
      :milkwait0 
       /if "$cursor()"!="TRUE" /goto :milkwait0 
      /click left pack $v80 1 
      :milkwait1 
       /if "$cursor()"=="TRUE" /goto :milkwait1 

      /finditem "Bottle of Milk" 
       /if $find()==FALSE /return 
      :milkwait0 
       /if "$cursor()"!="TRUE" /goto :milkwait0 
      /click left pack $v80 2 
      :milkwait1 
       /if "$cursor()"=="TRUE" /goto :milkwait1 

      /finditem "Dairy Spoon" 
       /if $find()==FALSE /return 
      :spoonwait0 
       /if "$cursor()"!="TRUE" /goto :spoonwait0 
      /click left pack $v80 3 
      :spoonwait1 
       /if "$cursor()"=="TRUE" /goto :spoonwait1 

      /if n $pack($v80,space)>0 /return 

      /click left pack $v80 combine 
      :cheesewait 
       /if "$cursor()"=="TRUE" /goto :AutoDropCheese 
       /goto :cheesewait 

   /goto :MakeCheese 

   :AutoDropCheese 

      /if "$cursor(name)"=="Dairy Spoon" /goto :AutoDropSpoon 
      /click left auto 
      /goto :AutoDropCheese 

      :AutoDropSpoon 
      /click left auto 
      /if "$cursor()"=="TRUE" /goto :AutoDropSpoon 

   /goto :MakeCheese 

/return 


Sub SellBuy 

   | Open merchant 
   /click left auto 
   /target Granger 
   /face 
   /press u 
   /varset v55 0 
   /doevents flush 
   :sellwait 
    /doevents 
    /if n $v55!=1 /goto :sellwait 

   /sendkey down shift 

   | Sell our cheese 
   :SellCheese 
      /finditem "Mature Cheese" 
      /if $find()==FALSE /goto :DoneSelling 
      /call buyitem 
   /goto :SellCheese 

   :DoneSelling 
   /varset v51 0 
   /finditem "Rennet" 
   /if $find()==TRUE /varset v51 1 
   /finditem "Bottle of Milk" 
   /if $find()==TRUE /if n $v80!=$find(pack) /goto :SkipMilk 

   | Buy Bottles of Milk 
   /click left merchant 9 
   /call buyitem 
   /call buyitem 
   /call buyitem 
   /call buyitem 

   | If we had Rennet left, buy extra milk 
   /if n $v51==0 /goto :SkipMilk 
   /call buyitem 
   :SkipMilk 

   | Buy Rennets 
   /click left merchant 10 
   /call buyitem 
   /call buyitem 

   /sendkey up shift 
   /cleanup 
   :cleanuploop1 
    /if "$target()"=="TRUE" /goto :cleanuploop1 

/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 LogOff 
/sit 
/camp 
/afk 
/endmacro 
/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 Event_Chat 
/if "$p0"=="say" /if "$p1"~~"Granger" /varset v55 1 
/return