Page 1 of 1

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

Posted: Sat Jun 12, 2004 3:09 am
by fantum409
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

Posted: Wed Dec 08, 2004 5:31 pm
by fantum409
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.

Posted: Wed Dec 08, 2004 5:49 pm
by A_Druid_00
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

Posted: Thu Dec 09, 2004 12:14 pm
by insanitywiz
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.

Posted: Thu Dec 09, 2004 1:08 pm
by Cr4zyb4rd
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:

Simple way to assign PC name to type of buff?

Posted: Fri Dec 17, 2004 3:45 pm
by neoghost
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

Posted: Sat Dec 18, 2004 9:53 am
by fantum409
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

mod

Posted: Mon Dec 27, 2004 11:13 am
by gimp
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

Posted: Wed Jan 19, 2005 3:49 pm
by AriB
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

Posted: Wed Apr 06, 2005 4:31 am
by Merlin
Any chance of getting a line to ask shamans for fortitude to this macro?

Posted: Wed Apr 06, 2005 6:35 am
by A_Druid_00
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.