Rogue Helper v6.0 [Complete Rogue Macro] (Updated: 10-26-04)

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

tranze204
a lesser mummy
a lesser mummy
Posts: 39
Joined: Tue Mar 02, 2004 6:26 pm

Pick Pocket?

Post by tranze204 » Thu Jun 03, 2004 7:48 pm

Hey again, dont wanna bother, but would like to know if there is a way to make the macro also *stop attacking* auto pick pocket (place item in inventory) then resume attacking during battles?

A_Rogue00
orc pawn
orc pawn
Posts: 15
Joined: Mon May 31, 2004 6:03 am

Post by A_Rogue00 » Thu Jun 03, 2004 8:30 pm

Hate to bug you again :D but was wondering about framerate issues while running this macro. I've never used any other macros so dunno if its a common occurance or what. When it is loaded and running, the framerate goes down to 10-14. When I pause it the framerate quickly climbs up to 25+ in most zones. Is there a way to make it more efficient so it doesn't use up so much processing power or? If not, I can live with it. If it's not normal, would be nice to know how to fix it. :?
A_Rogue00 says 'Stop Thief! <Sony>'

Jerle69
a hill giant
a hill giant
Posts: 263
Joined: Wed Apr 28, 2004 3:26 pm

Post by Jerle69 » Fri Jun 04, 2004 9:57 am

Tranze204:

Yeah, I'll write an /autopick toggle command to do what you asked for.

A_Rogue00:

Yes, there could be a framerate issue. The RH macro is pretty intense and eats up quite a bit of processing power when it's in full swing. I imagine on a P3 or similar processor it'd have issues; a P4 may take a 1 frame hit while it's doing a complex cycle. My system barely notices it, but I tried it on my laptop and it bogged down a bit. The only solution is to trim it down, but then you'll lose features. Sorry :)

ALL:

I'm working on version 5.0 right now. I already put in a ton of bug fixes and optimizations yesterday and today I'm adding a few new commands. /autofollow is already in and works far better than the SoE in-game follow ;) Hopefully I'll have this version posted either later today, tonight, or Saturday.
--Jerle

Jerle69
a hill giant
a hill giant
Posts: 263
Joined: Wed Apr 28, 2004 3:26 pm

Post by Jerle69 » Sat Jun 05, 2004 12:28 am

Version 5.0 has been posted... Here are the highlights:

Code: Select all

