• 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 --->

assist macro (1 Viewer)

Donnavan2005

New member
Joined
May 30, 2005
RedCents
Before I try hacking a few macros together to try and make a macro that will assist the main tank with each pull, let me ask, is there one written out there already?
 
This is the one i use... just a chopped up monk assist macro... Set right now to do nothing other than DPS.

Rich (BB code):
| Hacked Monk DPS Bitch Boy[ex-puller] By Ccomp5950 V2.5
| 4-26-05 5:57pm 
| 
| 

#Chat group

#event Zoned          		"#*#LOADING, PLEASE WAIT...#*#"
#Event Unduck          		"#*#You must be standing to attack!#*#"
#Event BitchBoyHit     		"#*#YOU for#*#points of damage.#*#
#Event SwitchTargets  		"#*#tells the group, 'Switch Targets#*#"
#Event SitBooBoo       		"#*#tells the group, 'Back off'"
#Event YourFDSkillSucks         "#*#has fallen to the ground#*#"
Sub Main 

   |------------------------------------------------------------ 
   | Mend at in %.  IE if you want to mend when your down to 50% you would set this to 50. 
   |------------------------------------------------------------ 
   /declare RV_MendPct      int outer 75
   |------------------------------------------------------------ 
   | How far is the combat range? 
   |------------------------------------------------------------ 
   /declare RV_Range        int outer 10 
   |------------------------------------------------------------
   | What % HP do you wish to assist at?
   |------------------------------------------------------------
   /declare RV_Assistat     int outer 97
   |------------------------------------------------------------ 
   | Don't worry about the rest.
   |------------------------------------------------------------
 

    /echo -------------------------------------- 
    /echo Monk Bitch Boy 2.5 Initializing 
    /echo -----{Real Monks Pull!~}-----
    /echo --------------------------------------
    /echo  
   /declare RV_Looper            int outer  0
   /declare RV_MyTargetID        int outer  0 
   /declare RV_MyTargetName      string outer 
   /declare RV_MyTargetDead      int outer  0 
   /declare RV_RandomWait        int outer  0 
   /declare RV_CheckLook         int outer  0 
   /declare RV_Fighting          int outer  0 
   /declare RV_TargetDead        int outer  0 
   /declare RV_MyXLOC            int outer  0 
   /declare RV_MyYLOC            int outer  0 
   /declare AnchorX              int outer ${Me.X} 
   /declare AnchorY              int outer ${Me.Y} 
   /declare RV_resetheading      int outer ${Me.Heading.DegreesCCW.Int}
   /declare NotBitchBoy		 string outer ${Target.CleanName}
   /declare NotBitchBoysID	 int outer ${Target.ID} 
   /declare SitBooBooID		 int outer
   /declare RV_FastRange         int outer 
   /declare RV_RangeMax          int outer 
   /declare RV_RangeMin          int outer 
   /declare RV_Subreset          int outer 0
   /declare RV_Rangedw		 int outer
   /declare Exper                float outer 
   /declare AAExp                float outer
   /declare Mobs_Killed          int outer 0
   /varset Exper                 ${Me.PctExp} 
   /varset AAExp                 ${Me.PctAAExp} 
   /varcalc RV_FastRange         ${RV_Range}+3 
   /varcalc RV_RangeMax          ${RV_Range}+1 
   /varcalc RV_RangeMin          ${RV_Range}-1 
   /varcalc RV_Rangedw           ${RV_Rangedw} - 10   


   
   /if (${Target.Type.NotEqual["PC"]}) /call WhatTheFuckBitch
   :Start 
   /doevents
   /call GMCheck 
   /doevents
   /call GetTarget 
 
   /doevents
   /call CombatSub 
   /doevents
   /call MoveToMob 
   /call ResetSub 

   /goto :Start

/return



|-------------------------------------------------------------------------------- 
|SUB: Aquire Target 
|-------------------------------------------------------------------------------- 
Sub GetTarget 
:NotYetBitchBoy
/assist ${NotBitchBoy}
/delay 4
/if (!${Target.ID}) /goto :NotYetBitchBoy
/if ((${Target.ID}!=${NotBitchBoysID}) && (${Target.PctHPs}<${RV_Assistat}) && (${Target.Distance}<150)) /return
/goto :NotYetBitchBoy
/delay 3s
/return
|-------------------------------------------------------------------------------- 
|SUB: GM Check 
|-------------------------------------------------------------------------------- 
Sub GMCheck 
/doevents 
   /if (${Spawn[gm].ID}) { 
      /beep 
      /beep 
      /beep 
      
      /echo GM has entered the zone! 
      /echo FUCK HIM but ending the macro... 

      /keypress forward 
      /keypress back 

      /quit 
      /endmacro 
   } 
    
/return 

|-------------------------------------------------------------------------------- 
|SUB: Where's the group?. 
|-------------------------------------------------------------------------------- 

Sub CheckAnchor    
	/if (${Math.Distance[${AnchorY},${AnchorX}]}>8) /call MoveToAnchor    
/return 

