Stick mac for SK. With spell timer, auto resnare.

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

honduras
orc pawn
orc pawn
Posts: 14
Joined: Sat Aug 30, 2003 5:22 pm

Stick mac for SK. With spell timer, auto resnare.

Post by honduras » Sun May 30, 2004 1:16 am

Code original from stix

1) made a resnare, re dot.
2) timer for Zefeer's bite

Code: Select all

| Stick.mac
#include spellcast.inc
#Event rageon "#*#has become ENRAGED#*#"
#Event rageoff "#*#is no longer enraged#*#"
#Event stunned "#*#while stunned#*#"
#Event Darkness "#*#Your Festering Darkness spell has worn off#*#"
#Event Blood "#*#Your Blood of Hate spell has worn off#*#"
#Event STOP "#*#Stop A#*#"
sub main 
    
/echo STICK MAC STARTED
/declare mytimer timer outer 0
/varset mytimer 4s
 
:Loop 
         /if (${Target.Distance}>15) /keypress forward hold 
      /if (${Target.Distance}<10) /keypress forward 
      /face fast 
     /doevents
     /if (!${mytimer} && ${Me.SpellReady["Zevfeer's Bite"]}) { 
     /call cast "zevfeer's bite"
       /varset mytimer 80s 
}
    /if (${Me.AbilityReady[bash]} && ${Target.Distance}<15) /doability "bash" 
   /if (${Me.AbilityReady[Disarm]} && ${Target.Distance}<15) /doability "Disarm"
   /if (${Me.AbilityReady[begging]} && ${Target.Distance}<15) { 
      /attack off 
      /face fast
      /delay 1 
      /doability "begging" 
      /attack on 
   } 
   /if (${Target.ID}) /goto :loop 
   /keypress back 
   /attack off
   /end
   /return

sub event_rageon 
   /if (${Target.CurrentHPs}>10) /return 
   /popup ENRAGED ATTACK OFF 
   /attack off 
   /return 

sub event_rageoff 
   /if (${Target.CurrentHPs}>10) /return 
   /popup Rage OFF, ATTACKING NOW 
   /attack on 
   /return 

Sub Event_Blood
 /if (${Target.CurrentHPs}<20) /return 
 /popup casting <Blood of Hate>
 /call cast "Blood of Hate"
 /return


Sub Event_Darkness
 /popup casting <Festering Darkness>
 /call cast "Festering Darkness"
 /return

sub event_stunned 
   /popup STUNNED STUNNED STUNNED 
   /return

sub event_Stop
/popup Stop ATTACKING
/attack off
/end
THE spellcast.inc but added the #*#

Code: Select all

 
| SpellCast.inc 
| 
| Usage: 
|       /call Cast "spellname|itemname|AA#" [item|activate] 
| 
| This would essentially: /cast "Death Peace" 
| example: /call Cast "Death Peace" 
| 
| This would essentially: /cast item "White Rope Bridle" 
| example: /call Cast "White Rope Bridle" item 
| 
| This would essentially: /alt activate 169 
| example: /call Cast "169" activate 
| 
| It will return the following values: 
| CAST_SUCCESS 
| CAST_UNKNOWNSPELL 
| CAST_OUTOFMANA 
| CAST_OUTOFRANGE 
| CAST_CANNOTSEE 
| CAST_STUNNED 
| CAST_RESISTED 
| CAST_TOOK2LONG 
| CAST_ABILITYNOTREADY 
| CAST_IMMUNESLOW 
| 
| New Vars Modification 
| Plazmic's no globals needed version 
| 
| Oct 09, 2003 - Updated to work with new vars and $char(casting) -gf 
| Oct 11, 2003 - switched some logic, removed defines -gf 
| Oct 15, 2003 - Item support added by -EqMule 
| XXX xx, xxxx - Modified to add automeming of spells. -Goofmester1 
| Dec 26, 2003 - fd fail 1 added -m0nk 
| Jan 01, 2004 - timeout(5s) added to stop "dead-time" -m0nk 
| Jan 01, 2004 - switchd fdfail to a standing check. -m0nk 
| Jan 01, 2004 - added silence checking as a stun check -m0nk 
| Feb 17, 2004 - added AA activate capabilities -ml2517 
| Apr 11, 2004 - Updated for new Parm system -ml2517 
| Apr 12, 2004 - Will spit out a different message on immune to slows. -ml2517 
| Apr 16, 2004 - Removed /sendkeys and replaced with /keypress. -ml2517 
| Apr 17, 2004 - Various code enhancements. -Wassup 
| Apr 20, 2004 - Updated all of the /if's to have parenthesis. -ml2517 
| Apr 25, 2004 - Updated to new variable system. -ml2517 
| Apr 29, 2004 - Fixed Item problem -ml2517 
| Apr 29, 2004 - Changed the alt ability to use AltAbilityReady instead of an event. -ml2517 
| 