[color=cyan]
| VERSION 5.0:
|
| This version introduces a few tweaks to add to RH's stability as well as adding
| several new features, hence the major version number increment.
|
|     . Moved body of code responsible for engaging a target and circle-strafing
|       around it to the beginning of the state-checking loop (ForeverLoop).  This
|       should increase the fluidness of target engagement, as well as make circle-
|       strafing a little faster.
|
|     . Added a special "aggro timer" that will detect if you're getting hit and
|       reset a timer to 5 seconds.  For those 5 seconds, RH will assume the
|       rogue is tanking (or has the potential to tank again) and will prevent it
|       from circle strafing toward the target's rear as well as chaotic stab.  
|       This method of rogue-self-tanking detection has augmented the use of 
|       TargetOfTarget since not everyone has the AA skill.  Keep in mind if you 
|       have filtered out combat messages involving the rogue (hits you), then 
|       this feature won't work.
|
|     . Created a Check_Behind subroutine containing the method used in the
|       existing circle-strafe code to generically check to see if the rogue is
|       behind the target.  This subroutine is now used in ALL circumstances where
|       a behind-check is warrented (including backstabbing and striking).  It's
|       a much more reliable way of checking orientation, if a tad slower).
|
|     . Added some code to ItemClick event to check for summoned items.  If an
|       swaped in keepup /iclick results in a summoned item, it's autoinventoried 
|       and the rest of the item click resumes normally.  It doesn't check for a
|       full inventory here, so please don't test my error handling--this was bad
|       enough as is.
|
|     . Added a full-inventory check just prior to looting an item when using
|       autoninja.  It's a bit crude, but if you are out of inventory slots, it
|       will stop looting and turn autoninja OFF.  It doesn't consider stackable
|       loot that would/could have stacked if it were looted, nor does it take
|       into account a large lootable item not fitting into a small slot, so try
|       to be somewhat aware of your bag situation, particularly if you use some
|       shitty containers (like a wrist pouch).
|
|     . Added a state-check prior to hiding or sneaking while not fighting to make
|       sure you're not dealing with a banker, merchant, looting, or trading 
|       (no more spam).
|
|     . /autofollow [<name>] [<distance>] command added.  This command will activate
|       autofollowing, which will stay active until your target changes (to nothing,
|       yourself, or anything else).  While autofollow is engaged, RH will NOT
|       DO ANYTHING ELSE, including fighting, looting, etc. but does queue events.
|         . <name> is an optional parameter for a player or NPC name.  Did I
|           mention /autofollow doesn't care if it's a groupmember or even a player?
|           If this parameter isn't supplied, you will autofollow your target.
|         . <distance> is an optional parameter indicating how long a "leash" is
|           allowed between you and your follow target.  Anything less than 10 will
|           be set to 10 (which is practically on top of your target).  If this
|           parameter isn't supplied, RH defaults to whatever is in the INI file
|           or 30, if not yet in the INI file.
|
|     . /autopick command added.  This command will toggle your rogue's automatic
|       execution of a pick pocket attempt during combat.  If you get an item, it
|       will be automatically inventoried.  Full inventories will probably spill 
|       picked items onto the floor, so make sure you have some bag space!
|
|     . /weaponswitch <weapon1> <"Trigger text to swap to second weapon"> <weapon2>
|       command added.  This rather elaborate command allows you to set a starting
|       weapon (weapon1), some text to look for to trigger swapping out that weapon
|       for a second weapon, and the name of the second weapon.  After any death
|       message/exp gain message is received, weapon1 is re-equiped.  The weapons
|       can be in a bag or on your person (doesn't matter), weaponswitch will figure
|       out how to deal with it.  Invalid or empty parameters will turn off any
|       weaponswitching.  Be sure to use "" around multiword weapons and your trigger
|       text!
|         . Examples:  
|           /weaponswitch Locustlure "yawns." "The Horn of Hsagra"
|           /weaponswitch "Dart of Immobility" "screams as poison" "Ifir, Dagger of Fire"
|           /weaponswitch OFF
|
|     . Remote control with authentication has been added.  You can now set up to 
|       20 players (masters) that can send tells to the rogue using RH and have the 
|       rogue do whatever action was in the tell.  The first character of the tell 
|       must be a "/" or the tell won't be processed as a potential command.  Any 
|       tells from non-masters are simply ignored as normal tells.  Be careful what 
|       you tell the rogue!  "/tell johnnybackstabber /quit" will make you deadlink,
|       assuming the tell came from an authenticated master.  The list of masters is
|       stored in the RHSettings.ini file.  Authenticated users will get a tell-back
|       verifying that the command was received and echo-back the command.
|         . /addmaster <name> - Adds a player to the master controller list
|         . /remmaster <name> - Removes a player from the master controller list
|         . Examples:  /addmaster MyOthercharacter
|                      /tell Myrogue /pause
|                      /tell Myrogue /camp
|                      /tell Myrogue /multiline ; /target somenpc ; /attack on
|                      /tell Myrogue /addmaster myfriend
|
[/color]
--Jerle

TrippyTom
a lesser mummy
a lesser mummy
Posts: 75
Joined: Sun May 30, 2004 10:18 am

Post by TrippyTom » Sat Jun 05, 2004 4:53 am

Ok, here's some feedback for version 5.0:

1) /autofollow works great!

2) Work on putting more options in the /weaponswitch feature. As it is currently, it only switches with the primary hand and it doesn't switch back to the other weapon when the proc fades.

