• 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? Change the look. To dismiss this notice, click the X --->
  • There is a suspension/ban wave happening, we're still gathering information. Please keep regular discussion to Suspension MegaThread and please consider submitting a Suspension report to RG.
Bard SongUp Macro

Trade / Skill Bard SongUp Macro 1.0

Download now:  Join us with Level 2 access or earn your way in with  RedCents.
Other Authors
Maskoi
Software Requirements
spell_routines.inc
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
First release
Last update
Rating
5.00 star(s) 1 ratings

Share this resource

Latest reviews

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