rogue-assist.mac and movebehind.mac

A forum for you to dump all the macros you create, allowing users to use, modify, and comment on your work.

Moderator: MacroQuest Developers

User avatar
grimjack
Macro Author
Macro Author
Posts: 525
Joined: Thu Nov 07, 2002 6:51 am
Contact:

rogue-assist.mac and movebehind.mac

Post by grimjack » Fri Oct 03, 2003 6:29 pm

Make sure you edit the heal section.

Usage: macro rogue-assist.mac <MinRange> <MaxRange> <FastRange>
MinRange = Range at which the macro does a /press down
MaxRange = Range at which the macro does a /press up
FastRange = Range at which macro uses /sendkey down up

Example /macro rogue-assist.mac 10 12 18

Code: Select all

|rogue-assist.mac
|Rogue Melee assist macro.
|version 3
#Turbo 72
#Event Enraged "has become ENRAGED" 
#Event Offrage "is no longer enraged"

Sub Main
   /declare RangeMin global
   /declare RangeMax global
   /declare FastRange global
   /declare Combatstatus global
   /declare CastTimer timer
   /declare EnrageVar global
   /declare DoHeal global
   /declare HealItem global
   /declare DoDisarm global
|--------------------------------------
|Edit this to change autoheal
   /varset DoHeal 1
   /varset HealItem "Brigand's Chestguard"
|Edit this to chang auto disarm
   /varset DoDisarm 1
|---------------------------------------
   /varset RangeMin @Param0
   /varset RangeMax @Param1
   /varset FastRange @Param2
   /varset Combatstatus 0
   /varset EnrageVar 0
   :Mainloop
   /call Combatcheck
   /if @Combatstatus=="1" /call RangeSub
   /if @Combatstatus=="1" /call Checkbehind
   /if @Combatstatus=="1" /call Evadeit
   /if @Combatstatus=="1" /call Disarmit
   /if @Combatstatus=="1" /call Checkbehind
   /if @Combatstatus=="0" /call Healthcheck
   /doevents
   /goto :Mainloop
/return


Sub Healthcheck
   /if n @DoHeal==0 /return
   /if $char(casting)=="TRUE" /return
   /if $char(ismoving)=="TRUE" /return
   /if n $char(hp,pct)<90 {
      /if $combat!="TRUE" {
         /if $target()=="FALSE" {
            /delay 1s
            /cast item "@HealItem"
         }
      }
   }
/return



Sub Checkbehind
   /if n $distance($calc($target(y)-$cos($target(heading))*10),$calc($target(x)-$sin($target(heading))*10))<8 {
      /if @Combatstatus=="1" /call Backstabit
   }
/return

Sub Disarmit
   /if n @DoDisarm==0 /return
   /if n $char(ability,"Disarm")!=-2 {
         /doability "Disarm"
   }   
/return

Sub Evadeit
   /if n $char(ability,"Hide")!=-2 {
      /if @Combatstatus=="1" {
         /attack off
         /doability "Hide"
         /if @EnrageVar!="1" /attack
      }
   }   
/return


Sub Backstabit
   /if n $char(ability,"Backstab")!=-2 {
      /if $target()=="TRUE" {
         /face fast
         /delay 2
         /doability "Backstab"
      }
   }
/return

Sub Combatcheck
   /if @EnrageVar=="1" {
      /if $target()=="TRUE" {
         /return
      } else {
         /varset EnrageVar 0
         /varset Combatstatus 0
      }
   }
   /if $target()=="FALSE" {
      /varset Combatstatus 0
      /if $combat=="TRUE" {
         /attack off
      }
      /return

   }
   /if $target()=="TRUE" {
      /if $combat=="TRUE" {
         /varset Combatstatus 1
         /return
      }
   }
/varset Combatstatus 0
/return



Sub Rangesub
   /stand
   /face fast
   /if n $target(distance)>=@FastRange /call Fastmove
   /if n $target(distance)>@RangeMax {
      /press up
   }
   /if n $target(distance)<@RangeMin {
      /press down
   }
/return


Sub Event_Enraged
   /if $target()=="TRUE" {
      /varset EnrageVar 1
      /attack off
   }
/return 

