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

Buff name help (1 Viewer)

edud

Member
Joined
Apr 5, 2006
RedCents
31¢
Hi,

I am wondering if there is a way to put in a buff check that would return true if i had any buff from the same line.

ie
Elixir of Speed I
Elixir of Speed VI
Elixir of Speed VII
Elixir of Speed X

I am trying make a macro use any level potion that is in the inventory and then recast when the buff wears off.
 
Solution
siddin said:
Rich (BB code):
sub main
:loop
/if (!${Me.Buff[Elixir of Speed I].ID} && !${Me.Buff[Elixir of Speed II].ID} && !${Me.Buff[Elixir of Speed III].ID} && !${Me.Buff[Elixir of Speed IV].ID} && !${Me.Buff[Elixir of Speed V].ID} && !${Me.Buff[Elixir of Speed VI].ID} && !${Me.Buff[Elixir of Speed VII].ID} && !${Me.Buff[Elixir of Speed VIII].ID} && !${Me.Buff[Elixir of Speed IX].ID} && !${Me.Buff[Elixir of Speed X].ID}) { 
do whatever here
}
/goto :loop
/return
Updated my code for ya.
Rich (BB code):
sub main
:loop
/if (!${Me.Buff[Elixir of Speed I].ID} && !${Me.Buff[Elixir of Speed II].ID} && !${Me.Buff[Elixir of Speed III].ID} && !${Me.Buff[Elixir of Speed IV].ID} && !${Me.Buff[Elixir of Speed V].ID} && !${Me.Buff[Elixir of Speed VI].ID} && !${Me.Buff[Elixir of Speed VII].ID} && !${Me.Buff[Elixir of Speed VIII].ID} && !${Me.Buff[Elixir of Speed IX].ID} && !${Me.Buff[Elixir of Speed X].ID}) { 
do whatever here
}
/goto :loop
/return
 
Last edited:
Couldn't you just make an event that's triggered when the buff's fade message occurs?

Yeah, but if its for a line thats going into another macro, it wouldnt be very desireable.

Think of an auto-kill macro ... if it were running and then triggered to rebuff, it would inturrupt whatever you were doing.

But when you check the buffs themselves, you can control when the check is made, and thus, place it more conveiniently as not to inturrupt other funtions.
 
siddin said:
Rich (BB code):
sub main
:loop
/if (!${Me.Buff[Elixir of Speed I].ID} && !${Me.Buff[Elixir of Speed II].ID} && !${Me.Buff[Elixir of Speed III].ID} && !${Me.Buff[Elixir of Speed IV].ID} && !${Me.Buff[Elixir of Speed V].ID} && !${Me.Buff[Elixir of Speed VI].ID} && !${Me.Buff[Elixir of Speed VII].ID} && !${Me.Buff[Elixir of Speed VIII].ID} && !${Me.Buff[Elixir of Speed IX].ID} && !${Me.Buff[Elixir of Speed X].ID}) { 
do whatever here
}
/goto :loop
/return
Updated my code for ya.
 
Solution
How about this (untested, but it should work):

Rich (BB code):
#include spell_routines.inc
/if (${Spell[Elixir of Speed].Stacks} && ${FindItem[Elixir of Speed].ID}) {
  /call Cast "${FindItem[Elixir of Speed].Name}" item
}

The way it works is like this:

  • The if line checks if the Elixir of Speed buff stacks with your existing buffs (ie. you don't have something better), and if you have an item that starts with "Elixir of Speed" in your inventory.
  • If both these are TRUE, then it casts the first Elixir of Speed item that it finds.
 
Thanks everyone for the replies

Very good idea ystervarkie but i didnt want to include spell_routines.inc so here is my work around. There is probably a better way but this works for me.

Rich (BB code):
/if (${Spell[Distillate of Skinspikes].Stacks} && ${FindItem[Distillate of Skinspikes].ID}) {
  /cast item "${InvSlot[${FindItem[Distillate of Skinspikes].InvSlot}].Item.Name}"
}
 
Buff name help

Users who are viewing this thread

Back
Top