#event Fizzle "#*#Your spell fizzles#*#" 
#event Interrupt "#*#Your casting has been interrupted#*#" 
#event Interrupt "#*#Your spell is interrupted#*#" 
#event Recover "#*#You haven't recovered yet#*#" 
#event Recover "#*#Spell recovery time not yet met#*#" 
#event Resisted "#*#Your target resisted the#*#" 
#event OutOfMana "#*#Insufficient Mana to cast this spell!#*#" 
#event OutOfRange "#*#Your target is out of range, get closer!#*#" 
#event NoLOS "#*#You cannot see your target#*#" 
#event Stunned "#*#You cannot cast while stunned#*#" 
#event Stunned "#*#You *CANNOT* cast spells, you have been silenced!#*#" 
#event Standing "#*#You must be standing to cast a spell#*#" 
#event Standing "#*#has fallen to the ground.#*#" 
#event Collapse "#*#Your gate is too unstable, and collapses.#*#" 
#event ImmuneSlow "#*#Your target is immune to changes in its attack speed.#*#" 


Sub Cast(SpellName,ItemFlag) 
   /if (!${Defined[CastGiveUpTime]}) /declare CastGiveUpTime timer local 
   /if (!${Defined[ItemFlag]}) /declare ItemFlag string local 
   /if (${Me.Speed}>0) { 
       /keypress forward 
       /keypress back 
       /delay 8 
   } else { 
       /delay 4 
   } 
   /if ((${String["${ItemFlag}"].Equal["Item"]})||(${String["${ItemFlag}"].Equal["Activate"]})) /goto :StartCast 

   /if (!${Me.Gem["${SpellName}"]}) { 
      /memspell 5 "${SpellName}" 
      /delay 5s 
   } 
   :StartCast 
      /varset CastGiveUpTime 5s 
   :CastNow 
      /if (${String["${ItemFlag}"].Equal["Item"]}) { 
         /call ClearReturnValue 
         /cast item "${SpellName}" 

      } else /if (${String["${ItemFlag}"].Equal["Activate"]}) { 
         /call ClearReturnValue 
         /if (!${Me.AltAbilityReady[${SpellName}]}) /return CAST_ABILITYNOTREADY 
         /alt activate "${SpellName}" 
      } else { 
         /if (!${Me.Gem["${SpellName}"]}) /return CAST_UNKNOWNSPELL 
         /call ClearReturnValue 
         /if (!${Me.SpellReady["${SpellName}"]}) { 
            /if (${CastGiveUpTime}==0) /return CAST_TOOK2LONG 
            /delay 1 
            /goto :CastNow 
            } 
         /cast "${SpellName}" 
         } 
   :WaitCast 
      /if (${Me.Casting.ID}) { 
      /delay 1 
      /goto :WaitCast 
      } 
   /delay 1 
   /doevents Fizzle 
   /doevents Interrupt 
   /doevents Interrupt 
   /doevents Recover 
   /doevents Standing 
   /doevents OutOfRange 
   /doevents OutOfMana 
   /doevents NoLOS 
   /doevents Resisted 
   /doevents ImmuneSlow 
   /doevents Stunned 
   /doevents Collapse 
   /if (${Macro.Return.Equal["CAST_RESTART"]}) /goto :StartCast 
   /if (!${Macro.Return.Equal["NULL"]}) /return ${Macro.Return} 
/return CAST_SUCCESS 

Sub ClearReturnValue 
/return NULL 

Sub Event_Fizzle 
/return CAST_RESTART 

Sub Event_Interrupt 
/return CAST_RESTART 

Sub Event_Recover 
   /delay 5 
/return CAST_RESTART 

Sub Event_Standing 
   /stand 
/return CAST_RESTART 

Sub Event_Collapse 
/return CAST_RESTART 

Sub Event_OutOfMana 
/return CAST_OUTOFMANA 

Sub Event_OutOfRange 
/return CAST_OUTOFRANGE 

Sub Event_NoLOS 
/return CAST_CANNOTSEE 

Sub Event_Stunned 
   /delay 1s 
/return CAST_RESTART 

Sub Event_Resisted 
/return CAST_RESISTED 

Sub Event_ImmuneSlow 
/return CAST_IMMUNESLOW 

Hot key - to snare when someone forgot to snare.

Code: Select all

|Snare.mac

#include spellcast.inc
Sub Main 
/call cast "festering darkness"
/macro stick 
/return
Now u can one hand play EQ, the other hand is free to do something else :cool:

A Troll
a lesser mummy
a lesser mummy
Posts: 30
Joined: Fri May 21, 2004 10:04 am

Post by A Troll » Sun May 30, 2004 6:47 am

Hi , im not a programmer, only work with try and error.
So it got an stupid question , for what are the #*# ?

macrolover
a ghoul
a ghoul
Posts: 107
Joined: Sun Jul 14, 2002 9:19 am

events

Post by macrolover » Sun May 30, 2004 9:05 am

they are for the new events. you now need them