Here's what I normally use:

Primary Hand: Gargoyle Talon
Secondary Hand: Wicked Shank (switched out with Primal for Avatar Proc)

Using this macro doesn't allow me to do this, but it's getting close!
May the eclipse of your soul never fade to light!

Jerle69
a hill giant
a hill giant
Posts: 263
Joined: Wed Apr 28, 2004 3:26 pm

Post by Jerle69 » Sat Jun 05, 2004 9:52 am

Heh, thanks... Yes, it'll only swap back to the primary weapon when combat is over (not when the proc effect fades). I never considered it's use in buff-procing weapons (like avatar). It was designed for weapons that proc on your target (and do things like snare or slow).

I'll have to think about how to change it to handle buff-proc weapons and get back with you.
--Jerle

rasthan
decaying skeleton
decaying skeleton
Posts: 3
Joined: Wed Feb 04, 2004 5:51 pm

Post by rasthan » Sat Jun 05, 2004 12:05 pm

I noticed a problem today with 4.6 in a raid situation.

During a fight, if pets were enraging against the raid npc, it would turn the rogue's autoattack off. Gets kind of annoying when there are a lot of pets doing it.

I don't know if the problem exists with 5.0 or not (yet).

Otherwise, great macro! :D

dirx
orc pawn
orc pawn
Posts: 21
Joined: Fri Dec 05, 2003 1:00 am
Location: orlando

Post by dirx » Sat Jun 05, 2004 2:45 pm

Hiya,

Thanks for adding the autofollow option and for fixing the stanos' leggings issue. I am having a problem with the macro crashing out i have narrowed the crash down to this section if I take it out the macro stops crashing. I am not using the weapon swap feature could that be why ? I notice no one else has reported this.

Code: Select all

