auto monk?

Have a macro idea but not sure where to start? Ask here.

Moderator: MacroQuest Developers

creations
orc pawn
orc pawn
Posts: 10
Joined: Thu May 06, 2004 1:57 am

auto monk?

Post by creations » Thu May 06, 2004 1:59 am

there is a very nice auto rogue macro out there.. was wondering if anyone would be willing to convert it so it's monk usable.

thanks

ucfusion
orc pawn
orc pawn
Posts: 24
Joined: Mon Mar 15, 2004 2:14 am

Post by ucfusion » Thu May 13, 2004 2:28 pm

my roomate already did... ill see if i can get the code from him

Chill
Contributing Member
Contributing Member
Posts: 435
Joined: Fri May 07, 2004 5:06 pm
Location: Erie, PA

Post by Chill » Thu May 13, 2004 10:11 pm

wuwu I would be very interested to see that as well.

illus1on
orc pawn
orc pawn
Posts: 24
Joined: Wed Apr 14, 2004 3:32 pm

Post by illus1on » Fri May 14, 2004 2:17 am

I would enjoy this as well.

Banannaboy
a lesser mummy
a lesser mummy
Posts: 43
Joined: Tue Apr 13, 2004 9:59 pm

Post by Banannaboy » Fri May 14, 2004 10:27 am

I have a very simple monk macro written out. It hasnt been tested since new events were made but it should work.

Code: Select all

|Made by Banannaboy. Thanks to a few others for help with
|certain chunks of code.
|
|/mac monk
|
|/echo Set Tank   (Sets tank (assist) to your target)
|/echo Drop Anchor   (Drops anchor (where you return after every fight))
#Event move "Your target is too far away, get closer!"
#Event anchor "#*#Drop Anchor"
#Event back "You cannot see your target."
#Event exp "You gain party experience!!"
#Event exp "You gain raid experience!"
#Event tank "#*#Set Tank"

