bugbuff.inc -- used with genbot, keeps track of buffs

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

Moderator: MacroQuest Developers

BardsAreTooEasy
a lesser mummy
a lesser mummy
Posts: 39
Joined: Sun Feb 27, 2005 3:01 pm

bugbuff.inc -- used with genbot, keeps track of buffs

Post by BardsAreTooEasy » Tue Apr 12, 2005 9:32 pm

I always have at least 2 toons running genbot. often times my tank misses buffs because he is out pulling. this will keep track of up to 12 buffs, and when one drops will ask your genbots to recast them so long as they are within range. If you have 2 genbots, and one isnt in the zone, they wont be asked for buffs. Just difine the buffs you need, and the caster of each buff. As is, it's set up for a drood/shammy running genbot, and a tank uses the include.

Code: Select all

#turbo

Sub buff
||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||THIS INCLUED WILL KEEP TRACK OF YOUR||||
||||||||||||||BUFFS AND ASK YOUR GENBOTS TO RENEW|||||
||||||||||||||THEM WHEN NEEDED.  KEEPS TRACK OF UP||||
||||||||||||||TO TWELVE BUFFS.  EACH BUFF ALLOWS 30|||
||||||||||||||SECONDS FOR THE GENBOT TO CAST.  ADD A||
||||||||||||||/call buff TO YOUR MACRO WHEN SAFE.|||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||

	||||||CHANGE THESE VARIABLES TO YOUR BUFFS||||
	||||||CHANGE THE REST TO none|||||||||||||||||
	

	/if (!${Defined[buff1]}) /declare buff1 string outer Celerity
	/if (!${Defined[buff2]}) /declare buff2 string outer Regrowth of Dar Khura
	/if (!${Defined[buff3]}) /declare buff3 string outer Protection of the Glades
	/if (!${Defined[buff4]}) /declare buff4 string outer Legacy of Thorn
	/if (!${Defined[buff5]}) /declare buff5 string outer Ancestral Guard
	/if (!${Defined[buff6]}) /declare buff6 string outer Endurance of the Boar
	/if (!${Defined[buff7]}) /declare buff7 string outer Talisman of the Wrulan
	/if (!${Defined[buff8]}) /declare buff8 string outer Focus of the Seventh
	/if (!${Defined[buff9]}) /declare buff9 string outer Ferine Avatar
	/if (!${Defined[buff10]}) /declare buff10 string outer none
	/if (!${Defined[buff11]}) /declare buff11 string outer none
	/if (!${Defined[buff12]}) /declare buff12 string outer none
	
	||||||CHANGE caster# TO THE CASTER OF buff#|||
	
	/if (!${Defined[caster1]}) /declare caster1 string outer shaman
	/if (!${Defined[caster2]}) /declare caster2 string outer shaman
	/if (!${Defined[caster3]}) /declare caster3 string outer drood
	/if (!${Defined[caster4]}) /declare caster4 string outer drood
	/if (!${Defined[caster5]}) /declare caster5 string outer shaman
	/if (!${Defined[caster6]}) /declare caster6 string outer shaman
	/if (!${Defined[caster7]}) /declare caster7 string outer shaman
	/if (!${Defined[caster8]}) /declare caster8 string outer shaman
	/if (!${Defined[caster9]}) /declare caster9 string outer shaman
	/if (!${Defined[caster10]}) /declare caster10 string outer 
	/if (!${Defined[caster11]}) /declare caster11 string outer 
	/if (!${Defined[caster12]}) /declare caster12 string outer
	
	/if (!${Defined[waitbuff]}) /declare waitbuff timer local

	/if (!${Defined[totalbuffs]}) /declare totalbuffs int local 12
	
	/if (!${Defined[currentbuff]}) /declare currentbuff int local 1
	
||||||||||||||||||||||||||||||||||END DEFINES|||||||||||||||||||||||||||||


	/for currentbuff 1 to ${totalbuffs}
	
		/if (${NearestSpawn[1, pc ${caster${currentbuff}}].Distance}<40) {

			/if (${String[${buff${currentbuff}}].NotEqual[none]} && ${String[${NearestSpawn[1, pc ${caster${currentbuff}}]}].NotEqual[NULL]}) {
		
				/if (${String[${Me.Buff[1]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[2]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[3]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[4]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[5]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[6]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[7]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[8]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[9]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[10]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[11]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[12]}].NotEqual[${buff${currentbuff}}]}) {

					/t ${caster${currentbuff}} buff ${buff${currentbuff}}

					/varset waitbuff 300
		
					:Loop1
					
						/if (${NearestSpawn[1, pc ${caster${currentbuff}}].Distance}>40 || ${waitbuff}==0) /return
						
						/if (${String[${Me.Buff[1]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[2]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[3]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[4]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[5]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[6]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[7]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[8]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[9]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[10]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[11]}].NotEqual[${buff${currentbuff}}]} && ${String[${Me.Buff[12]}].NotEqual[${buff${currentbuff}}]}) /goto :Loop1
		
		}
		
	}

}

	/next currentbuff
	
	/varset currentbuff 1

/return


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 13, 2005 8:59 am

I don't usually plug my own macros, but BuffBeg.inc in the Snippets section begs the nearest group member or guild member for buffs it lacks and uses a separate .ini file for each character. It's currently set up to beg for pretty much every buff a melee or caster could want (At least as of Omens of war). It also sends 15 random buff messages that you can define at the top of the .inc file. It also has a custom HUD mod for it which gives you a list of buffs that it begs for (Buffs that it's begging for show up green, ones that are turned off show up in Red). Oh, and it also uses a more open ended solution for checking it's own buffs in the Buffbeg.ini file, which keep you from begging for buffs that don't stacks, such as Virtue when you have Symbol/9 or vice versa. Oh yeah, and it will beg the nearest mage for Mod Rods too, which you can then set up genbot to eat mod rods below a set % of mana.

Oh, and I think this post probably belongs in the Snippets section more than the Macro Depot. Same goes for the rest of the .inc files you posted here. Macro Depot is for finished macros and not add ons to existing macros.
[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]

BardsAreTooEasy
a lesser mummy
a lesser mummy
Posts: 39
Joined: Sun Feb 27, 2005 3:01 pm

Post by BardsAreTooEasy » Wed Apr 13, 2005 6:25 pm

no reason to get harsh, bro.. me newbie, you pro :cool: i like begbuff, works great, and beautiful job coding. Mine's just simple is all, and works well when 2 or 3 boxing. I'll post my inc's in the snippets section next time, although i considered them complete.

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 » Thu Apr 14, 2005 9:46 am

I wasn't being harsh, just pointing you to an alternative and that you had posted these in the wrong section. Not very many people have seen me be harsh on these boards.
[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]