Spell Skill Trainer

Moderator: MacroQuest Developers

hendrix04
a lesser mummy
a lesser mummy
Posts: 38
Joined: Tue Jul 13, 2004 5:02 pm

Spell Skill Trainer

Post by hendrix04 » Wed Jul 12, 2006 9:01 pm

Here is my version of a spell skill trainer. Seems to work well...

*EDIT* There was a bug where it would not move to the next skill after maxing a skill. Also changed it to destroy summoned items.

Code: Select all

;Spell Skill trainer by Hendrix
;Put the skills you want to train in gem slots 1-5
;and the script will handle the rest. 
;This script was converted from YAST by lorad
;Requires Spell_Routines.iss

#include ${LavishScript.HomeDirectory}/Scripts/Spell_Routines.iss
#define cast call Cast
variable int currentSpell=1
variable int maxSkill=${Math.Calc[${Me.Level}*5+5]}
variable string skillName

function main()
{
	addtrigger inc_chat "@*@tells you@*@"
	if ${maxSkill} > 235
		maxSkill:Set[235]
	echo "Max Skill level is ${maxSkill}"
	EQExecute /target ${Me.Name}
	do
	{
		echo "Casting ${Me.Gem[${currentSpell}]}"

		do
		{
			if ${Me.CurrentMana} < ${Me.Gem[${currentSpell}].Mana}
				call medbreak
			
			call checkgm
			cast "${Me.Gem[${currentSpell}]}"
			While ${Cursor.ID(exists)}
				destroy
		}
		while ${Me.Skill[${Me.Gem[${currentSpell}].Skill}]} < ${maxSkill}
	}
	while ${currentSpell:Inc} < 5
}

function checkgm()
{
	do
	{
		waitframe
	}
	while ${Spawn[gm].ID(exists)}
}

function medbreak()
{
	EQExecute /sit
	do
	{
		waitframe
	}
	while ${Me.PctMana} < 100
	EQExecute /stand
}

function inc_chat()
{
	echo "Tell received, pausing for 5 minutes..."
		
	EQExecute /afk
	EQExecute /sit
	wait 3000
	EQExecute /stand
	EQExecute /afk
}
edited for bug fixes.