• 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
Bard SongUp Macro

Trade / Skill Bard SongUp Macro 1.0

Other Authors
Maskoi
Server Type
🏢 Live 🏘️ Emu TLP Test
I searched and didn't find a macro for increasing a bard's skills. CSkillup doesn't work, so I created one based on Maskoi's CastingSkillup.mac that is based on Arneweise's CastingSkillup.mac.

I know you can /melody the songs, but why have MQ2 at all if you are going to use EQ's default commands?

The macro helps by remembering what songs cover all skills for you.


Rich (BB code):
| Songup.mac by Lorimar v1.0 11/24/2012
| Based on Maskoi's CastingSkillup.mac that is based on Arneweise's CastingSkillup.mac
| 
|
| Description: This macro will automatically work on your singing and four instrument skills.
|
| Find a safe place in zone other than Pok, Guild Lobby, Guild Hall or Bazaar,
|
| Requires spell_routines.inc
|
| Syntax: /mac Songup


#turbo 40
#include spell_routines.inc

#Event SkillUp "You have become better at #1#! (#2#)"

Sub Main

    /declare SkillName[5]           string          outer
    /declare PracticeSpell[8,5]     string          outer    
    /declare CurrentZone            int             outer   ${Zone.ID}

    /varset SkillName[1]            Percussion Instruments
    /varset SkillName[2]            Stringed Instruments
    /varset SkillName[3]            Sing
    /varset SkillName[4]            Brass Instruments
    /varset SkillName[5]            Wind Instruments

|   BARD = 8
    /varset PracticeSpell[8,1]      Selo's Accelerando
    /varset PracticeSpell[8,2]      Chords of Dissonance
    /varset PracticeSpell[8,3]      Jonthan's Whistling Warsong
    /varset PracticeSpell[8,4]      Denon's Disruptive Discord
    /varset PracticeSpell[8,5]      Tarew's Aquatic Ayre
   
| - Check Class
     /if (${Select[${Me.Class.Name},Warrior,Berserker,Monk,Rogue,Wizard,Necromancer,Druid,Ranger,Shaman,Magician,Enchanter,Beastlord,Cleric,Paladin]}>=1) {
        /echo Your mother lied to you! Stop making people's ears bleed!
        /end
    }
   
    /call Init
    /call MemSpells
   
    :MainLoop
        /call DoCast
        /call AreWeDone
        /doevents
    /goto :MainLoop
   
/return

| - Sub Initialization
Sub Init
    /echo Skill Level/Skill Cap
    /declare i int local
    /for i 1 to 5
        /echo ${SkillName[${i}]}: ${Me.Skill[${SkillName[${i}]}]}/${Me.SkillCap[${SkillName[${i}]}]} - Playing: * ${PracticeSpell[${Me.Class.ID},${i}]} *
    /next i
/return

| - Sub MemSpells
Sub MemSpells
    /declare i int local
    /for i 1 to 5
        /if (!${Me.Gem[${PracticeSpell[${Me.Class.ID},${i}]}]}) {
            /echo Memorizing Song >> ${PracticeSpell[${Me.Class.ID},${i}]} <<
            /memspell ${i} "${PracticeSpell[${Me.Class.ID},${i}]}"
            /delay 25
        }
    /next i
/return

Sub DoCast
    /declare i int local
    | - Zone check to turn end macro if zoning
    /if (${Zone.ID}!=${CurrentZone}) {
        /echo You have zoned ending macro.
        /end
    }
    /delay 10
    /for i 1 to 5
        /doevents
        /if (${Me.Skill[${SkillName[${i}]}]} == ${Me.SkillCap[${SkillName[${i}]}]}) /goto :NextSpell
       
        /delay 1s
                /if (${Me.Skill[${SkillName[${i}]}]} < ${Me.SkillCap[${SkillName[${i}]}]}) {
            /cast "${PracticeSpell[${Me.Class.ID},${i}]}" gem${i}
            | /echo Playing ${PracticeSpell[${Me.Class.ID},${i}]} ${i}
            /delay 2s
        }
    :NextSpell
    /next i
/return

Sub Event_SkillUp(S0,S1,S2)
    /echo >> Your ${S1} skill is now ${S2}. <<
/return

Sub AreWeDone
    /declare i int local
    /declare j int local 0
    /for i 1 to 5
        /if (${Me.Skill[${SkillName[${i}]}]} == ${Me.SkillCap[${SkillName[${i}]}]}) /varcalc j ${j}+1
        /if (${j}==5) {
            /echo All skills are currently maxed. Ending macro.
            /end
        }
    /next i
/return
Author
lorimar
Watchers
53
First release
Last update

Ratings

5.00 star(s) 1 ratings

Share this resource

Latest reviews

Incredibly helpful for maxing my bard's skills.
Back
Top
Cart