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.
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