• Hail, we're RedGuides. We want you to play six (yes, 6!) EverQuest characters at once. We have scripts and a friendly community to help, please join our playstyle and say hello! 👋
  • We've added LLM sections to our Terms & Rules and Resource Rules, for everyone's sanity & in-game safety.
    Read more
    a. Do not replace your voice with an LLM. This goes for your posts and your scripts. Drafting and editing with a tool is fine, but don't take you out of what you share.
    b. Do not replace your EQ character's voice with an LLM. We don't want scripts that speak over /ooc, /shout or other public channels. This has been an unwritten rule that's kept casino scripts off the site for decades, but we're now compelled to make it clear: keep automated communication private.

    Why Does RG Review Scripts?
    Nearly every LLM-written Lua script we see is making your character do impossible things, and rarely in a way that's beneficial to you. We've seen heavy server hammering, /target over impossible distances when /nav spawn would passively accomplish the same thing, a spawn search that fires 20+ times per second, and other pointless actions that are likely annoying GMs.

    You are welcome to use LLMs as a tool to structure, draft, and edit your work, but please read critically before hitting /lua run
Resource icon

Work in Progress MGB Macro 1.00

Server Type
🏢 Live
I wanted to test my hand at making a basic macro so I could learn the steps and also, specifically, learn syntax and conditionals. So I made this macro. I also made this because I like hitting my whole army with MGBs before initiating KA.

This macro will assign a set number of popular MGB spells depending on the class of whoever runs it, and will sit in Guild Lobby until it detects anyone asking for "MGB" at which point it will delay a random amount of time between 10-20 seconds, activate tranquil blessings, and cast the assigned buff(s).

KNOWN ISSUES since I'm not a programmer at all:
--If you are in the middle of a spell routine and someone else shouts for MGB, the toon will start the whole cycle over once it finishes the current one. I don't know how to silence this, or even if it's possible/that big of a deal.
--My shaman is struggling to cast the correct spells on occasion. Do not know how to reproduce this. It likes to replace Talisman of the Enduring with Talisman of the Ry'Gorr, and occasionally likes to cast Enduring twice instead of moving on to Tala'Tak after casting.
--If you like to use AA MGBs, I currently don't have the knowledge how to assign an AA to one of the buff slots and have it fire an AA instead of a spell.
--The code isn't very pretty.
--Don't have any idea how to handle fizzles right now from within a Sub Event that is currently executing, and it's possible for some of these spells to fizzle.

INI:
#turbo 80
#event MGB "#*#MGB#*#"

Sub Main

/echo Starting up!

|This section determines what class you are, and sends the macro to mem the proper spells
/if (${Me.Class.Name.Equal[Beastlord]}) /goto :BeastPrep
/if (${Me.Class.Name.Equal[Cleric]}) /goto :ClericPrep
/if (${Me.Class.Name.Equal[Enchanter]}) /goto :ChanterPrep
/if (${Me.Class.Name.Equal[Druid]}) /goto :DruidPrep
/if (${Me.Class.Name.Equal[Magician]}) /goto :MagePrep
/if (${Me.Class.Name.Equal[Paladin]}) /goto :PallyPrep
/if (${Me.Class.Name.Equal[Ranger]}) /goto :RangerPrep
/if (${Me.Class.Name.Equal[Shaman]}) /goto :ShammyPrep
    
:BeastPrep
    /declare BuffOne outer
    /declare BuffTwo outer
    /varset BuffOne Reclaimer's Unity
    /delay 1s   
    /varset BuffTwo Shared Merciless Ferocity
    /bst byos on
    /delay 1s
    /goto :Mem
    
:ClericPrep
    /declare BuffOne outer
    /declare BuffTwo outer
    /varset BuffOne Unified Hand of Righteousness
    /delay 1s
    /varset BuffTwo Unified Hand of Jorlleag
    /delay 1s
    /goto :Mem
    
:ChanterPrep
    /declare BuffOne outer
    /declare BuffTwo outer
    /varset BuffOne Hastening of Cekenar
    /delay 1s
    /varset BuffTwo Voice of Sagacity
    /delay 1s
    /goto :Mem
    
