Question about Auto mem and targeting off tells

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

Question about Auto mem and targeting off tells

Post by JimJohnson » Fri Nov 07, 2003 6:11 pm

What part of the SpellSub controls the auto mem spells? Wanting to Mem SpellSheild into spellgem1, Symbol into Spellgem6, Nine to spellgem3 how would I do this? Also having trouble getting the targeting off a tell.



Code: Select all

|botspell.inc 
|Bot spell module. 
|Version 8.51 
|Date:11/06/2003 9:23am 
| 



#event Collapse "Your gate is too unstable, and collapses." 
#event RootOff "Your Immobilize spell has worn off." 
#event NoLOS "You cannot see your target." 
#Event CastStart "You begin casting" 
#Event CastFizzle "Your spell fizzles!" 
#Event CastInterrupt "Your spell is interrupted." 
#Event CastNoMana "Insufficient Mana to cast this spell" 
#Event CastTooFar "Your target is out of range, get closer!" 
#Event Recovered "You haven't recovered yet..." 
#Event CastResist "Your target resisted " 
#Event Distracted "You are too distracted to cast a spell now!" 
#Event NoTarget "You must first select a target for this spell!" 
#Event Sitting "You must be standing to cast a spell." 
#Event NoMem "You do not seem to have that spell memorized." 
#Event Stunned "You can't cast spells while stunned!" 


Sub SpellCommands 
   /varset Commands(3,0) sn 
   /varset Commands(3,1) mana 
   /varset Commands(3,2) evac 
   /varset Commands(3,3) aftercastsit 
   /varset Commands(3,4) loadlist 
   /varset Commands(3,5) snt 
   /varset ArraySpell 5 
/return    

Sub TellCmds-spell 
   /declare counter local 
   /declare cmds local 
   /varset cmds "" 
   /for counter 0 to @ArraySpell 
      /varcat cmds "@Commands(3,@counter), " 
   /next counter 
   /call ChatOut 5 @MasterName "@cmds." 
/return 

Sub SetupSpellVars 
   /declare CmdList-spell global 
   /declare DefaultSpellSet global 
   /declare EvacSpell global 
   /declare DoAgain global 
   /declare StartCast global 
   /declare SpellSlot global 
   /declare SpellName global 
   /declare CastTime global 
   /declare SitAfterCast global 
   /declare CTimer timer 
   /declare OOMtimer timer 
   /varset SitAfterCast $ini(@IniFile,"Spell",SitAfterCast) 
   /if "@SitAfterCast"=="NOTFOUND" { 
      /ini "@IniFile" Spell SitAfterCast 0 
      /varset SitAfterCast 0 
   } 
   /varset DefaultSpellSet $ini(@IniFile,"Spell",DefaultSpellSet) 
   /if "@DefaultSpellSet"=="NOTFOUND" { 
      /ini "@IniFile" Spell DefaultSpellSet "default" 
      /varset Relaytells "default" 
   } 
   /varset EvacSpell $ini(@IniFile,"Spell",EvacSpell) 
   /if "@EvacSpell"=="NOTFOUND" { 
      /ini "@IniFile" Spell EvacSpell "NONE" 
      /varset Relaytells "NONE" 
   } 
/return 

|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 

|WaitForStart 
|Used by SpellSub to determine when to start spell countdown. 
Sub WaitForStart 
   /cast @SpellSlot 
   :StartLoop 
   /doevents 
   /if n @Fail==1 /return 
   /if n @DoAgain==1 /return 
   /if n @StartCast==0 { 
      /goto :StartLoop 
   } 
   /varset CTimer "@CastTime"s 
/return 

Sub Event_CastStart 
   /varset StartCast 1 
/return 

Sub Event_CastFizzle 
   /delay 2 
   /varset DoAgain 1 
/return 

Sub Event_CastInterrupt 
   /delay 2 
   /if n @Fail==1 /return 
   /varset DoAgain 1 
/return 

Sub Event_Sitting 
   /stand 
   /delay 2 
   /varset DoAgain 1 
/return 

Sub Event_CastTooFar 
   /varset Fail 1 
   /call ChatOut 3 @MasterName "Too far away. " 
   /varset CTimer 0 
