• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->
  • There is a suspension wave happening, we're still gathering information. Please keep regular discussion to Suspension MegaThread and please consider submitting a Suspension report to RG.

Help with loot macro (1 Viewer)

devastator

New member
Joined
Apr 28, 2005
RedCents
Looking for a cash loot only macro preferably just plat and gold. I couldn't seem to find one listed that did just this. Any help is appreciated.
thank you
 
Since you don't have to click anything but the corpse, that should be easy.
Chances are, this won't work, cause I'm an idiot, but you can try it anyway. It shouldn't loot the same corpse twice. Never used /varset before, dunno if I used it right, prolly not.
Rich (BB code):
Sub Main

#event toofar "#*#You are too fay away#*#"

/declare looted string outer
/declare looted2 string outer
/declare looted3 string outer
/declare looted4 string outer
/declare looted5 string outer

:loopstart

/tar corpse next
/if (${Target.Equal[$looted}]} /tar corpse next
/if (${Target.Equal[$looted2}]} /tar corpse next
/if (${Target.Equal[$looted3}]} /tar corpse next
/if (${Target.Equal[$looted4}]} /tar corpse next
/if (${Target.Equal[$looted5}]} /tar corpse next
/if (${Target.Equal[Corpse]}) && /if (${Target.Distance}>100) /goto :loopstart
:loop2
/stick
/delay 5s
/loot
/doevents
/varset looted ${Target}
/delay 3s
/keypress esc

/tar corpse next
/if (${Target.Equal[$looted}]} /tar corpse next
/if (${Target.Equal[$looted2}]} /tar corpse next
/if (${Target.Equal[$looted3}]} /tar corpse next
/if (${Target.Equal[$looted4}]} /tar corpse next
/if (${Target.Equal[$looted5}]} /tar corpse next
/if (${Target.Equal[Corpse]}) && /if (${Target.Distance}>100) /goto :loopstart
:loop2
/stick
/delay 5s
/loot
/doevents
/varset looted2 ${Target}
/delay 3s
/keypress esc

/tar corpse next
/if (${Target.Equal[$looted}]} /tar corpse next
/if (${Target.Equal[$looted2}]} /tar corpse next
/if (${Target.Equal[$looted3}]} /tar corpse next
/if (${Target.Equal[$looted4}]} /tar corpse next
/if (${Target.Equal[$looted5}]} /tar corpse next
/if (${Target.Equal[Corpse]}) && /if (${Target.Distance}>100) /goto :loopstart
:loop2
/stick
/delay 5s
/loot
/doevents
/varset looted3 ${Target}
/delay 3s
/keypress esc

/tar corpse next
/if (${Target.Equal[$looted}]} /tar corpse next
/if (${Target.Equal[$looted2}]} /tar corpse next
/if (${Target.Equal[$looted3}]} /tar corpse next
/if (${Target.Equal[$looted4}]} /tar corpse next
/if (${Target.Equal[$looted5}]} /tar corpse next
/if (${Target.Equal[Corpse]}) && /if (${Target.Distance}>100) /goto :loopstart
:loop2
/stick
/delay 5s
/loot
/doevents
/varset looted4 ${Target}
/delay 3s
/keypress esc

/tar corpse next
/if (${Target.Equal[$looted}]} /tar corpse next
/if (${Target.Equal[$looted2}]} /tar corpse next
/if (${Target.Equal[$looted3}]} /tar corpse next
/if (${Target.Equal[$looted4}]} /tar corpse next
/if (${Target.Equal[$looted5}]} /tar corpse next
/if (${Target.Equal[Corpse]}) && /if (${Target.Distance}>100) /goto :loopstart
:loop2
/stick
/delay 5s
/loot
/doevents
/varset looted5 ${Target}
/delay 3s
/keypress esc
/goto :loopstart
/return

Sub event_toofar
/goto :loop2
/return

That should target the nearest corpse and loot only the money
 
Last edited:
Cadewen said:
Since you don't have to click anything but the corpse, that should be easy.
Chances are, this won't work, cause I'm an idiot, but you can try it anyway. It shouldn't loot the same corpse twice. Never used /varset before, dunno if I used it right, prolly not.

Do you ever put up a code and NOT degrade yourself in the same post?

Come on now, you can just say it may not work! No need for self-degrading here... You give us great ideas even if they don't work, and the "Gurus" can fix em up.
 
Cadewen said:
Since you don't have to click anything but the corpse, that should be easy.
Chances are, this won't work, cause I'm an idiot, but you can try it anyway. It shouldn't loot the same corpse twice. Never used /varset before, dunno if I used it right, prolly not.

Moorthon said:
Do you ever put up a code and NOT degrade yourself in the same post?

Come on now, you can just say it may not work! No need for self-degrading here... You give us great ideas even if they don't work, and the "Gurus" can fix em up.
Cadewen said:
Nope
lol, I think Cadewen has been loitering around the mq2 boards for too long!! I love ya work Cad... I use a lot of your stuff all the time... No one here to flame the hell out of you :) If you don't stop the self degradation, I'll just have to bitchslap you til you come to your senses.... :D
 
been playing with this some and can't get it to work getting error messages. Has anyone else had success? Just looking for a macro to immediately loot corpse and then resume twisting/kiting. any help is appreciated.
 
Things I noticed at a quick readover...

If you don't loot items on the corpse even just to destroy, this will only keep track of one corpse that has been looted and once you move to another one, /target corpse next may bring up a corpse that has already been looted but not flagged as such. You could lock yourself in a loop between two corpses until they expire...

Also, the var looted itries to get ${Me.Target}. Target is not a member of Character, but is a totally different datatype. So you would want ${Target}. ${Target} is a string, so looted should be a string rather than an int. Or you could use ${Target.ID} but then you'd have to change the check line slightly.

Also, /goto :loop2 in the event sub, can you do that referencing a label in another subroutine? I guess I never tried, I just assumed you couldn't. And if you /loot and it's too far, isn't the event you'd need "your target is too far away, move closer"? (I'm sure that's not the exact text but I don't feel like testing right now) Only get the decay timer when you /con or right click
 
Things I noticed at a quick readover...

If you don't loot items on the corpse even just to destroy, this will only keep track of one corpse that has been looted and once you move to another one, /target corpse next may bring up a corpse that has already been looted but not flagged as such. You could lock yourself in a loop between two corpses until they expire...

Also, the var looted itries to get ${Me.Target}. Target is not a member of Character, but is a totally different datatype. So you would want ${Target}. ${Target} is a string, so looted should be a string rather than an int. Or you could use ${Target.ID} but then you'd have to change the check line slightly.

Also, /goto :loop2 in the event sub, can you do that referencing a label in another subroutine? I guess I never tried, I just assumed you couldn't. And if you /loot and it's too far, isn't the event you'd need "your target is too far away, move closer"? (I'm sure that's not the exact text but I don't feel like testing right now) Only get the decay timer when you /con or right click

Ok I changed it to ${Target} like you said, I changed it to keep track of 5 corpses instead of 1 but it still might get you stuck in a loop, but I think there's less chance of it :) I wasn't thinking when I did that event, fixed that too. And I THINK you can use /goto :loop2 in a sub, not sure of that though
 
Help with loot macro

Users who are viewing this thread

Back
Top