Rez Macro without consent

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

Wikid_Ringmaster
decaying skeleton
decaying skeleton
Posts: 4
Joined: Wed Jul 21, 2004 3:07 am

Rez Macro without consent

Post by Wikid_Ringmaster » Fri Jul 23, 2004 2:07 am

took the Rez Macro code and fixed so it does not consent rogues
in case you die near your raid or whatever :-P

Code: Select all

|Wait4rez.mac 

Sub Main 

   /declare a int outer 1 
   /declare t int outer 0 
   /declare loottotal int outer 
   /declare lootslot int outer 
   /declare lootleft int outer 

    
   /e Awaiting rez: will auto-accept, then loot corpse 
   :waitforrez 
   /if (!${Window[ConfirmationDialogBox].Open}) { 
      /delay 1s ${Window[ConfirmationDialogBox].Open} 
      /goto :waitforrez 
   } 
   /if (${Window[ConfirmationDialogBox].Open}) /notify ConfirmationDialogBox Yes_Button leftmouseup 
   :zonein 
   /delay 5 
   /target mycorpse 
   /delay 5 ${Target.CleanName.Equal[${Me}'s corpse]} 
   /if (${Target.CleanName.NotEqual[${Me}'s corpse]}) /goto :zonein 
   /if (${Target.CleanName.Equal[${Me}'s corpse]}) { 
      /delay 3s 
      /call Loot 0 
   } else /goto :zonein 
/end 


Sub Loot 
   /varset lootleft ${Param0} 
   /if (!${Defined[Param0]}) { 
   /varset lootleft 1 
   /echo Defaulting to leaving ${lootleft} item/s on corpse 
   } 
   :corpsepull 
   /target mycorpse 
   /delay 5 ${Target.CleanName.Equal[${Me}'s corpse]} 
   /if (${Target.CleanName.NotEqual[${Me}'s corpse]}) { 
      /echo No corpse in this zone 
      /return 
   } 
   /corpse 
   /delay 1s ${Target.Distance}<20 
   /if (${Target.Distance}>20) { 
      /echo Corpse is too far away 
      /return 
   } 
   /if (${Target.CleanName.Equal[${Me}'s corpse]}) { 
      /loot 
   } else { 
      /echo where did my corpse go? 
      /return 
   } 
   /delay 5s ${Me.State.Equal[BIND]} 
   /if (${Me.State.NotEqual[BIND]}) /goto :corpsepull 
   /varset loottotal 0 
   :LootLag 
   /if (${loottotal}!=${Corpse.Items}) { 
      /varset loottotal ${Corpse.Items} 
      /delay 1s 
      /goto :LootLag 
   } 
   /if (${loottotal}<=${lootleft}) { 
      /echo Looting aborted.  Error in number items to be left on corpse. 
      /notify LootWnd DoneButton leftmouseup 
      /return 
   } 
   /varset loottotal ${Math.Calc[${Corpse.Items}-${lootleft}]} 
   /echo Looting all but ${lootleft} item(s) 
   /for lootslot 1 to ${loottotal} 
   :LootItem 
   /itemnotify loot${lootslot} rightmouseup 
   /delay 5 !${Corpse.Item[${lootslot}].ID} 
   /if (!${Corpse.Item[${lootslot}].ID}) { 
      /next lootslot 
   } else /goto :LootItem 
   /if (${Math.Calc[${Corpse.Items}-${lootleft}]}>0) /goto :LootLag 
   :DoneLooting 
   /notify LootWnd DoneButton leftmouseup 
   /echo Done looting.  ${lootleft} Item(s) left on your corpse. 
/return