/return 

Sub Event_Distracted 
   /call ChatOut 5 @MasterName "I can't cast. I'm too distracted. " 
   /varset Fail 1 
   /varset CTimer 0 
/return 

Sub Event_NoTarget 
   /varset Fail 1 
   /call ChatOut 3 @MasterName "I don't know what target to cast on. " 
   /varset CTimer 0 
/return 

Sub Event_NoMem 
   /call ChatOut 5 @MasterName "That spell is not memed. " 
   /varset Fail 1 
   /varset CTimer 0 
/return 

Sub Event_RootOff 
   /call ChatOut 5 @MasterName "Root has worn off. " 
/return 

Sub Event_CastNoMana 
   /if @IsPally==1 { 
      /varset Fail 1 
      /if n @OOMtimer<=0 { 
         /call ChatOut 5 "@MasterName I am OOM!" 
         /varset OOMtimer 100 
         /return 
      } 
   } 
   /if n @OOMtimer<=0 /call ChatOut 5 @MasterName "OOM. Medding 13 seconds and trying again. " 
   /varset DoAgain 1 
   /sit off 
   /sit on 
   /varset OOMtimer 130 
   :medingwait 
   /delay 1 
   /doevents 
   /if n @OOMtimer>0 /goto :medingwait 
   /sit off 
/return 

Sub Event_Stunned 
   /call ChatOut 5 @MasterName "Stunned waiting 3 seconds to try again. " 
   /delay 3s 
   /varset DoAgain 1 
/return 

Sub Event_Recovered 
   /delay 2s 
   /varset DoAgain 1 
/return 

Sub Event_CastResist 
   /call ChatOut 3 @MasterName "%t Resisted." 
   /varset Fail 1 
/return 

Sub Event_Collapse 
   /varset DoAgain 1 
/return 

Sub Event_NoLOS 
   /call ChatOut 5 @MasterName "I can't see my target. " 
   /varset Fail 1 
   /varset CTimer 0 
/return 

|||||||||||||||Bot command subs 

Sub Do-sn 
   /assist @MasterName 
   /delay 5 
   /if $defined(Param1)==FALSE { 
      /return 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-snParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-snParamLoop 
         } 
      /tell "@MasterName" Casting @ParamString on %t 
      /call SpellSub "@ParamString" 
   } 
   /press esc 
/return 

Sub Do-mana 
   /target myself 
   /call ChatOut 2 @MasterName "$char(mana,pct)m" 
   /press esc 
/return 

Sub Do-loadlist 
   /if $defined(Param1)==FALSE { 
      /return 
   } else { 
   /memspellset @Param1 
   } 
/return 

Sub Do-aftercastsit 
   /if n @SitAfterCast==1 { 
      /varset SitAfterCast 0 
      /call ChatOut 5 @MasterName "I will no longer sit after casting." 
      /return 
   } 
   /if n @SitAfterCast==0 { 
      /varset SitAfterCast 1 
      /call ChatOut 5 @MasterName "I will now sit after casting." 
   } 
/return 

Sub Do-evac 
   /if @EvacSpell!=NONE /call ChatOut 5 @MasterName "Moving to you and casting @EvacSpell!" 
   /call Do-moveto evac @MasterName 
   /delay 2s 
   /if @EvacSpell!="NONE" /call SpellSub "@EvacSpell" 
/return 

Sub Do-itemcast 
   /if $char(state)=="SIT" { 
      /stand 
      /delay 3 
   } 
   /assist @MasterName 
   /delay 5 
   /varset CmdArrayNum 0 
   /if $defined(Param1)==FALSE { 
      /return 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-itemcastParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-itemcastParamLoop 
         } 
         /echo @ParamString 
      /cast item "@ParamString" 
   } 
   /call ChatOut 3 @MasterName "Using @ParamString on %t" 
/return 


