• 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 --->

Afkbard with a bot question (1 Viewer)

Nikbus

New member
Joined
Oct 28, 2006
RedCents
Hi guys, I am very new to macros in fact still trying to learn the language. In the meantime I did a search of the posts here and didn't come up with the macro i need. Here's the situation, I am running Red's afkbard mac in fhalls and doing very well with it. I am grouped with a paladin several levels higher so the kills give good exp but here's what I would like to do. Being the cheap guy I am I hate to give up the loots so I was wondering if there was any way to have the bot auto loot?
 
Nikbus said:
Hi guys, I am very new to macros in fact still trying to learn the language. In the meantime I did a search of the posts here and didn't come up with the macro i need. Here's the situation, I am running Red's afkbard mac in fhalls and doing very well with it. I am grouped with a paladin several levels higher so the kills give good exp but here's what I would like to do. Being the cheap guy I am I hate to give up the loots so I was wondering if there was any way to have the bot auto loot?

Yes.
Add this snippet of code above the Sub Main function.
Rich (BB code):
#event lootemup "#*#You have slain a squeaking rat!#*#"

Then add this snippet to any part of the macro that is not within a subroutine.

All the way at the bottom of the macro works just fine.
Rich (BB code):
sub event_lootemup
/declare LootSlot	int inner 0 
/declare LootTotal	int inner 0 
/target a squeaking rat's corpse
/keypress forward
/stick 3
/delay 4s
/loot
/delay 2s
/varset LootTotal ${Corpse.Items}
/echo There are ${LootTotal} items on the corpse.
/if (${LootTotal} > 0) {
	/for LootSlot 1 to ${LootTotal}
		/itemnotify loot${LootSlot} leftmouseup 
		/delay 5
		/destroy
		/delay 5 
	/next LootSlot 
}
/notify LootWnd DoneButton leftmouseup 
/delay 2s
/return

I hope this helped. Oh and just FYI, all questions should be submited in the questions forum. ;) We forgive you................... this time, mwahahaha...
GL, enjoy, and remember.....

Dirty likes redcents too.
 
a_troll_01 said:
I haven't looked at Red's AFK macro but there could be a problem with just inserting a "slain" event. Unless the macro returns to the circle after you loot you are sort of screwed.

I posted an AFK BArd macro with an option to loot if you want to give it a try.

http://www.redguides.com/community/showthread.php?t=13829



True I forgot to mention that he would need to add a /doevents in the sub mains :loop

I have a high level rogue and use it to PL my bards with.
I have one macro for the bard which is set up to /doevents and watch for tells, then act accordingly, and one for the rogue.
What can I say I do things like a half assed code monkey sometimes, this was one of those times.

Just for the sake of example, here is the macro I use for my rogue.
Rich (BB code):
#event timetoloot "#*#You have slain a squeaking rat!#*#"

Turbo 10

Sub Main

:loopstart 
	/doevents
	/if (${Zone.ID}==182) /call event_end
	/if (${Target.Level}>67) /tar npc next 
	/if (${Target.Distance}>90) /keypress esc  
	/if (${Target.ID}==FALSE) /tar NPC radius 90 rat
	/if (${Target.ID}==FALSE) /tell mybardsname end
	/if (${Target.PctHPs}<90) /call Dots
	/stick 7
	/delay 4s
	/if (${Me.AbilityReady[Backstab]}) {
             /doability Backstab
             } 
	/attack on
	/if (${Me.PctHPs}<=50) /potionbelt activate 1
	/goto :loopstart  
	/doevents
/return  

Sub Dots
/tell mybardsname Dot Em Up
:TargetLoop
/if (${Me.AbilityReady[Backstab]}) /doability Backstab
/if (${Target.ID}==TRUE)
/goto :TargetLoop
/return

Sub Loot
 /declare LootSlot	int inner 0 
 /declare LootTotal	int inner 0
  /declare LootLeft	int inner 0
   :LootPlease
   /sumcorpse   
   /if (${Target.Type.NotEqual[CORPSE]} || !${Target.ID}) {
      /return
   }   
   /corpse
   /delay 1s
   /loot
   /delay 1s
   /if (${Me.State.NotEqual[BIND]}) {
      /delay 2s
      /goto :LootPlease
   }
   :LootLag
   /if (${LootTotal}!=${Corpse.Items}) {
      /varset LootTotal ${Corpse.Items}
      /delay 2s
      /goto :LootLag
   }
   /for LootSlot 1 to ${LootTotal}
      :LootItem
      /itemnotify loot${LootSlot} rightmouseup
      /delay 3
      /if (${Corpse.Item[${LootSlot}].ID}) {
         /goto :LootItem
      }
   /next LootSlot
   /delay 5
   /notify LootWnd DoneButton leftmouseup
   /return

sub event_timetoloot
/declare LootSlot	int inner 0 
/declare LootTotal	int inner 0 
/target a squeaking rat's corpse
/keypress forward
/stick 3
/delay 4s
/loot
/delay 2s
/varset LootTotal ${Corpse.Items}
/echo There are ${LootTotal} items on the corpse.
/if (${LootTotal} > 0) {
	/for LootSlot 1 to ${LootTotal}
		/itemnotify loot${LootSlot} leftmouseup 
		/delay 5
		/destroy
		/delay 5 
	/next LootSlot 
}
/notify LootWnd DoneButton leftmouseup 
/delay 2s
/target mybardsname
/stick
/delay 4s
	/if (${Me.PctHPs}<=80) {
	/sit
	/delay 2m
	/stand
	}
/target clear
/target clear
/return

Sub event_end
/attack off
/endmac
/return

Though our friend is asking for something to make his alt dps bot loot, not the bard itself.
As long as he has the /doevents in sub mains loop, it will work, I've been doing it for a while. The /return at the bottom does send the mac back to sub main and continues from the line after the /doevents :P
 
and yes I know rather than sending the bard a tell saying end thus triggering the bard to stop singing, (Line 13.), I could just set the bard's macro to do a target check and stop singing when there is no target.

It's one of the first few sets of macs I had made, and I have never got arround to revising it.
 
Afkbard with a bot question

Users who are viewing this thread

Back
Top