• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
Bard SongUp Macro

Release Bard SongUp Macro 1.0

No permission to download

lorimar

Member
Joined
Mar 31, 2012
RedCents
260¢
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
 
Very well done.
Skillname[3] sing should be singing to avoid NULL/NULL echo on initializing......
Written in Nov '12.... 9 thanks in 2015... testament to the macro's efficacy.

Yes. I did enjoy using the word efficacy. But it is true.

Playbetter
 
Line

Rich (BB code):
/varset SkillName[3]            Sing

Needs to be changed to


Rich (BB code):
/varset SkillName[3]            Singing

No such skill as SING. lol

Yields a NULL response on the checkback against skill type.

I'd edit the code post and upload a corrected macro.. but I refrain from touching other peoples work under almost any circumstance.
 
Release Bard SongUp Macro

Users who are viewing this thread

Back
Top
Cart