Sub Do-snt 
   /declare SpellNameParam local 
   /declare TargetName local 
   /declare ParamCount local 
   /if $defined(Param1)==FALSE { 
      /return 
   } else { 
      /varset ParamCount 2 
      /varset SpellNameParam "@Param1" 
      :Do-sntSpellLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /if @Param$int(@ParamCount)=="on" /goto :Do-sntTargetStart 
            /varcat SpellNameParam " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-sntSpellLoop 
         } 
     :Do-sntTargetStart 
     /varadd ParamCount 1 
     /if $defined(Param$int(@ParamCount))==FALSE { 
        /return 
     }else { 
         /varset TargetName "@Param$int(@ParamCount)" 
         /varadd ParamCount 1 
        :Do-sntTargetLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat TargetName " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-sntTargetLoop 
         } 
      } 
      /target @TargetName 
      /delay 5 
      /if $target()==FALSE { 
         /call ChatOut 5 @MasterName "I failed to get a target." 
         /return      
      } 
      /call SpellSub "@SpellNameParam" 
      /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
      /press esc 
   } 
/return




this is what my person.ini looks like so far its sucks for starting out but trying to get to what I need.

Code: Select all

|personal.inc 
|Personal commands module. 


Sub PersonalCommands 
   /varset Commands(0,0) sheild
   /varset Commands(0,1) Fire
   /varset Commands(0,2) Ice
   /varset Commands(0,3) Lure
   /varset Commands(0,4) FFire
   /varset Commands(0,5) FIce
   /varset Commands(0,6) Nuke
   /varset Commands(0,7) Slow
   /varset Commands(0,8) Debuff
   /varset Commands(0,9) Hot
   /varset Commands(0,10) Invis
   /varset Commands(0,11) SelfInvis
   /varset Commands(0,12) Regen
   /varset Commands(0,13) Root
   /varset Commands(0,14) Snare
   /varset Commands(0,15) Symbol
   /varset Commands(0,16) Nine
   /varset Commands(0,17) FOS
   /varset Commands(0,18) SOE
   /varset Commands(0,19) AutoBehind 
   /varset ArrayPers 19 
/return 


