• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->
  • Unfortunately, yes, there is a suspension wave happening around the new tlp launch. :'( Please keep regular discussion to Suspension MegaThread and please consider submitting a Suspension report to RG.

snare help (1 Viewer)

Majic

New member
Joined
Oct 29, 2005
RedCents
I need alittle help with a snare routine I got the easy part for it to snare and to do it at 30% but what happens is it keep casting everytime my snare pops back up what can I do?

Rich (BB code):
:snare
         /if (${Target.PctHPs} <30) {
            /call cast "${SnareSpell}" ${SnareSpellGem}
 
This is about the simplest way to check it.
Check the events, I don't think the trigger text is correct.

Also, this will act as if the snare has worn of the target, if a mob nearby dies as well, since it doesn't check it on the ID/name.

You might wanna make a "wore off" event as well that sets the Snared variable to FALSE.

Rich (BB code):
#Event Snared   "#1# has been ensnared."
#Event Snared   "#1#'s feet is dragged down by vines."
#Event TargetDied  "#1# has died."
Sub Main
    /declare Snared     bool    outer   FALSE
    :loop
        /doevents
        /if (${Target.PctHPs} < 30 && !${Snared}) /call cast "${SnareSpell}" ${SnareSpellGem}
    /goto :loop
/return

Sub Event_Snared
    /varset Snared TRUE
/return

Sub Event_TargetDied
    /varset Snared FALSE
/return
 
Small modification to remove checking for death of mob. It will keep a timer for the duration of the snare (Define duration in snaretime variable. (1m=1 minute, 90s=90 seconds, 10=1 second.)

Basically what this does is it creates a timer for each targetid it snares. When it initially checks for snare this variable is NULL as its not defined. Once the timer runs out (if its still alive and your still targeting the mob) it will recast snare as an elapsed timer is equal to 0 (which makes the statement check out).

The reason for this different variables it creases is it will keep track of the timer for multiple mobs if you have them in camp.

Rich (BB code):
#Event Snared   "#*# has been ensnared."
#Event Snared   "#*# is dragged down by dark vines."
#Event Snared   "#*# is surrounded by darkness."
#Event Snared   "#*#'s legs buckle."

Sub Main
    /declare snaretime string 1m
    :loop
        /doevents
        /if (${Target.PctHPs} < 30 && !${Snared${Target.ID}}) /call cast "${SnareSpell}" ${SnareSpellGem}
    /goto :loop
/return

Sub Event_Snared
    /if (!${Defined[Snared${Target.ID}]}) /declare Snared${Target.ID} timer outer
    /varset Snared${Target.ID} ${snaretime}
/return
 
OK here is the full macro. I have tried playing with all the option I have gotten above and it still seems to want to cast over and over again. Maybe looking at the whole thing will help.
Rich (BB code):
#include spell_routines-2.4.inc
#event NoShield "You need to equip a shield in order to BASH"
#Event Snare     "#*#engulfed by a festering darkness#*#
#Event TargetDied  "#1# has died."

Sub Main
   /declare face int local
	/declare Snared     bool    outer   FALSE

   /echo ${Macro.Name} Started....
   /varset face ${Param0}
   /if (${Defined[Param1]}) {
      /if (${Param1.Equal[0]}) {
      /echo Taunt OFF
      /echo Bash ON
      /goto :LoopBash
      }
      /if (${Param1.Equal[1]}) {
      /echo Taunt ON
      /echo Bash OFF
      /goto :LoopTaunt
      }
      /if (${Param1.Equal[2]}) {
      /echo Taunt OFF
      /echo Bash OFF
      /goto :LoopDisarm
      }
   } else {
   /varset face 0
   /echo Snare ON
   /echo Taunt ON
   /echo Bash ON
   /goto :LoopBoth
   } 

:LoopBoth
   /doevents
   /if (${Me.Buff[Form of Defense III].Duration.}<1 && !${Target.Type.Equal[NPC]}) /call cast "Hanvar's Hoop" item
   /if (${Me.Buff[Taelosian Guard].Duration.}<1 && !${Target.Type.Equal[NPC]}) /call cast "Ring of Organic Darkness" item
   /if (${Me.Buff[Aura of Rage].Duration.}<1 && !${Target.Type.Equal[NPC]}) /call cast "Fabled Shrunken Goblin Skull Earring" item
   /if (${Me.Combat}) {
      /if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
         /if (${face}==1) /face nolook
         /if (${Me.Casting.ID}) /goto :LoopBoth
         /if (${Target.PctHPs} <30) /goto :snare
         /if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
         /if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
         /if (${Target.Distance}<=15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
	}
   }
   /delay 5
   /goto :LoopBoth

:LoopBash
   /doevents
   /if (${Me.Combat}) {
      /if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
         /face nolook
         /if (${Me.Casting.ID}) /goto :LoopBash
         /if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
         /if (${Target.Distance}<=15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
      }
   }
   /delay 5
   /goto :LoopBash

:LoopTaunt
   /if (${Me.Combat}) {
      /if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
         /face nolook
         /if (${Me.Casting.ID}) /goto :LoopTaunt
         /if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
         /if (${Target.Distance}<=15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
      }
   }
   /delay 5
   /goto :LoopTaunt

:LoopDisarm
   /if (${Me.Combat}) {
      /if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
         /face nolook
         /if (${Me.Casting.ID}) /goto LoopDisarm
         /if (${Target.Distance}<=15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
      }
   }
   /delay 5
   /goto :LoopDisarm
/return

:snare
        /doevents
        /call cast "Festering Darkness" gem4
    /goto :loopboth

Sub Event_NoShield
   /echo No shield. Exiting.
   /end
/return

Sub Event_Snared
    /varset Snared TRUE
/return

Sub Event_TargetDied
    /varset Snared FALSE
/return

Its really just a bash macro I added some clickies too and wanted to add snare to cause sometime i zone out and forget.
 
Rich (BB code):
#include spell_routines-2.4.inc
#event NoShield "You need to equip a shield in order to BASH"
#Event Snared     "#*#engulfed by a festering darkness#*#

Sub Main
   /declare face int local
   /declare snaretime string local 90s

   /echo ${Macro.Name} Started....
   /varset face ${Param0}
   /if (${Defined[Param1]}) {
      /if (${Param1.Equal[0]}) {
      /echo Taunt OFF
      /echo Bash ON
      /goto :LoopBash
      }
      /if (${Param1.Equal[1]}) {
      /echo Taunt ON
      /echo Bash OFF
      /goto :LoopTaunt
      }
      /if (${Param1.Equal[2]}) {
      /echo Taunt OFF
      /echo Bash OFF
      /goto :LoopDisarm
      }
   } else {
   /varset face 0
   /echo Snare ON
   /echo Taunt ON
   /echo Bash ON
   /goto :LoopBoth
   } 

:LoopBoth
   /doevents
   /if (${Me.Buff[Form of Defense III].Duration.}<1 && !${Target.Type.Equal[NPC]}) /call cast "Hanvar's Hoop" item
   /if (${Me.Buff[Taelosian Guard].Duration.}<1 && !${Target.Type.Equal[NPC]}) /call cast "Ring of Organic Darkness" item
   /if (${Me.Buff[Aura of Rage].Duration.}<1 && !${Target.Type.Equal[NPC]}) /call cast "Fabled Shrunken Goblin Skull Earring" item
   /if (${Me.Combat}) {
      /if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
         /if (${face}==1) /face nolook
         /if (${Me.Casting.ID}) /goto :LoopBoth
         /if (${Target.PctHPs}<30 && !${Snared${Target.ID}}) /goto :snare
         /if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
         /if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
         /if (${Target.Distance}<=15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
	}
   }
   /delay 5
   /goto :LoopBoth

:LoopBash
   /doevents
   /if (${Me.Combat}) {
      /if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
         /face nolook
         /if (${Me.Casting.ID}) /goto :LoopBash
         /if (${Target.Distance}<=17 && ${Me.AbilityReady[Bash]}) /doability "Bash"
         /if (${Target.Distance}<=15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
      }
   }
   /delay 5
   /goto :LoopBash

:LoopTaunt
   /if (${Me.Combat}) {
      /if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
         /face nolook
         /if (${Me.Casting.ID}) /goto :LoopTaunt
         /if (${Target.Distance}<=17 && ${Me.AbilityReady[Taunt]}) /doability "Taunt"
         /if (${Target.Distance}<=15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
      }
   }
   /delay 5
   /goto :LoopTaunt

:LoopDisarm
   /if (${Me.Combat}) {
      /if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
         /face nolook
         /if (${Me.Casting.ID}) /goto LoopDisarm
         /if (${Target.Distance}<=15 && ${Me.AbilityReady[Disarm]}) /doability "Disarm"
      }
   }
   /delay 5
   /goto :LoopDisarm
/return

:snare
        /doevents
        /call cast "Festering Darkness" gem4
    /goto :loopboth

Sub Event_NoShield
   /echo No shield. Exiting.
   /end
/return

Sub Event_Snared
    /if (!${Defined[Snared${Target.ID}]}) /declare Snared${Target.ID} timer outer
    /varset Snared${Target.ID} ${snaretime}
/return
 
Last edited:
Hmm I copy pasted your edits to a new macro and it still keeps firing off snare on the mob everytime the spell refreshes. And I do thank you all very much for trying to help me out. Now if I can just get it working lol
 
snare help

Users who are viewing this thread

Back
Top