:DruidPrep
    /declare BuffOne outer
    /varset BuffOne Opaline Blessing
    /delay 1s
    /goto :Mem
    
:MagePrep
    /declare BuffOne outer
    /varset BuffOne Circle of Igneous Skin
    /delay 1s
    /goto :Mem
    
:PallyPrep
    /declare BuffOne outer
    /varset BuffOne Brell's Blessed Barrier
    /delay 1s
    /goto :Mem
    
:RangerPrep
    /declare BuffOne outer
    /varset BuffOne Shout of the Arbor Stalker
    /delay 1s
    /goto :Mem
    
:ShammyPrep
    /declare BuffOne outer
    /declare BuffTwo outer
    /declare BuffThree outer
    /varset BuffOne Talisman of the Ry'Gorr
    /delay 1s
    /varset BuffTwo Talisman of the Enduring
    /delay 1s
    /varset BuffThree Spirit of Tala'Tak
    /delay 1s
    /goto :Mem
    
:Mem
    /if (${Me.Gem[1].Name.Equal[${BuffOne}]}) {
        } else /if (${Me.Gem[1].Name.NotEqual[${BuffOne}]}) {
            /memspell 1 "${BuffOne}"
            /delay 5s
        } else /if (${Me.Gem[1]}==NULL) {
            /memspell 1 "${BuffOne}"
            /delay 5s
        }
    /if (${BuffTwo.NotEqual[NULL]}) {
        /if (${Me.Gem[2].Name.Equal[${BuffTwo}]}) {
            } else /if (${Me.Gem[2].Name.NotEqual[${BuffTwo}]}) {
                /memspell 2 "${BuffTwo}"
                /delay 5s
            } else /if (${Me.Gem[2]}==NULL) {
                /memspell 2 "${BuffTwo}"
                /delay 5s
                }
            }
    /if (${BuffThree.NotEqual[NULL]}) {
        /if (${Me.Gem[3].Name.Equal[${BuffThree}]}) {
            } else /if (${Me.Gem[3].Name.NotEqual[${BuffThree}]}) {
                /memspell 3 "${BuffThree}"
                /delay 5s
            } else /if (${Me.Gem[3]}==NULL) {
                /memspell 3 "${BuffThree}"
                /delay 5s
                }
        } else {
            /goto :loop
        }

:loop
    /doevents
    /delay 3
    /goto :loop
/return

Sub Event_MGB
    /goto :OneBuff
    
    :OneBuff
        /if (${Me.AltAbilityReady[Tranquil Blessings]}) {
            |This section has a built-in and random delay to not seem so obvious
            /delay 10s
            /delay ${Math.Rand[10]}s
            /alt act 992
            /delay 3s
        } else {
            /delay 5s
            /goto :OneBuff
        }
        /cast "${BuffOne}"
        /delay 2s
        /if (${BuffTwo.NotEqual[NULL]}) {
            /goto :TwoBuff
        } else /goto :Sit
        
    :TwoBuff
        |No delay needed here since it's the second spell
        /if (${Me.AltAbilityReady[Tranquil Blessings]}) {
            /alt act 992
            /delay 3s
        } else {
            /delay 5s
            /goto :TwoBuff
        }
        /cast "${BuffTwo}"
        /delay 2s
        /if (${BuffThree.NotEqual[NULL]}) {
            /goto :ThreeBuff
        } else /goto :Sit
        
    :ThreeBuff
        |No delay needed here since it's the third spell
        /if (${Me.AltAbilityReady[Tranquil Blessings]}) {
            /alt act 992
            /delay 3s
        } else {
            /delay 5s
            /goto :ThreeBuff
        }
        /cast "${BuffThree}"
        /delay 2s
        /goto :Sit
        
    :Sit
        /if (!${Me.Casting.ID}&&!${Me.Sitting}) {
            /sit
        } else {
            /delay 3s
            /goto :Sit
        }
    /return
Author
foromoro
Watchers
20
First release
Last update

Ratings

0.00 star(s) 0 ratings

Share this resource

Back
Top
Cart