BuffBeg.mac: Request buffs when your raiding (Update 12/08)

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

Moderator: MacroQuest Developers

fantum409
a ghoul
a ghoul
Posts: 141
Joined: Fri Nov 14, 2003 10:03 pm

BuffBeg.mac: Request buffs when your raiding (Update 12/08)

Post by fantum409 » Sat Jun 12, 2004 3:09 am

This will check what buffs your missing, then send tell to the nearest person in your guild who can cast each buff you need. Won't bother sending tells to people if they are more then 100 away from you.

This is set up for a wizard, but it'll be easy to modify for other classes to use.

Code: Select all

|Buffbeg.mac

Sub Main

   /echo Begging for buffs now
   /if ((!${Me.Buff[Voice of Quellious].ID})&&(!${Me.Buff[Tranquility].ID})&&(!${Me.Buff[Koadic's Endless Intellect].ID})&&(!${Me.Buff[Clairvoyance].ID})&&(!${Me.Buff[Voice of Clairvoyance].ID})) {
      /if (${String[${NearestSpawn[PC guild enchanter]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild enchanter].Distance}<=100) {
         /tell ${NearestSpawn[PC guild enchanter]} need C plz
         /delay 20
      } else /e No guild Enchanter available for C5
   }
   /if ((!${Me.Buff[Protection of the Nine].ID})&&(!${Me.Buff[Blessing of the Nine].ID})&&(!${Me.Buff[Steeloak Skin].ID})&&(!${Me.Buff[Blessing of Steeloak].ID})&&(!${Me.Buff[Virtue].ID})&&(!${Me.Buff[Hand of Virtue].ID})&&(!${Me.Buff[Conviction].ID})&&(!${Me.Buff[Hand of Conviction].ID})) {
      /if (${String[${NearestSpawn[PC guild druid]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild druid].Distance}<=100) {
         /tell ${NearestSpawn[PC guild druid]} need crack plz
         /delay 20
      } else /e No guild Druid available for DRU crack
   }
   /if ((!${Me.Buff[Spiritual Dominion].ID})&&(!${Me.Buff[Spiritual Ascendance].ID})) {
      /if (${String[${NearestSpawn[PC guild beastlord]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild beastlord].Distance}<=100) {
         /tell ${NearestSpawn[PC guild beastlord]} need crack plz
         /delay 20
      } else /e No guild Beastlord available for BST crack
   }
   /if ((!${Me.Buff[Kazad`s Mark].ID})&&(!${Me.Buff[Symbol of Kazad].ID})&&(!${Me.Buff[Symbol of Balikor].ID})&&(!${Me.Buff[Balikor's Mark].ID})&&(!${Me.Buff[Virtue].ID})&&(!${Me.Buff[Hand of Virtue].ID})&&(!${Me.Buff[Conviction].ID})&&(!${Me.Buff[Hand of Conviction].ID})) {
      /if (${String[${NearestSpawn[PC guild cleric]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild cleric].Distance}<=100) {
         /tell ${NearestSpawn[PC guild cleric]} need sym plz
         /delay 20
      } else /e No guild Cleric available for Symbol
   }
   /if ((!${Me.Buff[Brell's Stalwart Shield].ID})&&(!${Me.Buff[Brell's Brawny Bulwark].ID})&&(!${Me.Buff[Spiritual Vigor].ID})&&(!${Me.Buff[Spiritual Vitality].ID})) {
      /if (${String[${NearestSpawn[PC guild paladin]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild paladin].Distance}<=100) {
         /tell ${NearestSpawn[PC guild paladin]} need BSS plz
         /delay 20
      } else /e No guild Paladin available for BSS
   }      
   /if ((!${Me.Buff[Shield of Maelin].ID})&&(!${Me.Buff[Focus of the Seventh].ID})&&(!${Me.Buff[Focus of Soul].ID})&&(!${Me.Buff[Wunshi's Focusing].ID})&&(!${Me.Buff[Talisman of Wunshi].ID})) {
      /if (${String[${NearestSpawn[PC guild shaman]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild shaman].Distance}<=100) {
         /tell ${NearestSpawn[PC guild shaman]} need focus plz
         /delay 20
      } else /e No guild Shaman available for Focus
   }
/end

fantum409
a ghoul
a ghoul
Posts: 141
Joined: Fri Nov 14, 2003 10:03 pm

Post by fantum409 » Wed Dec 08, 2004 5:31 pm

Updated so it works with the new OOW spells. I'm going to add a check for your class, if your a melee, beg for haste also. Could add begging for atk buffs and such as well if people want it. What I need is a list for each class of what buffs you normally would beg for on a raid, besides the ones this mac already begs for.

A_Druid_00
Macro Maker Extraordinaire
Posts: 2378
Joined: Tue Jul 13, 2004 12:45 pm
Location: Rolling on the Lawn Farting

Post by A_Druid_00 » Wed Dec 08, 2004 5:49 pm

Good luck with that, I got like no feedback in my recreation of your buffbeg as an inc. I just added the stuff I wanted and left it alone =D
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]

insanitywiz
a hill giant
a hill giant
Posts: 250
Joined: Mon Jul 08, 2002 7:50 am

Post by insanitywiz » Thu Dec 09, 2004 12:14 pm

BTW, I know Cr4zy made use (or was going to make use) of the include for I think the afcleric.mac, good feedback right there I think, he doesn't use crap or useless code.

I've enjoyed using both the include and the macro depending on what I am doing. Good job to you both.

User avatar
Cr4zyb4rd
Plugins Czar
Posts: 1449
Joined: Tue Jul 20, 2004 11:46 am

Post by Cr4zyb4rd » Thu Dec 09, 2004 1:08 pm

BTW, I know Cr4zy made use (or was going to make use) of the include for I think the afcleric.mac, good feedback right there I think, he doesn't use crap or useless code.
That's a popular misconception brought on by the fact that I bitch a lot. I use whatever code gets the job done..I just try to tweak it where I'm able. :)

Druid's stuff is good though, I spent quite a few hours trying to elucidate the basics to him when he started macro hacking, and he's one of those oddball freaks that actually reads the docs and tries to learn what he's doing. :roll:

neoghost
decaying skeleton
decaying skeleton
Posts: 3
Joined: Fri Dec 03, 2004 6:47 pm

Simple way to assign PC name to type of buff?

Post by neoghost » Fri Dec 17, 2004 3:45 pm

In my guild we have raid re-buffers only.. so we are only to send tells to those particular class buffers. These change alot .

Anyway to Set cleric buffs = PC Name
Set Enchanter buffs = PC Name

etc etc etc

fantum409
a ghoul
a ghoul
Posts: 141
Joined: Fri Nov 14, 2003 10:03 pm

Post by fantum409 » Sat Dec 18, 2004 9:53 am

neoghost try this out. I didnt test first so post if it gives any errors. Just fill in the names where NULL is up top. If a name is there, and that person is in zone, it will ask them for the buff. Didnt update the top post because by the time you edit in names of particular people to cast buffs you could be keeping up with changing hotkeys that simply /tell soandso buff me

But it should work:

Code: Select all

|Buffbeg.mac

Sub Main

   /declare encbuffer string outer NULL
   /declare drubuffer string outer NULL
   /declare bstbuffer string outer NULL
   /declare clrbuffer string outer NULL
   /declare palbuffer string outer NULL
   /declare shmbuffer string outer NULL

   /echo Begging for buffs now
   /if ((!${Me.Buff[Voice of Quellious].ID})&&(!${Me.Buff[Tranquility].ID})&&(!${Me.Buff[Koadic's Endless Intellect].ID})&&(!${Me.Buff[Clairvoyance].ID})&&(!${Me.Buff[Voice of Clairvoyance].ID})) {
      /if ((${String[${encbuffer}].Equal[NULL]})||(!${Spawn[pc ${encbuffer}].ID})) {
         /if (${String[${NearestSpawn[PC guild enchanter]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild enchanter].Distance}<=100) {
            /tell ${NearestSpawn[PC guild enchanter]} need C plz
            /delay 20
         } else /e No guild Enchanter available for C5
      } else /tell ${encbuffer} need C plz
   }
   /if ((!${Me.Buff[Protection of the Nine].ID})&&(!${Me.Buff[Blessing of the Nine].ID})&&(!${Me.Buff[Steeloak Skin].ID})&&(!${Me.Buff[Blessing of Steeloak].ID})&&(!${Me.Buff[Virtue].ID})&&(!${Me.Buff[Hand of Virtue].ID})&&(!${Me.Buff[Conviction].ID})&&(!${Me.Buff[Hand of Conviction].ID})) {
      /if ((${String[${drubuffer}].Equal[NULL]})||(!${Spawn[pc ${drubuffer}].ID})) {
         /if (${String[${NearestSpawn[PC guild druid]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild druid].Distance}<=100) {
            /tell ${NearestSpawn[PC guild druid]} need druid crack plz
            /delay 20
         } else /e No guild Druid available for DRU crack
      } else /tell ${drubuffer} need druid crack plz
   }
   /if ((!${Me.Buff[Spiritual Dominion].ID})&&(!${Me.Buff[Spiritual Ascendance].ID})) {
      /if ((${String[${bstbuffer}].Equal[NULL]})||(!${Spawn[pc ${bstbuffer}].ID})) {
         /if (${String[${NearestSpawn[PC guild beastlord]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild beastlord].Distance}<=100) {
            /tell ${NearestSpawn[PC guild beastlord]} need beast crack plz
            /delay 20
         } else /e No guild Beastlord available for BST crack
      } else /tell ${bstbuffer} need beast crack plz
   }
   /if ((!${Me.Buff[Kazad`s Mark].ID})&&(!${Me.Buff[Symbol of Kazad].ID})&&(!${Me.Buff[Symbol of Balikor].ID})&&(!${Me.Buff[Balikor's Mark].ID})&&(!${Me.Buff[Virtue].ID})&&(!${Me.Buff[Hand of Virtue].ID})&&(!${Me.Buff[Conviction].ID})&&(!${Me.Buff[Hand of Conviction].ID})) {
      /if ((${String[${clrbuffer}].Equal[NULL]})||(!${Spawn[pc ${clrbuffer}].ID})) {
         /if (${String[${NearestSpawn[PC guild cleric]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild cleric].Distance}<=100) {
            /tell ${NearestSpawn[PC guild cleric]} need sym plz
            /delay 20
         } else /e No guild Cleric available for Symbol
      } else /tell ${clrbuffer} need sym plz
   }
   /if ((!${Me.Buff[Brell's Stalwart Shield].ID})&&(!${Me.Buff[Brell's Brawny Bulwark].ID})&&(!${Me.Buff[Spiritual Vigor].ID})&&(!${Me.Buff[Spiritual Vitality].ID})) {
      /if ((${String[${palbuffer}].Equal[NULL]})||(!${Spawn[pc ${palbuffer}].ID})) {
         /if (${String[${NearestSpawn[PC guild paladin]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild paladin].Distance}<=100) {
            /tell ${NearestSpawn[PC guild paladin]} need BBB plz
            /delay 20
         } else /e No guild Paladin available for BBB
      } else /tell ${palbuffer} need BBB plz
   }      
   /if ((!${Me.Buff[Shield of Maelin].ID})&&(!${Me.Buff[Focus of the Seventh].ID})&&(!${Me.Buff[Focus of Soul].ID})&&(!${Me.Buff[Wunshi's Focusing].ID})&&(!${Me.Buff[Talisman of Wunshi].ID})) {
      /if ((${String[${shmbuffer}].Equal[NULL]})||(!${Spawn[pc ${shmbuffer}].ID})) {
         /if (${String[${NearestSpawn[PC guild shaman]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild shaman].Distance}<=100) {
            /tell ${NearestSpawn[PC guild shaman]} need focus plz
            /delay 20
         } else /e No guild Shaman available for Focus
      } else /tell ${shmbuffer} need BBB plz
   }
/end

User avatar
gimp
a grimling bloodguard
a grimling bloodguard
Posts: 584
Joined: Fri Oct 29, 2004 9:28 am
Location: internet

mod

Post by gimp » Mon Dec 27, 2004 11:13 am

hi this is my mod from the original script, i been using it for a while, thought i'd post it. also have some todos put in there if someone feels creative :)

most notable it handles all oow buffs. i am playing a druid so the buff beg is tuned for me i guess, asking for spell haste etc, but not melee buffs

Code: Select all

|Buffbeg.mac
|
| todo
| * check ppl in RAID instead of in guild
| * ask for mod rod
| * if no pallies present in raid, ask bst for SV, OR ranger for suk hp
| * check classes present before begging, drop virtue for kaz+9, drop SV for brells
| * beg if buffs expiring in less than 10 minutes

Sub Main

	/declare NeedClericHP		int local	0
	/declare NeedClericHaste	int local	0

	/echo Begging for buffs

	|-----------------------------------------------------
	|- Enchanter
	|-----------------------------------------------------
	/if (!${String[${Me.Class}].Equal["Enchanter"]}) {
		/if (	(!${Me.Buff["Voice of Clairvoyance"].ID}) && (!${Me.Buff["Clairvoyance"].ID}) && (!${Me.Buff["Voice of Quellious"].ID}) && (!${Me.Buff["Tranquility"].ID}) && (!${Me.Buff["Koadic's Endless Intellect"].ID})	) {

			/if (${String[${NearestSpawn[PC guild enchanter]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild enchanter].Distance}<=100) {
				/tell ${NearestSpawn[PC guild enchanter]} voq please
				/delay 20
			} else /e No guild Enchanter available for VOQ
		}
	}


	|-----------------------------------------------------
	|- Druid
	|-----------------------------------------------------
	/if (!${String[${Me.Class}].Equal["Druid"]}) {
		/if (	(!${Me.Buff["Blessing of Steeloak"].ID}) && (!${Me.Buff["Steeloak Skin"].ID}) && (!${Me.Buff["Protection of the Nine"].ID}) && (!${Me.Buff["Blessing of the Nine"].ID}) && (!${Me.Buff["Virtue"].ID}) && (!${Me.Buff["Hand of Virtue"].ID})	) {
			/if (${String[${NearestSpawn[PC guild druid]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild druid].Distance}<=100) {
				/tell ${NearestSpawn[PC guild druid]} 9 please
				/delay 20
			} else /e No guild Druid available for 9
		}
		
		|fixme: drop conv/virt if i have that on
	}


	|-----------------------------------------------------
	|- Beastlord
	|-----------------------------------------------------
	/if (!${String[${Me.Class}].Equal["Beastlord"]}) {
		/if (	(!${Me.Buff["Spiritual Ascendance"].ID}) && (!${Me.Buff["Spiritual Dominion"].ID})	) {
			/if (${String[${NearestSpawn[PC guild beastlord]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild beastlord].Distance}<=100) {
				/tell ${NearestSpawn[PC guild beastlord]} sd please
				/delay 20
			} else /e No guild Beastlord available for SD
		}
	}


	|-----------------------------------------------------
	|- Cleric
	|-----------------------------------------------------
	/if (!${String[${Me.Class}].Equal["Cleric"]}) {
		/if (	(!${Me.Buff["Conviction"].ID}) && (!${Me.Buff["Hand of Conviction"].ID}) && (!${Me.Buff["Virtue"].ID}) && (!${Me.Buff["Hand of Virtue"].ID}) && (!${Me.Buff["Symbol of Balikor"].ID}) && (!${Me.Buff["Balikor's Mark"].ID}) && (!${Me.Buff["Symbol of Kazad"].ID}) && (!${Me.Buff["Kazad`s Mark"].ID})	) {

			/if (${String[${NearestSpawn[PC guild cleric]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild cleric].Distance}<=100) {
				/varset NeedClericHP	1
			} else /e No guild Cleric available for Symbol
		}

		/if (	(!${Me.Buff["Blessing of Reverence"].ID}) && (!${Me.Buff["Aura of Reverence"].ID}) && (!${Me.Buff["Blessing of Devotion"].ID}) && (!${Me.Buff["Aura of Devotion"].ID}) ) {

			/if (${String[${NearestSpawn[PC guild cleric]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild cleric].Distance}<=100) {
				/varset NeedClericHaste	1
			} else /e No guild Cleric available for Spell Haste
		}

		/if (${NeedClericHP} || ${NeedClericHaste}) {

			/if (${NeedClericHP} && ${NeedClericHaste}) {
				/tell ${NearestSpawn[PC guild cleric]} symbol & spell haste please
			} else /if (${NeedClericHP}) {
				/tell ${NearestSpawn[PC guild cleric]} symbol please
			} else {
				/tell ${NearestSpawn[PC guild cleric]} spell haste please
			}
			/delay 20
		}		
	}


	|-----------------------------------------------------
	|- Paladin
	|-----------------------------------------------------
	/if (!${String[${Me.Class}].Equal["Paladin"]}) {
		/if (	(!${Me.Buff["Brell's Brawny Bulwark"].ID}) && (!${Me.Buff["Brell's Stalwart Shield"].ID}) && (!${Me.Buff["Spiritual Vitality"].ID}) && (!${Me.Buff["Spiritual Vigor"].ID}) ) {

			/if (${String[${NearestSpawn[PC guild paladin]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild paladin].Distance}<=100) {
				/tell ${NearestSpawn[PC guild paladin]} brells please
				/delay 20
			} else /e No guild Paladin available for BSS
		}
	}


	|-----------------------------------------------------
	|- Shaman
	|-----------------------------------------------------
	/if (!${String[${Me.Class}].Equal["Shaman"]}) {
		/if (	(!${Me.Buff["Shield of Maelin"].ID}) && (!${Me.Buff["Focus of the Seventh"].ID}) && (!${Me.Buff["Focus of Soul"].ID}) && (!${Me.Buff["Wunshi's Focusing"].ID})	) {

			/if (${String[${NearestSpawn[PC guild shaman]}].NotEqual[NULL]}) /if (${NearestSpawn[PC guild shaman].Distance}<=100) {
				/tell ${NearestSpawn[PC guild shaman]} focus please
				/delay 20
			} else /e No guild Shaman available for Focus
	   }
	}

/end

AriB
orc pawn
orc pawn
Posts: 18
Joined: Wed Jan 19, 2005 3:34 pm
Location: VA Beach, VA - USA
Contact:

Post by AriB » Wed Jan 19, 2005 3:49 pm

This Mac is so Evil! sence I'm an enchanter..... How ever Its great!

What makes it really great is when you make a mac that will auto cast the buff in request =P

Merlin
a lesser mummy
a lesser mummy
Posts: 69
Joined: Tue Oct 26, 2004 2:33 am

Post by Merlin » Wed Apr 06, 2005 4:31 am

Any chance of getting a line to ask shamans for fortitude to this macro?

A_Druid_00
Macro Maker Extraordinaire
Posts: 2378
Joined: Tue Jul 13, 2004 12:45 pm
Location: Rolling on the Lawn Farting

Post by A_Druid_00 » Wed Apr 06, 2005 6:35 am

You can get it in Buffbeg.inc. It's a little more complicated to set up, but that's because it's usable by any class without modification. Just turn on the buffs you want for each character you play in their respective ini.

If I was still playing EQ1, I'd make a toggle to use designated buff casters to send tells to like fantum added here.
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]