Summon Script, just enter spell, number, item name

Moderator: MacroQuest Developers

User avatar
aChallenged1
a grimling bloodguard
a grimling bloodguard
Posts: 1804
Joined: Mon Jun 28, 2004 10:12 pm

Summon Script, just enter spell, number, item name

Post by aChallenged1 » Mon Jun 26, 2006 10:56 pm

To run it...(this example uses summoned daggers x 4)
/runscript summonit "Summon Dagger" 4 "Summoned: Dagger"

Code: Select all

; SummonIt.iss version 1.0.0
; By aChallenge1
; With help from Lax, CyberTechWork, Hendrix, RedOne, fearless,
; Echoism, Bardomatic, and others
; to run /runscript summonit "spell name" number "summoned item name"

#include spell_routines.inc
 
function main(string CastMe, int MyCount, string SummonedItem)
{
 
    EQExecute /memspellset Summon
    wait 3000 ${Me.SpellReady[Dimensional Pocket]}
    call Summon "${CastMe}" ${MyCount} "${SummonedItem}"
    speak Done summoning items
    if !${Me.Sitting}
	EQExecute /sit
    echo END Bag script
 
}
 
function Summon(string CastMe, int MyCount, string SummonedItem)
{
 
	    echo Spellname: "${CastMe}"
        echo Number: ${MyCount}
        echo What is summoned: "${SummonedItem}"
        echo Summon count is ${FindItemCount[="${SummonedItem}"]}
	do
	{
		wait ${Math.Rand[15]:Inc[5]}

		if ${Me.SpellReady["${CastMe}"]} && ${Me.PctMana}>20
		{
			echo summoning ${SummonedItem}
			call Cast "${CastMe}"
			if ${Cursor(exists)}
			{
				EQExecute /autoinventory
				EQExecute /sit
				echo waiting for spell ready
				wait 20 !${Cursor.ID}
				wait 9999 ${Me.SpellReady["${CastMe}"]}
				echo Summon count is ${FindItemCount["=${SummonedItem}"]}
			}
		}
          else
		{
	       echo resting for mana
	       if !${Me.Sitting}
	        EQExecute /sit
	       wait 9999 ${Me.PctMana}==100
	       echo done resting for mana
		}
	}
	while (${FindItemCount["=${SummonedItem}"]}<${MyCount})
}
Fuck writing MQ2 macros. Go with IS scripts; IS Rules!