Sub SetupPersonalVars 
|Personal Variables 
   /declare sheildSpell global 
   /varset sheildSpell $ini(@IniFile,"Personal",sheildSpell)" 
   /if "@sheildSpell"=="NOTFOUND" /ini "@IniFile" Personal sheildSpell "Sheild Spell" 
   
   /declare FireSpell global 
   /varset FireSpell "$ini(@IniFile,"Personal",FireSpell)" 
   /if "@FireSpell"=="NOTFOUND" /ini "@IniFile" Personal FireSpell "Fire Spell" 
   
   /declare IceSpell global 
   /varset IceSpell "$ini(@IniFile,"Personal",IceSpell)" 
   /if "@IceSpell"=="NOTFOUND" /ini "@IniFile" Personal IceSpell "Ice Spell" 
   
   /declare LureSpell global 
   /varset LureSpell "$ini(@IniFile,"Personal",LureSpell)" 
   /if "@LureSpell"=="NOTFOUND" /ini "@IniFile" Personal LureSpell "Lure Spell" 
   
   /declare FFireSpell global 
   /varset FFireSpell "$ini(@IniFile,"Personal",FFireSpell)" 
   /if "@FFireSpell"=="NOTFOUND" /ini "@IniFile" Personal FFireSpell "FFire Spell" 
   
   /declare FIceSpell global 
   /varset FIceSpell "$ini(@IniFile,"Personal",FIceSpell)" 
   /if "@FIceSpell"=="NOTFOUND" /ini "@IniFile" Personal FIceSpell "FIce Spell" 
   
   /declare NukeSpell global 
   /varset NukeSpell "$ini(@IniFile,"Personal",NukeSpell)" 
   /if "@NukeSpell"=="NOTFOUND" /ini "@IniFile" Personal NukeSpell "Nuke Spell" 
   
   /declare SlowSpell global 
   /varset SlowSpell "$ini(@IniFile,"Personal",SlowSpell)" 
   /if "@SlowSpell"=="NOTFOUND" /ini "@IniFile" Personal SlowSpell "Slow Spell" 
   
   /declare DebuffSpell global 
   /varset DebuffSpell "$ini(@IniFile,"Personal",DebuffSpell)" 
   /if "@DebuffSpell"=="NOTFOUND" /ini "@IniFile" Personal DebuffSpell "Debuff Spell"

   /declare HotSpell global 
   /varset HotSpell "$ini(@IniFile,"Personal",HotSpell)" 
   /if "@HotSpell"=="NOTFOUND" /ini "@IniFile" Personal HotSpell "Heal Over Time Spell" 
   
   /declare InvisSpell global 
   /varset InvisSpell "$ini(@IniFile,"Personal",InvisSpell)" 
   /if "@InvisSpell"=="NOTFOUND" /ini "@IniFile" Personal InvisSpell "Invis Spell" 

   /declare SelfInvisSpell global 
   /varset SelfInvisSpell "$ini(@IniFile,"Personal",SelfInvisSpell)" 
   /if "@SelfInvisSpell"=="NOTFOUND" /ini "@IniFile" Personal SelfInvisSpell "Self Invis Spell"

   /declare RegenSpell global 
   /varset RegenSpell "$ini(@IniFile,"Personal",RegenSpell)" 
   /if "@RegenSpell"=="NOTFOUND" /ini "@IniFile" Personal RegenSpell "Regen Spell"

   /declare RootSpell global 
   /varset RootSpell "$ini(@IniFile,"Personal",RootSpell)" 
   /if "@RootSpell"=="NOTFOUND" /ini "@IniFile" Personal RootSpell "Root Spell" 

   /declare SnareSpell global 
   /varset SnareSpell "$ini(@IniFile,"Personal",SnareSpell)" 
   /if "@SnareSpell"=="NOTFOUND" /ini "@IniFile" Personal SnareSpell "Snare Spell" 

   /declare Symbolspell global 
   /varset Symbolspell "$ini(@IniFile,"Personal",Symbolspell)" 
   /if "@Symbolspell"=="NOTFOUND" /ini "@IniFile" Personal Symbolspell "Symbol spell" 

   /declare Ninespell global 
   /varset Ninespell "$ini(@IniFile,"Personal",Ninespell)" 
   /if "@Ninespell"=="NOTFOUND" /ini "@IniFile" Personal Ninespell "Symbol Spell"

   /declare FOSspell global 
   /varset FOSspell "$ini(@IniFile,"Personal",FOSspell)" 
   /if "@FOSspell"=="NOTFOUND" /ini "@IniFile" Personal FOSspell "Focus Spell"

   /declare SOEspell global 
   /varset SOEspell "$ini(@IniFile,"Personal",SOEspell)" 
   /if "@SOEspell"=="NOTFOUND" /ini "@IniFile" Personal SOEspell "SOE Spell"
   

/declare MountItem global
/varset MountItem "$ini(@IniFile,"Personal",MountItem)" 
/if "@MountItem"=="NOTFOUND" /ini "@IniFile" Personal MountItem "Name of Mount Item" 






   /declare AutoBehind global 
   /varset AutoBehind "$ini(@IniFile,"Personal",AutoBehind)" 
   /if "@AutoBehind"=="NOTFOUND" /ini "@IniFile" Personal AutoBehind 0 



|||||||||||||||||||||||| 
   |Non INI vars. 
   /declare LomTimer timer 
/return 



Sub TellCmds-personal 
   /declare counter local 
   /declare cmds local 
   /varset cmds "" 
   /for counter 0 to @ArrayPers 
      /varcat cmds "@Commands(0,@counter), " 
   /next counter 
   /msg @MasterName @cmds 
/return 




|Things that you want to happen every loop through the macro go in this sub. 
Sub PersonalMain 
/if n @ReportLom==1 /call CheckMana 
   /if n @AutoBehind==1 { 
      /if n @Combatstatus==1 { 
         /if $target()==TRUE { 
            /if n $distance($calc($target(y)-$cos($target(heading))*10),$calc($target(x)-$sin($target(heading))*10))>6 { 
               /call Do-behind 
            } 
         } 
      } 
   } 
/return 

Sub CheckMana 
   /if @LomTimer>0 { 
      /if $char(mana,pct)<@LomPct { 
         /call ChatOut 5 @MasterName "@LomMsg" 
         /varset LomTimer 2m 
      } 
   } 
/return 


Sub Do-Spellsheild 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-fireParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-fireParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @FireSpell on %t." 
   /call SpellSub "@FireSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-Fire 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-fireParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-fireParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @FireSpell on %t." 
   /call SpellSub "@FireSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 