Sub Fastmove
   :fastmoveloop
   /if $target()=="FALSE" {
      /varset Combatstatus 0
      /sendkey up up
      /if $combat=="TRUE" {
         /attack off
         /return
      }
   }
   /stand
   /face fast
   /if n $target(distance)>@FastRange {
      /sendkey down up
      /attack off
   }
   /if n $target(distance)<=@FastRange {
         /if @Combatstatus=="1" {
            /if @EnrageVar=="0" {
               /attack on
            }
         }
      /sendkey up up
      /return
   }
   /goto :fastmoveloop
/return


Sub Event_Offrage
   /if $target()=="TRUE" {
         /varset EnrageVar 0
         /attack
      }
   }
/return


Used as a hotkey to move behind mob when using rogue-assist macro. Takes the same input so that It can restart rogue-assist with the correct distances.

Code: Select all

|movebehind.mac
|Movebehind macro to be used in tandem with rogue-assist
|version 2.1

Sub Main
   /declare RangeMin global
   /declare RangeMax global
   /declare FastRange global
   /if "$char(state)=="SIT" /stand
   /varset RangeMin @Param0
   /varset RangeMax @Param1
   /varset FastRange @Param2
   /attack off  
   /if $target()==FALSE { 
      /attack off
      /sendkey up up
      /macro rogue-assist @RangeMin @RangeMax @FastRange
   } 
   /if n $distance($calc($target(y)-$cos($target(heading))*10),$calc($target(x)-$sin($target(heading))*10))<3 /goto :noneed
   /sendkey down up
   :gotopointloop 
   /if $combat=="TRUE" /attack off
   /if $target()==FALSE { 
      /attack off
      /sendkey up up
      /macro rogue-assist @RangeMin @RangeMax @FastRange
   } 
   /if "$char(state)=="SIT" /stand
   /face nolook fast loc $calc($target(y)-$cos($target(heading))*10),$calc($target(x)-$sin($target(heading))*10) 
   /if n $distance($calc($target(y)-$cos($target(heading))*10),$calc($target(x)-$sin($target(heading))*10))>1 /goto :gotopointloop 
   /sendkey up up 
   /face fast
:noneed
/attack on
/macro rogue-assist @RangeMin @RangeMax @FastRange
/return
Last edited by grimjack on Tue Nov 11, 2003 9:35 pm, edited 6 times in total.
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.

Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.

My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack

Epsilon
a lesser mummy
a lesser mummy
Posts: 61
Joined: Wed Apr 30, 2003 5:46 pm

Post by Epsilon » Sat Oct 04, 2003 8:53 am

i must have missed something...but who does he assist ?

User avatar
grimjack
Macro Author
Macro Author
Posts: 525
Joined: Thu Nov 07, 2002 6:51 am
Contact:

Post by grimjack » Sat Oct 04, 2003 12:31 pm

Epsilon wrote:i must have missed something...but who does he assist ?
You'r fingers and wrists. With this running you just click on attack and it stays in melee range. Fire off the second macro and it finds the back of the mob and faces it.

I
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.

Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.

My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack

Epsilon
a lesser mummy
a lesser mummy
Posts: 61
Joined: Wed Apr 30, 2003 5:46 pm

Post by Epsilon » Sat Oct 04, 2003 12:56 pm

oh hehe..neat...must work for a warrior too then if i change the BS to kick

i get this tho when i try to run it

Couldn't parse '/declare RangeMin global'
Couldn't parse '/declare RangeMax global'
Couldn't parse '/declare FastRange global'
Couldn't parse '/declare Combatstatus global'
Couldn't parse '/declare CastTimer timer'
Couldn't parse '/declare EnrageVar global'
Ending macro: Usage: /varset <v#|p#|l#|t#|a(#,#)> <value>
lazy.mac@15 (Main): /varset RangeMin @Param0
Cleared the following: Timers Vars Arrays
The current macro has ended.

Epsilon
a lesser mummy
a lesser mummy
Posts: 61
Joined: Wed Apr 30, 2003 5:46 pm

Post by Epsilon » Sat Oct 04, 2003 1:10 pm

seems like i dont have the /declare command in my MQ...tried to do a cvs update but didnt get any new files, are you using some 1337 haxxored version of MQ ?

User avatar
grimjack
Macro Author
Macro Author
Posts: 525
Joined: Thu Nov 07, 2002 6:51 am
Contact:

/declare

Post by grimjack » Sat Oct 04, 2003 1:14 pm

Its part of the new revamp that whent live. I'm not sure if it has made it to the public cvs servers since they are 24 hours behind. It has been updated in the zip though.

Thanks
GrimJack
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.

Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.

