Requires twist and exchange plugins.
Code: Select all
;Change song gems and instruments
;
#define PercSongGem 2
#define WindSongGem 3
#define BrassSongGem 1
#define StringSongGem 4
#define SingSongGem 5
#define PercInstrument "Hand Drum"
#define WindInstrument "Minotaur Horn"
#define BrassInstrument "Horn"
#define StringInstrument "Lute"
function main()
{
ext -require ISXEQ
ext -require ISXEQEXCHANGE
ext -require ISXEQTWIST
echo Instrument training!
if ${Me.Inventory[mainhand].ID}
exchange unequip mainhand
while ${Me.Skill["Percussion Instruments"]}<${Math.Calc[${Me.Level}*5+5]}
{
if ${Me.Casting.ID} != ${Me.Gem[PercSongGem].ID} && !${Window[CastingWindow].Open}
twist PercSongGem
if ${Me.Inventory[offhand].Name.NotEqual[PercInstrument]}
exchange PercInstrument offhand
wait 30
}
while ${Me.Skill["Stringed Instruments"]}<${Math.Calc[${Me.Level}*5+5]}
{
if ${Me.Casting.ID} != ${Me.Gem[StringSongGem].ID} && !${Window[CastingWindow].Open}
twist StringSongGem
if ${Me.Inventory[offhand].Name.NotEqual[StringInstrument]}
exchange StringInstrument offhand
wait 30
}
while ${Me.Skill["Wind Instruments"]}<${Math.Calc[${Me.Level}*5+5]}
{
if ${Me.Casting.ID} != ${Me.Gem[WindSongGem].ID} && !${Window[CastingWindow].Open}
twist WindSongGem
if ${Me.Inventory[offhand].Name.NotEqual[WindInstrument]}
exchange WindInstrument offhand
wait 30
}
while ${Me.Skill["Brass Instruments"]}<${Math.Calc[${Me.Level}*5+5]}
{
if ${Me.Casting.ID} != ${Me.Gem[BrassSongGem].ID} && !${Window[CastingWindow].Open}
twist BrassSongGem
if ${Me.Inventory[offhand].Name.NotEqual[BrassInstrument]}
exchange BrassInstrument offhand
wait 30
}
while ${Me.Skill["Singing"]}<${Math.Calc[${Me.Level}*5+5]}
{
if ${Me.Casting.ID} != ${Me.Gem[SingSongGem].ID} && !${Window[CastingWindow].Open}
twist SingSongGem
if ${Me.Inventory[offhand].ID}
exchange unequip offhand
wait 30
}
echo skills maxxed!!
eqexecute /camp desktop
}
