Page 1 of 1

auto monk?

Posted: Thu May 06, 2004 1:59 am
by creations
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

Posted: Thu May 13, 2004 2:28 pm
by ucfusion
my roomate already did... ill see if i can get the code from him

Posted: Thu May 13, 2004 10:11 pm
by Chill
wuwu I would be very interested to see that as well.

Posted: Fri May 14, 2004 2:17 am
by illus1on
I would enjoy this as well.

Posted: Fri May 14, 2004 10:27 am
by Banannaboy
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.

Posted: Thu Jun 03, 2004 11:52 am
by Krs01
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 !

many thanks

Posted: Sat Jun 05, 2004 5:00 pm
by the_horror
thank you very much I really do like it and it works like a charm

Posted: Sun Jun 06, 2004 8:27 pm
by crisdan
I just used the autorogue one and substituted backstab for flying kick..and strike disc with thunderous kick....works like a charm for me.

Posted: Wed Jun 09, 2004 11:37 am
by Ghedrain
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.

Posted: Wed Jun 09, 2004 1:37 pm
by Sadistic
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).

Posted: Thu Jun 17, 2004 9:14 pm
by Krs01
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

Posted: Tue Aug 24, 2004 5:17 pm
by fallenangelcaged
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.

Posted: Mon Aug 30, 2004 8:16 am
by Monk_01
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