Loot code for usage with #include

Macro depository for macros written before the user variable changes that broke all of them.

Moderator: MacroQuest Developers

User avatar
grimjack
Macro Author
Macro Author
Posts: 525
Joined: Thu Nov 07, 2002 6:51 am
Contact:

Loot code for usage with #include

Post by grimjack » Fri May 23, 2003 7:18 pm

Here is the working loot code to be used via #include:

Code: Select all

|lootcode.mac
#define LootSlot v95
#define CheckLoot v96
#define LootTotal v97

Sub LootUp
   /lootn never
   /varset LootSlot 0
   /varset CheckLoot 0
   /if $p0=="" {
      /echo "Usage: /call LootUp [item to keep] [item to keep]...ect"
      /return
   }
   /if $p0!="" {
      /varset a(1,0) "$p0"
      /varset LootTotal 1
   }
   /if $p1!="" {
      /varset a(1,1) "$p1"
      /varset LootTotal 2
   }
   /if $p2!="" {
      /varset a(1,2) "$p2"
      /varset LootTotal 3
   }
   /if $p3!="" {
      /varset a(1,3) "$p3"
      /varset LootTotal 4
   }
   /if $p4!="" {
      /varset a(1,4) "$p4"
      /varset LootTotal 5
   }
   /if $p5!="" {
      /varset a(1,5) "$p5"
      /varset LootTotal 6
   }
   /if $p6!="" {
      /varset a(1,6) "$p6"
      /varset LootTotal 7
   }
   /if $p7!="" {
      /varset a(1,7) "$p7"
      /varset LootTotal 8
   }

/if $target()=="TRUE" /call LootMob
/call ResetSub
/return

sub LootMob
   /loot
   /delay 2s
   :lootloop
   /if n $LootSlot==0 /click left loot0
   /if n $LootSlot==1 /click left loot1
   /if n $LootSlot==2 /click left loot2
   /if n $LootSlot==3 /click left loot3
   /if n $LootSlot==4 /click left loot4
   /if n $LootSlot==5 /click left loot5
   /if n $LootSlot==6 /click left loot6
   /if n $LootSlot==7 /click left loot7
   /if n $LootSlot==8 /click left loot8
   /if n $LootSlot==9 /goto :doneloot
   /delay 1s
   /if "$cursor()"!="TRUE" /goto :doneloot
   :lootChecker
| Uncoment next line for array debug output
| /echo matching against "$a(1,$CheckLoot)"
   /if "$cursor(name)"~~"$a(1,$CheckLoot)" {
      /delay 1s
      /click left auto
      /varadd LootSlot 1
      /goto :lootloop
   }
   /varadd CheckLoot 1
   /if "$cursor()"=="TRUE" {
      /if n $CheckLoot<$LootTotal /goto :lootchecker
   }
   /if "$cursor()"=="TRUE" {
      /delay 1s
      /click left destroy
      /delay 1s
   }
   /varadd LootSlot 1
   /varset CheckLoot 0
   /goto :lootloop
   :doneloot
   /varset LootSlot 0
/return


sub ResetSub
   /press esc
   /press esc
   /press esc
   /press esc
   /press alt
   /press shift
   /press ctrl
   /varset CheckLoot 0
   /varset LootSlot 0
   /delay 1s
/return 
It can take up to 8 one word arguments.
Here is an example of how it is invoked:

Code: Select all

|testlootcode.mac
#include lootcode.mac
Sub Main

  /call LootUp "silk" "Pelt"

/return