My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack

Milten
a hill giant
a hill giant
Posts: 176
Joined: Thu Oct 09, 2003 11:40 am

Post by Milten » Fri Oct 10, 2003 2:21 pm

hey grimjack, I wanted to kill in PoE, one comp, 5 chars, and I found a heal macro that will heal at % without any need of input after first activation, I will play chanter (pull, pet, slow, some nukes) and tank (stuns, taunt and so on), but was looking for a rogue macro, that can assist on assist call from tank, move behind, backstab and evade all the time.. do you think I should keep looking, or do you think it wouldnt be insanely hard to alter your macro to my needs? (I'm not too versed in macro editing, but I hate to go along and say I need this and that, make it for me!)

thanks for your time
Sentenza

User avatar
grimjack
Macro Author
Macro Author
Posts: 525
Joined: Thu Nov 07, 2002 6:51 am
Contact:

Post by grimjack » Fri Oct 10, 2003 3:29 pm

Sentenza wrote:hey grimjack, I wanted to kill in PoE, one comp, 5 chars, and I found a heal macro that will heal at % without any need of input after first activation, I will play chanter (pull, pet, slow, some nukes) and tank (stuns, taunt and so on), but was looking for a rogue macro, that can assist on assist call from tank, move behind, backstab and evade all the time.. do you think I should keep looking, or do you think it wouldnt be insanely hard to alter your macro to my needs? (I'm not too versed in macro editing, but I hate to go along and say I need this and that, make it for me!)

thanks for your time
Sentenza
Genbot can do all of that. It currently uses tells for the commands.

Thanks
GrimJack
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.

Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.

My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack

Guest

prob

Post by Guest » Fri Oct 10, 2003 9:56 pm

Hi, when im trying to use the move behind macro im getting this message
Variable name already defined
I go to the back of the mob and then ... I stick on it when rogue-assist start again
Anyone have an idea why ?

Achy Wrists
a lesser mummy
a lesser mummy
Posts: 36
Joined: Wed Aug 27, 2003 4:17 pm

Post by Achy Wrists » Wed Oct 29, 2003 10:11 am

So... you start move behind first and that calls rogue assist? I've never seen one macro call another. How interesting! What happens if the mob turns, is move behind still running? Can two macros run at the same time? I'm trying to figure out how this works, I'd love to modify it for a monk... although I suck at modifying macros.

User avatar
grimjack
Macro Author
Macro Author
Posts: 525
Joined: Thu Nov 07, 2002 6:51 am
Contact:

Post by grimjack » Wed Oct 29, 2003 11:23 am

Achy Wrists wrote:So... you start move behind first and that calls rogue assist? I've never seen one macro call another. How interesting! What happens if the mob turns, is move behind still running? Can two macros run at the same time? I'm trying to figure out how this works, I'd love to modify it for a monk... although I suck at modifying macros.
No it's not still running. I originaly had them as 1 macro that auto moved behind the mob but when you get aggro and auto get behind it looks very wierd. I broke it into 2 macros so that I could tell it when to get behind.
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.

Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.

My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack

EQ Rogue
orc pawn
orc pawn
Posts: 16
Joined: Tue Oct 28, 2003 3:31 pm

Post by EQ Rogue » Sat Nov 08, 2003 1:41 pm

Since the new build of MQ, whenever I use this macro my char looks staight up in the air while it's running to get behind the mob. Then when it gets to the mob, instead of looking at the mob like I used to, if it's bigger than me, say a sand giant for instance. My char looks up at it like its trying to look at its face. This is kind of aggravating when trying to watch for adds and what not. Anyone know how I can fix this or what is causing it? I already removed all the nopredicts from the macro and that didn't help. Any suggestions would be greatly appreciated. Thnx!
-
EQ Rogue

User avatar
grimjack
Macro Author
Macro Author
Posts: 525
Joined: Thu Nov 07, 2002 6:51 am
Contact:

Post by grimjack » Sat Nov 08, 2003 3:46 pm

This should now be fixed. Let me know if it isn't.

Thanks
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.

Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.

My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack

Guest

Post by Guest » Sun Nov 09, 2003 4:55 pm

mine kinda wanders off into the distance, it will get up on the mob try to attack then off it goes? any suggestions?

Guest

Post by Guest » Sun Nov 09, 2003 4:58 pm

sorry, forgot to post that it says, there were no matches for (0-100) nopredict ...............over and over