|- Do weapon swapping (back to weapon1), if applicable 

  /if (${doSwitch}) { 
    |- Is it in a Bag? 
    /echo ** Looking for weapon1: ${weapon1} 
    /if (${FindItem[${weapon1}].InvSlot.Pack}) { 
    :OpenPack 
    /if (!${Window[${FindItem[${weapon1}].InvSlot.Pack.Name}].Open}) { 
      /itemnotify ${FindItem[${weapon1}].InvSlot.Pack.Name} rightmouseup 
      /delay 2 
      /goto :OpenPack 
    } 
    /declare camefrom ${FindItem[${weapon1}].InvSlot} 
    :GrabItem 
    /if (!${Cursor.ID}) { 
      /itemnotify ${InvSlot[${camefrom}]} leftmouseup 
      /delay 2 
      /goto :GrabItem 
    } 
    /declare weaponID int local ${Cursor.ID} 
    :SwapIt 
    /if (${Cursor.ID}==${weaponID}) { 
      /itemnotify ${InvSlot[mainhand]} leftmouseup 
      /delay 2 
      /goto :SwapIt 
    } 
    /delay 2 
    /echo ** Dropping other weapon in inventory 
    /autoinv 
    :ClosePack 
    /if (${Window[${InvSlot[${camefrom}].Pack.Name}].Open}) { 
      /itemnotify ${InvSlot[${camefrom}].Pack.Name} rightmouseup 
      /delay 2 
      /goto :ClosePack 
    } 
  } else { 
    |- It's in the main inventory 
    /if (${FindItem[${weapon1}].InvSlot}) { 
      /itemnotify ${FindItem[${weapon1}].InvSlot} leftmouseup 
      /delay 2 
      /itemnotify ${InvSlot[mainhand]} leftmouseup 
      /delay 2 
      /echo ** Dropping other weapon in inventory 
      /autoinv 
    } else { 
      /echo ** "${weapon1}" not found! 
    } 
  }

Thanks,

Dirx
Last edited by dirx on Sat Jun 05, 2004 3:18 pm, edited 1 time in total.

dirx
orc pawn
orc pawn
Posts: 21
Joined: Fri Dec 05, 2003 1:00 am
Location: orlando

Post by dirx » Sat Jun 05, 2004 3:12 pm

Wanted to give you some more info: here is the actual error.

{} pairing ran into another subroutine (this is in red)
rh.mac@592 (event_exp(string Line)): /if (doSwitch}) {
rh.mac@180 (Main)::ForeverLoop
The current macro has ended

Thanks,

Dirx

dirx
orc pawn
orc pawn
Posts: 21
Joined: Fri Dec 05, 2003 1:00 am
Location: orlando

Post by dirx » Sat Jun 05, 2004 3:18 pm

Hehe so many chars I lose track of how to sign my name. Btw for those of you that have myrlokars bp here is a little autoheal addition cant remember where I got it but i added it to the macro in the form of a sub and it works great.

Code: Select all

Sub Event_AutoHeal(string Line)
   /declare InvState 
   /declare breastplate 
  /varset breastplate "Mrylokar's Breastplate"
  /echo "Auto Heal"
     |Open the inventory window if not already open. 
  /if (${Window[InventoryWindow].Open}) { 
    /varset InvState 0 
  } else { 
    /keypress inventory 
    /varset InvState -1 
  } 
     /delay 1 
     /itemnotify ${FindItem[${breastplate}].InvSlot} leftmouseup
     /delay 1 
     /itemnotify "chest" leftmouseup
     /delay 1
 
      :Loop
      /cast item "Mrylokar's Breastplate"
      /if (${Me.PctHPs}==100) /goto :bp
      /if (${Target.ID}) /goto :loop
      :bp
      /delay 80
      /itemnotify "chest" leftmouseup
      /delay 2
      /autoinv
      /keypress i
       
/return
Thanks,

Dirx

A_Rogue00
orc pawn
orc pawn
Posts: 15
Joined: Mon May 31, 2004 6:03 am

Post by A_Rogue00 » Sat Jun 05, 2004 6:00 pm

Excellent update! I notice the framerate is much higher when running this script than the previous version. Not sure what you did, but I likes! :P
A_Rogue00 says 'Stop Thief! <Sony>'

MQ_420
decaying skeleton
decaying skeleton
Posts: 6
Joined: Thu Jun 03, 2004 12:57 am

Post by MQ_420 » Sat Jun 05, 2004 8:58 pm

This macro rocks.

Still haven't tried version 5 yet.

Couple things i'd love to see:

Infuriation detection. GoD ability where a Mob hits anything in it's attack radius, move back out of melee range until it's done? Unless your tanking then just turn off attack?

#Event Infuriated "#*#is infuriated#*#"
#Event NLInfuriated "#*#is no longer infuriated#*#"

ability to turn off the getbehind code from a toggle, good for those places where it just makes you look silly running into walls

Max engage distance. Set a max engage distance that you will run up and attack mob. Looks kind of silly when a hurt mobs gets targeted by ma and you run off 200-300 distance away to try to get to it.

MQ_420
decaying skeleton
decaying skeleton
Posts: 6
Joined: Thu Jun 03, 2004 12:57 am

Post by MQ_420 » Sat Jun 05, 2004 9:21 pm

I'm getting that same error dirx is reporting. Little more to add to it.

This is in the MQ chatwnd:

{} pairing ran into another subroutine.

Happening every time a mob dies it seems.

TrippyTom
a lesser mummy
a lesser mummy
Posts: 75
Joined: Sun May 30, 2004 10:18 am

Post by TrippyTom » Sat Jun 05, 2004 9:24 pm

i'm getting the same error now too. I think it has somethign to do with if you setup a weaponswitch at all. I deleted the RHSettings.ini file to see if that would help but it didn't.
May the eclipse of your soul never fade to light!

MQ_420
decaying skeleton
decaying skeleton
Posts: 6
Joined: Thu Jun 03, 2004 12:57 am

Post by MQ_420 » Sat Jun 05, 2004 9:32 pm

I tried it stock w/o adding any weapon switches and it did it.