• 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

Utility simple universal buff assistant

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
Server Type
Emu
Author
[email protected]
First release
Last update
Rating
0.00 star(s) 0 ratings
Top