Moderator: MacroQuest Developers

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


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