|-------------------------------------------------------------------------------- 
|SUB: Move back to group. 
|-------------------------------------------------------------------------------- 
Sub MoveToAnchor 
    /declare iCount int local 
    /varset iCount 0 

|    /echo Moving to Anchor at Loc: ${AnchorY}, ${AnchorX}. 
    /varset RV_MyXLOC ${Int[${Me.X}]} 
    /varset RV_MyYLOC ${Int[${Me.Y}]} 
    /declare RV_DistanceTimer timer 15
:AnchorMoveLoop 
    /delay 1 
    /doevents 
    /face fast nolook loc ${AnchorY},${AnchorX} 
    
    /if (${Math.Distance[${AnchorY},${AnchorX}]}>12) { 
       /keypress forward hold 
    } else { 
       /keypress forward 
       /face fast away nolook loc ${AnchorY},${AnchorX} 
       /return 
    } 

    /if (${iCount}>2) { 
        /face fast nolook loc ${AnchorY},${AnchorX} 
        /varset iCount 0 
    }
    /if (!${RV_DistanceTimer}) { 
      /if ((${RV_MyXLOC}==${Int[${Me.X}]})&&(${RV_MyYLOC}==${Int[${Me.Y}]})) /call HitObstacle
      /varset RV_MyXLOC ${Int[${Me.X}]} 
      /varset RV_MyYLOC ${Int[${Me.Y}]} 
      /varset RV_DistanceTimer 15 
      }  
     }	
    
    /varcalc iCount ${iCount}+1 
    /goto :AnchorMoveLoop 

/return 

|-------------------------------------------------------------------------------- 
|SUB: Obstacle Avoidance 
|-------------------------------------------------------------------------------- 
Sub HitObstacle 
/gsay 
/gsay 
/doability "Feign Death"
/endmacro
/return 
|-------------------------------------------------------------------------------- 
|SUB: Reset 
|-------------------------------------------------------------------------------- 
Sub ResetSub 
   /call CheckAnchor 
   /varset RV_TargetDead 0 
   /varset RV_Fighting 0 
   /doevents 
   /attack off
   /keypress ESC 
   /face fast heading ${RV_resetheading}
   /return


|-------------------------------------------------------------------------------- 
|SUB: Moving 
|-------------------------------------------------------------------------------- 
Sub MoveToMob 

   /varset RV_MyXLOC ${Int[${Me.X}]} 
   /varset RV_MyYLOC ${Int[${Me.Y}]} 
   /declare RV_DistanceTimer timer 15 
    
   /doevents 
    
   :MovementLoop 
   /doevents
   /if ((${Target.Type.Equal["Corpse"]})&&(${Int[${Target.Distance}]}>20)) {
        /keypress forward hold
        /delay 1
        /goto :Movementloop
   }     

   /if ((${Target.Type.Equal["Corpse"]})&&(${Int[${Target.Distance}]}<20)) /return


   /if (${Target.ID}) { 
      /face fast nolook
   } 
   /if (${Int[${Target.Distance}]}>${RV_FastRange}) { 
      /keypress forward hold 
   } 
   /if (${Int[${Target.Distance}]}<${RV_FastRange}&&${Int[${Target.Distance}]}>${RV_RangeMax}) { 
      /keypress forward 
   } 
   /if (${Int[${Target.Distance}]}<${RV_RangeMin}) { 
      /keypress back
      /delay 3 
   } 
   /if (!${RV_DistanceTimer}) { 
      /doevents
      /if ((${RV_MyXLOC}==${Int[${Me.X}]})&&(${RV_MyYLOC}==${Int[${Me.Y}]})) /call HitObstacle 
      /varset RV_MyXLOC ${Int[${Me.X}]} 
      /varset RV_MyYLOC ${Int[${Me.Y}]} 
      /varset RV_DistanceTimer 15 
      /goto :Movementloop 
   } 
   /if (${Int[${Target.Distance}]}>${RV_FastRange}) /goto :MovementLoop 

/return 

|--------------------------------------------------------------------------
|SUB PULL: Should only be called when pulling, hopefully MovetoMob is called rest of time
|Will check Line of Sight and if needed use way points to get to mobs.  If used way points
|it will call them again in reverse order to get back to the camp after agroing the mob.
|--------------------------------------------------------------------------

|Removed since your a bitch boy, you don't do this.

|-------------------------------------------------------------------------------- 
|SUB: Combat (This is where you macro should be while beating the mob up)
|-------------------------------------------------------------------------------- 
Sub CombatSub 

   /varset RV_Fighting 1 
   /varset RV_TargetDead 0 
   /if ((${Target.ID})&&(${Target.Type.Equal["NPC"]})) /attack on
 
:CombatLoop 
   /doevents 
   /attack on