Sub Do-Ice
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-fireParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-fireParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @FireSpell on %t." 
   /call SpellSub "@FireSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 


Sub Do-Lure 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-fireParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-fireParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @FireSpell on %t." 
   /call SpellSub "@FireSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 


Sub Do-FFire 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-fireParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-fireParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @FireSpell on %t." 
   /call SpellSub "@FireSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 


Sub Do-FIce 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-fireParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-fireParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @FireSpell on %t." 
   /call SpellSub "@FireSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 


Sub Do-Nuke 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-fireParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-fireParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @FireSpell on %t." 
   /call SpellSub "@FireSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 




Sub Do-autobehind 
   /if $defined(Param1)==FALSE { 
      /if n @AutoBehind==0 /call ChatOut 3 @MasterName "I won't position myself behind the mob." 
      /if n @AutoBehind==1 /call ChatOut 3 @MasterName "I will position myself behind the mob." 
      /return 
   } 
   /if "@Param1"=="Off" { 
      /varset AutoBehind 0 
      /call ChatOut 5 @MasterName "I will no longer position myself behind the mob." 
   } 
   /if "@Param1"=="On" { 
      /varset AutoBehind 1 
      /call ChatOut 5 @MasterName "I will now position myself behind the mob." 
   } 
/return 

Code: Select all

[Core]
RangeMin=10
RangeMax=12
FastRange=14
FastMin=6
Relaytells=1
ListenGroup=1
ListenChat=1
ListenChan=Listen channel
AttackOnAssist=0
BehindOnAssist=0
PetOnAssist=0
Verbosity=9
ChatIn=Tell
IgnoreInGroup=duck|say|tell|group|cmds|trade|run|backstab|taunt|evade|slam|bash|kick|flyingkick|disarm|traps|puller||
DelayBeforeSit=3s
AnchorRadius=6
[Spell]
SitAfterCast=0
DefaultSpellSet=default
EvacSpell=NONE
[Combat]
DoBackstab=0
DoTaunt=0
DoEvade=0
DoSlam=0
DoBash=0
DoKick=0
DoFlyingKick=0
DoDisarm=0
DoTraps=0
Aggressive=0
AutoEngage=0
[Healer]
IsHealer=0
IsPally=0
ReportAutoHeal=1
CasterHealIsHot=0
HotDelay=60
HealPets=0
PatchHealer=1
TankSpell=Name of heal spell autoheal uses on Tanks
CasterSpell=Name of heal spell autoheal uses on Non Tanks
DefaultHealSpell=Name of Default Heal Spell
PetSpell=Name of Pet Heal Spell
PatchSpell=Name of Patch Heal Spell
HealCasterMsg=Healing %t
HealTankMsg=Big Heal on %t
HealPetMsg=Healing %t
PalHealMsg=Healing %t
PatchHealMsg=Patch Healing %t
PallyGroupSpell=Name of Pally Group Heal Spell
PallyHealSpell=Name of Pally Heal Spell
CasterPctHeal=70
TankPctHeal=51
PalGrpPct=81
PetPctHeal=51
PalHealPct=81
TankList=Warrior|Shadow Knight|Paladin|Monk|Beastlord|Ranger|Shaman
CasterList=Necromancer|Wizard|Enchanter|Magician|Rogue|Druid|Cleric|Bard
=
[Personal]
sheildSpell=Sheild Spell
FireSpell=Fire Spell
IceSpell=Ice Spell
LureSpell=Lure Spell
FFireSpell=FFire Spell
FIceSpell=FIce Spell
NukeSpell=Nuke Spell
SlowSpell=Slow Spell
DebuffSpell=Debuff Spell
HotSpell=Heal Over Time Spell
InvisSpell=Invis Spell
SelfInvisSpell=Self Invis Spell
RegenSpell=Regen Spell
RootSpell=Root Spell
SnareSpell=Snare Spell
Symbolspell=Symbol spell
Ninespell=Symbol Spell
FOSspell=Focus Spell
SOEspell=SOE Spell
MountItem=Name of Mount Item
AutoBehind=0