Sub Main
/declare AnchorY int outer
/declare AnchorX int outer
/declare tank string outer
/varset tank none
/varset AnchorY 0
/varset AnchorX 0
:Loop
/call CheckHealth
/if (!${String[${tank}].Equal[none]}) {
  /assist ${tank}
  /if (${Target.PctHPs}<=96 && ${String[${Target.Type}].Equal[NPC]}) {
    /attack on
  }
}
/doevents
/if (${Me.Combat}) {
  /if (${Me.AbilityReady[Flying Kick]}) /doability "Flying Kick"
  /if (!${Me.Buff[Celestial Tranquility].ID} && !${Me.Buff[Speed of Vallon].ID} && !${Me.Buff[Vallon's Quickening].ID}) /cast item "Celestial Fists"
  /call GetBehind
}
/if (!${Me.Combat}) {
  /if (${Me.AbilityReady[Forage]}) {
  /doability "Forage"
  /delay 1s
  /autoinventory
  }
}
/goto :Loop
/endmacro

Sub Event_move
  /keypress forward hold
  :Checker
  /face fast nolook
  /newif (${Target.Distance}<=15) {
    /face fast nolook
    /keypress forward
    /return
  }
  /goto :Checker
/return

Sub Event_anchor
  /varset AnchorX ${Me.X}
  /varset AnchorY ${Me.Y}
  /echo Anchor dropped at ${AnchorX} , ${AnchorY}
/return

Sub Event_back
  /face fast nolook
/return

Sub Event_exp
/delay 1s
/attack off
/newif (${AnchorX}==0 || ${AnchorY}==0) {
  /echo No anchor is set.
  /return
}
  :AnchorMoveLoop 

   /newif (${Me.State.NotEqual[STAND]}) /stand 
   /face nolook loc ${AnchorY},${AnchorX} 
   /newif (${Math.Distance[${AnchorY},${AnchorX}]}>5) /keypress forward hold 
   /newif (${Math.Distance[${AnchorY},${AnchorX}]}<=5) { 
      /keypress forward 
      /newif (${Me.State.NotEqual[STAND]}) /stand 
      /face away nolook loc ${AnchorY},${AnchorX} 
      /return 
} 
    /goto :AnchorMoveLoop 
/return

Sub Event_tank
  /echo Setting tank...
  /varset tank ${Target}
  /echo Tank set to ${tank}
/return

Sub GetBehind 
   /if (${Target.ID}==0) { 
      /keypress forward 
      /goto :nomob 
   } 
   /if (${Math.Distance[${Math.Calc[${Target.Y}-${Math.Cos[${Target.Heading.DegreesCCW}]}*10]},${Math.Calc[${Target.X}-${Math.Sin[${Target.Heading.DegreesCCW}]}*10]}]}<4) /goto :noneed 
   /face nolook fast loc ${Math.Calc[${Target.Y}-${Math.Cos[${Target.Heading.DegreesCCW}]}*10]},${Math.Calc[${Target.X}-${Math.Sin[${Target.Heading.DegreesCCW}]}*10]} 
   /keypress Ctrl+R
   /keypress forward hold 
   :gobehindloop 
   /delay 1 
   /if (${Target.ID}==0) { 
      /keypress forward 
      /goto :nomob 
   } 
   /face nolook fast loc ${Math.Calc[${Target.Y}-${Math.Cos[${Target.Heading.DegreesCCW}]}*10]},${Math.Calc[${Target.X}-${Math.Sin[${Target.Heading.DegreesCCW}]}*10]} 
   /if (${Math.Distance[${Math.Calc[${Target.Y}-${Math.Cos[${Target.Heading.DegreesCCW}]}*10]},${Math.Calc[${Target.X}-${Math.Sin[${Target.Heading.DegreesCCW}]}*10]}]}>3) /goto :gobehindloop 
   /keypress Ctrl+R
   /keypress forward 
   :noneed 
   /face nolook fast
   :nomob 
/return 

Sub CheckHealth
  /if (${Me.PctHPs}<=30) {
    /echo Feigning
    /attack off
    /delay 2
    /doability "Feign Death"
    /delay 1s
    :Loopsie
    /if (${Me.PctHPs}>=60 || ${String[${Me.State}].Equal[STAND]}) {
      /return
    }
    /goto :Loopsie
  }
/return
Once the macro is running, target the tank and type "/echo Set Tank", that will make the macro set your target as the tank and the tank is who you will be assisting. Type "/echo Drop Anchor" to drop an anchor, this is where you return to after every fight. The macro will automatically click epic i you do not have chanter haste, auto kick, and it will stick to the back of the mob.

Krs01
orc pawn
orc pawn
Posts: 27
Joined: Tue May 18, 2004 7:30 pm
Location: Seattle

Post by Krs01 » Thu Jun 03, 2004 11:52 am

Banannaboy your monk macro is lovely! =0 i do however box a ranger as well and am a scripting idiot, would you guide help or show me what would be needed to convert this to a ranger macro that would auto archery and snare at like 30 pct health? still assisting tank at 96 or what not ? Much appreciated !

the_horror
a lesser mummy
a lesser mummy
Posts: 36
Joined: Mon May 31, 2004 2:42 pm

many thanks

Post by the_horror » Sat Jun 05, 2004 5:00 pm

thank you very much I really do like it and it works like a charm

crisdan
a ghoul
a ghoul
Posts: 126
Joined: Mon Mar 24, 2003 1:56 pm

Post by crisdan » Sun Jun 06, 2004 8:27 pm

I just used the autorogue one and substituted backstab for flying kick..and strike disc with thunderous kick....works like a charm for me.

Ghedrain
decaying skeleton
decaying skeleton
Posts: 6
Joined: Wed Jun 09, 2004 11:35 am

Post by Ghedrain » Wed Jun 09, 2004 11:37 am

Thanks! I'm going to try this tonight. I'm using a monk/shaman duo though so i don't want the monk to stay behind the mob. I'm going to try it with the "get behind" code commented out to see how it works.

Sadistic
orc pawn
orc pawn
Posts: 11
Joined: Mon Jan 19, 2004 1:33 am

Post by Sadistic » Wed Jun 09, 2004 1:37 pm

how well does this macro work for following someone around whose kiting a mob on both large and medium sized mobs?

Is there any chance the code might be changed so that instead of feigning at 30% health it feigns when the mobs riposte/melee arc is facing the monk (when the mob turns on the monk).

Krs01
orc pawn
orc pawn
Posts: 27
Joined: Tue May 18, 2004 7:30 pm
Location: Seattle

Post by Krs01 » Thu Jun 17, 2004 9:14 pm

anyone else having issues with this ? as of the last patch and MQ update i goto run the mac and my monkey runs all over lol everywhere but where he should =0

fallenangelcaged
orc pawn
orc pawn
Posts: 15
Joined: Tue Aug 24, 2004 4:30 am

Post by fallenangelcaged » Tue Aug 24, 2004 5:17 pm

Does anyone know of a snippet of code where if the monk takes any damage he will FD, wait a few seconds and then Re-engage the main assists target from behind? been looking around with very little luck. Thank you.

Monk_01
decaying skeleton
decaying skeleton
Posts: 1
Joined: Mon Aug 30, 2004 8:07 am

Post by Monk_01 » Mon Aug 30, 2004 8:16 am

Krs01 wrote:anyone else having issues with this ? as of the last patch and MQ update i goto run the mac and my monkey runs all over lol everywhere but where he should
ya if im moving when the mob dies. anyone know how to fix this? is there a part of the code i can change so it stays max melee on a mob so i can use this on small and large mobs? and the fd when hit thing would be awesome if anyone has the code for it laying around. thanks in advance