• 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? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->
Resource icon

simple universal buff assistant (1 Viewer)

Micah Conley

New member
Joined
Sep 12, 2004
RedCents
20¢
was making a buff subroutine for a macro i'm working on and realized with very little extra work it would make a decent buff assistant so i figured id do the little extra and post it for anyone who wants it.
i have tested it on a cleric and chanter by asking for any buff by name you will get it if the character has it and if they have the rank 2 or 3 versions you will get that with out having to specify



Rich (BB code):
|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM|
|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM|
|MM                                                                 MM|
|MM                     MICAHSBUFFASSISTANT.MAC                     MM|
|MM                                                                 MM|
|MM                 This Marco Was Made By Micah                    MM|
|MM                                                                 MM|
|MM	                                                                MM|
|MM		just Change the number in line 30 to the number             MM|
|MM		of the spell gem you want your toon to use to cast buffs    MM|
|MM		and send a tell to the toon for instructions on how to      MM|
|MM		request a buff from Him/Her. This Macro will work with      MM|
|MM		any Character no matter the Class you and your friends      MM|
|MM		just have to know how to spell the buff names correctly     MM|
|MM	                                                                
|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM|
|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM|

#event OOR									"Your target is out of range, get closer!"
#event OOR									"You must first select a target for this spell!"
#Event Buff									"#1#tells you, '#2# Please#*#"
#Event Tell									"#*#tells you#*#
#Event OOM          						"Insufficient Mana to cast this spell!"
#Event ToLow								"Your spell is too powerful for your intended target."

|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Sub Main
		/plugin mq2cast load
		/declare GemNumber int outer 			5
		/declare M int outer
		/tgb on
		/call Loop
		
|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
		
Sub Event_Buff	
		/declare RankIII string local		${Param2} RK.III
		/declare RankIIIb string local		${Param2} RK. III
		/declare RankII string local		${Param2} RK.II
		/declare RankIIb string local		${Param2} RK. II
		
		/keypress esc
		/if (${Me.Book[${RankIII}]}) {
			/memorize  "${RankIII}" ${GemNumber}
			/goto :RKCheckDone
		}
		/if (${Me.Book[${RankIIIb}]}) {
			/memorize  "${RankIIIb}" ${GemNumber}
			/goto :RKCheckDone
		}
		/if (${Me.Book[${RankII}]}) {
			/memorize  "${RankII}" ${GemNumber}
			/goto :RKCheckDone
		}
		/if (${Me.Book[${RankIIb}]}) {
			/memorize  "${RankIIb}" ${GemNumber}
			/goto :RKCheckDone
		}
		/if (${Me.Book[${Param2}]}) {
			/memorize  "${Param2}" ${GemNumber}
			/goto :RKCheckDone
		}
		/reply sorry i do not have that buff yet or you did not spell it rite or it is not a ${Me.Class.Name} buff your requesting
		/return
	}
	:RKCheckDone
			/delay 1s
			/call WaitForSpell
			/delay 1s
			/rtarget
			/delay 1s
			/for M 1 to 120
				/doevents
				/if (${Me.Casting.ID}) /goto :CastingNow
				/cast ${GemNumber}
				/doevents
				/delay 2s
				/next M
		:CastingNow
			/reply casting ${Param2} on you now
			/for M 1 to 120
				/if (!${Me.Casting.ID}) /Return
				/delay 2s
				/next M
			/return
		}
		
|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
		
Sub Event_OOM
		/reply im out of mana rite now i will send a tell when i have mana and you can try again, if no one els sends me a tell between now and then :-)
		/for M 1 to 300
		/if (${Me.State.Equal[STAND]}) /sit
		/if (${Me.PctMana}==100) {
			/reply im full mana now ready to buff again :-)
			/call Loop
		}
		/delay 1s
		/next M
		/call Loop
}

|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
		
Sub Event_OOR
		/reply You are out of range get CLOSER and try again :-)
		/call Loop
}

|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Sub Event_Tell
		/reply I am a ${Me.Class.Name} Buff Bot just send a tell with the buff name you want followed by the word please example ->->-> <Buff Name> please
		/return
}

|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

Sub Loop
	:Loop
		/doevents
		/delay 5
		/if (${Me.State.Equal[STAND]}) /sit
		/goto :Loop
}		

|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM		
		
Sub WaitForSpell	

		/for M 1 to 120
			/if (${Me.Gem[${GemNumber}].ID}) /return
			/delay 5
			/next M
		/return
}

|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
		
Sub Event_ToLow
		/reply sorry you are to low level for that spell please chose a lower lvl spell and try again :-)
		/call Loop
}
- - - Updated - - -

i should prolly add that this was writen for emu servers but it should work on live to if you want to chance it
 
Last edited by a moderator:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Top