/keypress 2   
/assist aggronia
/call MoveToMob 


   }
   :nocombat
   /if ((!${Target.ID}) || (${Target.Type.Equal["Corpse"]})) { 
      /varcalc Mobs_Killed (${Mobs_Killed}+1)  
      /attack off 
      /keypress forward 
      /keypress back 
      /keypress esc
      /varset AAExp ${Math.Calc[${Me.PctAAExp}-${AAExp}]} 
      /varset Exper ${Math.Calc[${Me.PctExp}-${Exper}]} 
      /echo EXP: ${Exper}:${Me.PctExp}% - AAXP: ${AAExp}:${Me.PctAAExp}% - ${Math.Calc[${Macro.RunTime}/60]} minutes 
      /popup EXP: ${Exper}:${Me.PctExp}% - AAXP: ${AAExp}:${Me.PctAAExp}% - ${Math.Calc[${Macro.RunTime}/60]} minutes 
      /echo Total Mobs killed so far:  ${Mobs_Killed}
      /varset Exper ${Me.PctExp} 
      /varset AAExp ${Me.PctAAExp}
      /varset RV_TargetDead 1 
      /varset RV_Fighting 0 
   } 
   /if (!${RV_TargetDead}) { 
        /goto :CombatLoop
   } 
/return 
|-------------------------------------------------------------------------------- 
|SUB: Special Combat 
|-------------------------------------------------------------------------------- 
|Sub SpecialIT 

|--------------------------------------------------------------------------------- 
| Checks if Flying Kick is up, if it is it performs a flying kick special attack. 
|---------------------------------------------------------------------------------

 |    /if (${Me.AbilityReady["Flying Kick"]}) /doability "Flying Kick"

|---------------------------------------------------------------------------------
| Line belox clicks your epic.  Does not check to see if any buffs that block 
| it are there (if you wish to add this Rogue Helper has it, I duo so I don't need it) 
|---------------------------------------------------------------------------------
	
 |    /if (!${Me.Buff[Celestial Tranquility].ID} && ${FindItem["Celestial Fist"].InvSlot.Name.Equal["hands"]}) /cast item "Celestial Fists"

|-------------------------------------------------------------------------------- 
| Checks to see if your HP is below what you set the varidible up top to mend at and 
| if the ability is read...then Mends if both conditions are true 
|--------------------------------------------------------------------------------

 |    /if ((${Me.PctHPs} < ${RV_MendPct}) && (${Me.AbilityReady["Mend"]})) {
 |        /doability "Mend" 
 |    }
|--------------------------------------------------------------------------------
| Checks to see if HP is below 10...if so FD's and ends macro
|--------------------------------------------------------------------------------
     /if ((${Me.PctHPs} < 10) && (${Me.AbilityReady["Feign Death"]})) {
          /attack off
          /doability "Feign Death"
          /cast 8
          /Echo ${Target} Beat me to within moments of my life.
	  /gsay ${Target} Beat me to within moments of my life.  God I am a Bitch
  |        /endmacro
    }
/return

|--------------------------------------------------------------------------------
|
|--------------------------------------------------------------------------------

Sub WhatTheFuckBitch
	/echo Uhm target the person you want to assist before starting this macro.
	/endmacro
/return

Sub Event_BitchBoyHit
	:againbitch
	/doevents flush
	/doability "Feign Death"
	/delay 2
	/sit
/return

Sub Event_SwitchTargets
/assist ${NotBitchBoy}
/gsay ${Target.CleanName} is my new target.
/return

Sub Event_SitBooBoo
/varset SitBooBooID ${Target.ID}
/gsay Ok if you say so.
/call CheckAnchor
/doability "Feign Death"
/gsay Gonna sit here FD till you target something else or what ya got targeted dies.
:SitBooBooLoop
/assist ${NotBitchBoy}
/delay 3
/if (${Target.ID}==${SitBooBooID}) /goto :SitBooBooLoop
/sit
/return

Sub Event_YourFDSkillSucks
/delay 10s
/doability "Feign Death"
/echo My FD skill Sucks!~
/gsay My FD skill Sucks!~
/return

Sub Event_Unduck
	/call CheckAnchor 
/return

Sub Event_Zoned
	/gsay I have zoned, camping in 30 seconds.  Probably because I am a Bitch Boy and Failed FD a few times and died.
	/echo Zoned, camping in 30 seconds.
	/delay 30s
	/camp desktop
	/delay 45s
/return
 
Are you looking for something to do unattended assisting or something that you can use to assist whoever you have set as MA? If its the latter you can use a custom bind to dynamically set your MA and then a hot key that will assist that person. I will have to post the syntax later when I am at home.
 
I actually tried the rogue helper macro and adjusted the settings for my char. I has worked great for the last few hours...we'll see how it did when i get back home this evening...

thanks for the chopped up monk macro...if RH doesn't work I will try that one...
 
What class may I ask? I tried one from free MQ2 boards (since I still can't find anyone to respond re: my donations for VIP access) supposedly a modded RH for monks, it sucked, wouldn't work at all. I ended up printing both RH and the monk helper and checking line by line through both to learn what the problem was. Finally, I got it to work, and have been testing and debugging it for about a week in my spare time, think it's all good and ready to go w/ full RH style functionality but converted to use w/ a monk. If this would be helpful to you let me know, I'll get it posted once I'm back home and on my machine.
 
assist macro

Users who are viewing this thread

Back
Top