Auto mem spell question

Need some help with that macro you're working on or aren't quite sure how to get your macro to do something? Ask here!

Moderator: MacroQuest Developers

JimJohnson
a grimling bloodguard
a grimling bloodguard
Posts: 1299
Joined: Sat Oct 11, 2003 6:00 am

Auto mem spell question

Post by JimJohnson » Fri Nov 07, 2003 5:57 pm

What part of this Spellsub controls the auto mem part ? and how can I change it so I can auto mem Symbol into slot 6 and Nine in slot 3

Code: Select all

|SpellSub 
|Main spell casting sub. 
|Used to handle all spell casting.  Auto mems spells and handles fizzles. 
|Will need to set the DefaultSpellSet var to your default spell set. 
| 
|Usage /call SpellSub "spellname" 
| 
Sub SpellSub 
   /if "@Param0"=="NA" /return 
   /varset Fail 0 
   /if n @SitAfterCast==1 /varset SitTimer 1140m 
   /varset SpellName "@Param0" 
   |/if n $target(distance)>$spell("@SpellName",range) { 
   |   /if n $spell("@SpellName",range)>0 { 
   |      /varset Fail 1 
   |      /call ChatOut 3 @MasterName "Too far away. " 
   |      /varset CTimer 0 
   |      /return 1 
   |   } 
   |} 
   /if $char(state)==SIT { 
      /stand 
   } 
   /varset Remem 0 
   /if $char(ismoving)!=FALSE { 
      /sendkey up up 
      /sendkey up down 
      /delay 1s 
   } 
   :WaitForStop 
   /doevents 
   /if n $BreakOut==1 /return 
   /echo $char(ismoving) 
   /if $char(ismoving)!=FALSE { 
      /delay 1s 
      /goto :WaitForStop 
   } 
   /if $char(book,"@SpellName")=="NULL" /varset Fail 1 
   :MemWait 
   /doevents 
   /if n @Fail==1 { 
      /varset Fail 0 
      /if n @Remem==1 { 
         /memspellset @DefaultSpellSet 
         :loadsploop 
         /delay 5 
         /if $char(spellbook)=="TRUE" /goto :loadsploop 
      } 
      /if n @SitAfterCast==1 { 
         /if $char(state)==STAND /sit 
      } 
      /return 1 
   }    
   /varset SpellSlot $char(gem,"@SpellName") 
   /if n @SpellSlot<0 { 
      /delay 1s 
      /goto :MemWait 
   } 
   /if n @SpellSlot==0 { 
      /memspell 2 "@Param0" 
      /varset SpellSlot 2 
      /varset Remem 1 
      :refreshwait 
      /doevents 
      /if n @Fail==1 { 
         /varset Fail 0 
         /if n @Remem==1 { 
            /memspellset @DefaultSpellSet 
            :loadsploop 
            /delay 5 
            /if $char(spellbook)=="TRUE" /goto :loadsploop 
         } 
         /if n @SitAfterCast==1 { 
            /if $char(state)==STAND /sit 
         } 
         /return 1 
      }    
      /delay 5 
      /if n $char(gem,"@SpellName")<=0 /goto :refreshwait 
   } 
   /varset CastTime "$spell("@SpellName",casttime)" 
   /varadd CastTime 1 
   :BeginCast 
   /varset Fail 0 
   /varset DoAgain 0 
   /varset StartCast 0 
   /call WaitForStart 
   :TimerLoop 
   /doevents 
   /if n @DoAgain==1 /goto :BeginCast 
   /if n @Fail==1 { 
      /varset Fail 0 
      /if n @Remem==1 { 
         /memspellset @DefaultSpellSet 
         :loadsploop 
         /delay 5 
         /if $char(spellbook)=="TRUE" /goto :loadsploop 
      } 
      /if n @SitAfterCast==1 { 
         /if $char(state)==STAND /sit 
      } 
      /return 1 
   } 
   /if n @CTimer>0 /goto :TimerLoop 
   /delay 2 
   /doevents 
   /if n @DoAgain==1 /goto :BeginCast 
   /if n @Remem==1 { 
      /memspellset default 
      :loadsploop 
      /delay 5 
      /if $char(spellbook)=="TRUE" /goto :loadsploop 
   }    
/return 0