Rogue Auto-Pilot *Updated 04/28/04*

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
a_troll_01
a lesser mummy
a lesser mummy
Posts: 46
Joined: Sat Dec 06, 2003 6:06 am
Location: Memphis, TN
Contact:

Rogue Auto-Pilot *Updated 04/28/04*

Post by a_troll_01 » Fri Dec 26, 2003 4:25 am

*** Updated April 28, 2004 ***

Fixed some bugs (mainly the thing with the interface locking up from the Pick Pocket sub) and added some other features, such as chopping out 9/10 of the melee/ability error spam, and the macro will now retrieve disarmed weapons. The only issue I have with it (which is barely noticable) is the lower Evade success rate, commented on in that portion of the macro. The rest is great. Ran it for a 6 hour group in The Hole with no issues at all. As always, my macros are written organized, clean, and easy-to-read for those eager-to-learn. If you know what you're doing already, feel free to shred out the 3/4 of it that's fluff. Enjoy.


** REQUEST ** ... Disarm scripts are a bitch to debug because even with a skill of 200, it rarely goes off. I just wanted you guys to watch for a succesful disarm going off while you're running this macro, and let me know of any problems. I only got 2 off during normal play (which went through flawlessly, by the way) , which isn't really enough to thoroughly test it.

Code: Select all

|=============================================================================
|------------------------------- Rogue.mac v1.4 ------------------------------
|--------------------------- Rogue Ability Autopilot -------------------------
|-----------------------------------------------------------------------------
|--- Usage: /macro Rogue 
|--- Just turn on Auto-Attack, park behind the mob. and this script 
|--- will automatically execute Pick Pockets, Disarm, Evade, and 
|--- Backstab everytime the Ability buttons become available, as well 
|--- as dropping off any Pick Pocket'ed items or Disarmed weapons 
|--- in your inventory. It will stop executing the abilities once the mob 
|--- is dead, and pick back up again after you turn Auto-Attack on. 
|--- Be sure to have those 4 abilities on buttons in your Ability or 
|--- Combat Abilities. Must be turned off with /endmacro at your leisure. 
|-----------------------------------------------------------------------------
|--- By: a_troll_01 (12/26/03) 
|--- Converted by Wassup (4/22/04)
|--- Screwed up again by a_troll_01 (4/28/04)
|--- Enjoy! 
|=============================================================================

#event Attack "Auto attack is on." 
#event Disarm "You disarmed"

|=============================================================================

Sub Main 
   /declare CurrentTarget global
   /declare PickPocketHP global
   /declare MeleeDistance global

|-----------------------------------------------------------------------------
|-------------------- VARIABLE EXPLANATION & CONFIG --------------------------
|--- PickPocketHP: What percentage health your target must be at to stop
|---    attempting to PickPocket. Set it to '0' to chain-Pick-Pocket. I
|---    recommend setting it to 50 or 60 during groups (averaging 2 picks
|---    per mob). If you don't understand why, you need to find a new class
|---    to play.
|--- MeleeDistance: Maximum distance for you to be from your target before
|---    shutting off 'auto attack' and all Ability triggers, stopping spam.
|---    This isn't really necessary. Just set it to '500' or something if
|---    you don't mind the error spam. Personally, I'm anal about it. 
|---    'Auto Attack' & Ability execution will start back up automatically 
|---    when you're with-in the set range again.
|-----------------------------------------------------------------------------
   /varset PickPocketHP 40
   /varset MeleeDistance 16
|-----------------------------------------------------------------------------

   :MainLoop 
   /if (${Target.Type.Equal[NPC]}) /doevents 
   /goto :MainLoop 
/endmacro 

|=============================================================================
|-----------------------------------------------------------------------------
|--- The '/echo' command in there can be deleted. I prefer it, just to know.
|--- The '/face nolook' command has a lot of advantages, mainly MUCH easier
|---    nearly perfect 360-degree strafe'ing, and a way to quickly follow mobs
|---    that are getting ping-ponged. Try it out, and if it's not your style,
|---    delete it.
|-----------------------------------------------------------------------------

Sub Event_Attack 
   /echo Target is -( ${Target.CleanName} )- ... Level ${Target.Level} ${Target.Class.Name}
   :SubLoop 
   /face nolook
   /if (${Target.Type.Equal[NPC]}) {
      /if (${Target.Distance}<=@MeleeDistance) {
         /call Attack
         /goto :SubLoop
         }
      }
   /if (${Target.Type.Equal[NPC]}) {
      /if (${Target.Distance}>@MeleeDistance) {
         /attack off
         /goto :SubLoop
         }
      }
   /attack off
   :End
/return

|=============================================================================
|-----------------------------------------------------------------------------
|--- I know the MQ2 gurus will say somethng about this, so let me excuse it now,
|--- This macro is written clean, easy to read, & organized so newcomers can learn
|--- the ropes of the scripting a little easier. I know the rest of this macro can
|--- be crammed into no more than 8 lines. I just do it my way.
|-----------------------------------------------------------------------------

Sub Attack 
   /attack on
   /if (${Me.AbilityReady[Pick Pockets]}) /call Pickpocket
   /if (${Me.AbilityReady[Disarm]}) /call Disarm
   /if (${Me.AbilityReady[Backstab]}) /call Backstab
   /if (${Me.AbilityReady[Hide]}) /call Hide 
   /call InvDrop
/return 

|=============================================================================
|-----------------------------------------------------------------------------
|--- Earlier version of the Pick Pocket script had a huge flaw that locked up
|--- the client interface. This is fixed with the '/delay' line in there.
|--- DO NOT take it out, or the macro will misbehave.
|-----------------------------------------------------------------------------

Sub Pickpocket 
   /if (${Target.Type.Equal[NPC]}) {
      /if (${Target.PctHPs}>=@PickPocketHP) /goto :Pick
      /if (${Target.PctHPs}<@PickPocketHP) /goto :NotGreedy
   }
   :Pick
   /attack off
   /delay 1
   /if (${Target.Type.Equal[NPC]}) /doability "Pick Pockets"
   /if (${Target.Type.Equal[NPC]}) /attack on
   :NotGreedy
/return 

|=============================================================================
|-----------------------------------------------------------------------------
|--- There's a group comment in there. Delete it if you want. The Sub Event here
|--- snatches any disarmed weapons off the ground and puts them in your inventory.
|--- You'll change targets in the process, so if you're a main-assist, comment it
|--- out. If someone assists you, and sees "(generic)*36" or something as your target,
|--- you'll have some explaining to do.
|-----------------------------------------------------------------------------

Sub Disarm
   /if (${Target.Type.Equal[NPC]}) /doability "Disarm"
   /doevent Disarm
/return

Sub Event_Disarm
   /echo You have DISARMED -( ${Target.CleanName}. )-
   /g %T has been disarmed.
   /varset CurrentTarget ${Target.ID}
   /itemtarget
   /click left item
   /target ID @CurrentTarget
/return

|=============================================================================

Sub Backstab
   /if (${Target.Type.Equal[NPC]}) /doability "Backstab"
/return

|=============================================================================

Sub InvDrop 
   /autoinv 
/return

|=============================================================================
|-----------------------------------------------------------------------------
|--- As of 04/28/2004, there seems to be an issue with Evade failing more than
|--- it should, and the EQ Client reporting that you failed to hide because you
|--- moved. This is corrected better and better by raising the '/delay' here.
|--- Higher the delay (up to about 3'ish) the better your success rate.
|-----------------------------------------------------------------------------

Sub Hide 
   /attack off 
   /delay 1
   /doability "Hide" 
   /if (${Target.Type.Equal[NPC]}) /attack on
/return
|=============================================================================

Clean Version, No Fluff (I didn't test this, just kind'a tore the above apart real fast):

Code: Select all

| Rogue.mac v1.4
| By: a_troll_01 (12/26/03) 
| Converted by Wassup (4/22/04)
| Updated by a_troll_01 (4/28/04)

#event Attack "Auto attack is on." 
#event Disarm "You disarmed"

Sub Main 
   /declare CurrentTarget global
   /declare PickPocketHP global
   /declare MeleeDistance global
   /varset PickPocketHP 40
   /varset MeleeDistance 16

   :MainLoop 
   /if (${Target.Type.Equal[NPC]}) /doevents 
   /goto :MainLoop 
/endmacro 

Sub Event_Attack 
   :SubLoop 
   /face nolook
   /if (${Target.Type.Equal[NPC]}) {
      /if (${Target.Distance}<=@MeleeDistance) {
         /call Attack
         /goto :SubLoop
         }
      }
   /if (${Target.Type.Equal[NPC]}) {
      /if (${Target.Distance}>@MeleeDistance) {
         /attack off
         /goto :SubLoop
         }
      }
   /attack off
/return

Sub Attack 
   /attack on
   /if (${Me.AbilityReady[Pick Pockets]}) /call Pickpocket
   /if (${Me.AbilityReady[Disarm]}) /call Disarm
   /if (${Me.AbilityReady[Backstab]}) /doability "Backstab"
   /if (${Me.AbilityReady[Hide]}) /call Hide 
   /autoinv 
/return 

Sub Pickpocket 
   /if (${Target.Type.Equal[NPC]}) {
      /if (${Target.PctHPs}>=@PickPocketHP) /goto :Pick
      /if (${Target.PctHPs}<@PickPocketHP) /goto :NotGreedy
   }
   :Pick
   /attack off
   /delay 1
   /if (${Target.Type.Equal[NPC]}) /doability "Pick Pockets"
   /if (${Target.Type.Equal[NPC]}) /attack on
   :NotGreedy
/return 

Sub Disarm
   /if (${Target.Type.Equal[NPC]}) /doability "Disarm"
   /doevents
/return

Sub Event_Disarm
   /varset CurrentTarget ${Target.ID}
   /itemtarget
   /click left item
   /target ID @CurrentTarget
/return

Sub Hide 
   /attack off 
   /delay 2
   /doability "Hide" 
   /if (${Target.Type.Equal[NPC]}) /attack on
/return
Last edited by a_troll_01 on Wed Apr 28, 2004 4:04 am, edited 4 times in total.
-- a_troll_01

Zxeses
a ghoul
a ghoul
Posts: 103
Joined: Tue Jan 07, 2003 4:17 pm

Post by Zxeses » Fri Dec 26, 2003 4:19 pm

Here is a suggested alternative:

Code: Select all

|------------------------------------------------- 

#event Attack "Auto attack is on." 
#turbo 

|------------------------------------------------- 

Sub Main 
   :MainLoop 
   /doevents 
   /goto :MainLoop 
/return 

|------------------------------------------------- 

Sub Event_Attack 
   :SubLoop 
   /if $cursor(id)!="NULL" /call InvDrop 
   /if $target(type)!="NPC" /return 
   /if n $char(ability,"Backstab")>0 /doability "Backstab" 
   /if n $char(ability,"Disarm")>0 /doability "Disarm" 
   /if n $char(ability,"Pick Pockets")>0 /call noattackability "Pick Pockets"
   /if n $char(ability,"Hide")>0 /call noattackability "Hide" 
   /goto :SubLoop 
/return 

Sub noattackability(MyAbility)
   /attack off 
   /doability "@MyAbility"
   /if $cursor()==TRUE /call InvDrop
   /attack on 
/return 

|------------------------------------------------- 

Sub InvDrop 
      /press i 
      /delay 0.5s 
      /click left auto 
      /click left auto 
      /click left auto 
      /press i 
/return 

|------------------------------------------------- 
 
 
 
 






ml2517
a grimling bloodguard
a grimling bloodguard
Posts: 1216
Joined: Wed Nov 12, 2003 1:12 am

Post by ml2517 » Fri Dec 26, 2003 4:23 pm

Instead of /click left auto and opening and shutting your inventory just do /autoinv

User avatar
a_troll_01
a lesser mummy
a lesser mummy
Posts: 46
Joined: Sat Dec 06, 2003 6:06 am
Location: Memphis, TN
Contact:

Post by a_troll_01 » Sat Dec 27, 2003 3:40 am

ml2517 wrote:Instead of /click left auto and opening and shutting your inventory just do /autoinv
Ha ! Thanks so much. I was trying, but I couldn't find the command for it. Cool.
-- a_troll_01

Spanky_Monkey
a ghoul
a ghoul
Posts: 103
Joined: Wed Feb 19, 2003 3:10 pm

Add auto-behind?

Post by Spanky_Monkey » Sat Dec 27, 2003 1:36 pm

Would be a cool addition to this if it did an auto behind ability :)

Programmer
a hill giant
a hill giant
Posts: 195
Joined: Mon Dec 01, 2003 2:41 am

Post by Programmer » Sat Dec 27, 2003 7:05 pm

There is another script in this forum that does auto-behind. The motion is very jerky though, so I'm not sure I'd want to have that visual clue of macroing there.

User avatar
a_troll_01
a lesser mummy
a lesser mummy
Posts: 46
Joined: Sat Dec 06, 2003 6:06 am
Location: Memphis, TN
Contact:

Post by a_troll_01 » Sun Dec 28, 2003 8:17 am

Programmer wrote:There is another script in this forum that does auto-behind. The motion is very jerky though, so I'm not sure I'd want to have that visual clue of macroing there.
Exactly, that's why I wrote this one out. I was toying with that one, and it was just too obvious. I chose this setup because it's not completely automatic. You can still 'feel' like you're in the game, you just don't have to hit "1,2,3,4" every 5 seconds.
-- a_troll_01

antara80
decaying skeleton
decaying skeleton
Posts: 8
Joined: Thu Mar 11, 2004 1:23 pm

not working

Post by antara80 » Fri Apr 16, 2004 4:33 pm

This script is no longer working as of the latest patch and ver of MQ2. I am able to start it and fight, but after it has started i cannot use a disc or use and other abilities, target mobs, loot, anything... i get a "You cannot use this command at this time" msg. and i have to log out and back in to get anything to work again. Is this caused by the #turbo issues? and if so what should i set it to for this to work again. Thanks

MacDad
decaying skeleton
decaying skeleton
Posts: 6
Joined: Mon Oct 20, 2003 3:48 pm

Post by MacDad » Thu Apr 22, 2004 3:18 am

I'm having the same problem as Antara. Any suggested fix for this?

I've really gotten addicted to not spam clicking :)

wassup
Official Guardian and Writer of TFM
Official Guardian and Writer of TFM
Posts: 1487
Joined: Sat Oct 26, 2002 5:15 pm

Post by wassup » Thu Apr 22, 2004 6:04 am

MacDad wrote:I'm having the same problem as Antara. Any suggested fix for this?

I've really gotten addicted to not spam clicking :)
I went ahead and did it since it was so short:

Code: Select all

|------------------------------------------------ 
|----------- Rogue.mac v1.0 ----------------- 
|------- Rogue Ability Autopilot -------------- 
|------------------------------------------------ 
|--- Usage: /macro Rogue 
|--- Just turn on Auto-Attack, park behind the mob. and this script 
|--- will automatically execute Pick Pockets, Disarm, Evade, and 
|--- Backstab everytime the Ability buttons become available, as well 
|--- as dropping off any Pick Pocket'ed items or Disarmed weapons 
|--- in your inventory. It will stop executing the abilities once the mob 
|--- is dead, and pick back up again after you turn Auto-Attack on. 
|--- Be sure to have those 4 abilities on buttons in your Ability or 
|--- Combat Abilities. Must be turned off with /endmacro at your leisure. 
|--- Script assumes your Inventory shortcut key is 'I'. Enjoy. 
|------------------------------------------------- 
|--- By: a_troll_01 (12/26/03) 
|--- Converted by Wassup
|--- Enjoy! 
|------------------------------------------------- 

#event Attack "Auto attack is on." 
#turbo 

Sub Main 
   :MainLoop 
   /doevents 
   /goto :MainLoop 
/endmacro

Sub Event_Attack 
   :SubLoop 
   /if (${Cursor.ID}) /call InvDrop
   /if (${Target.Type.NotEqual[NPC]}) /return 
   /call Backstab 
   /call Pickpocket 
   /call Evade 
   /call Disarm 
   /goto :SubLoop 
/return 

Sub Backstab 
   /if (${Me.AbilityReady[Backstab]}) /doability "Backstab"  
/return 

Sub Pickpocket 
   /if (${Me.AbilityReady[Pick Pockets]}) { 
      /attack off 
      /doability "Pick Pockets" 
      /attack on 
   } 
/return 

Sub Evade 
   /if (${Me.AbilityReady[Hide]}) { 
         /attack off 
         /doability "Hide" 
         /attack on 
   }    
/return 

Sub Disarm 
   /if (${Me.AbilityReady[Disarm]}) /doability "Disarm" 
/return 

Sub InvDrop
   /autoinv
   /autoinv
   /autoinv
/return 

Smitty
orc pawn
orc pawn
Posts: 25
Joined: Sun Dec 21, 2003 8:56 pm

Post by Smitty » Thu Apr 22, 2004 2:37 pm

OMG I am an idiot, I posted in the wrong place but..

I tried using this macro and it loked up my hotkeys and mouse had to zone to fix it..
Last edited by Smitty on Thu Apr 22, 2004 3:33 pm, edited 1 time in total.
Smitty

Smitty
orc pawn
orc pawn
Posts: 25
Joined: Sun Dec 21, 2003 8:56 pm

Post by Smitty » Thu Apr 22, 2004 2:59 pm

sorry I am such an idiot meant to post under a different thread
Smitty

wassup
Official Guardian and Writer of TFM
Official Guardian and Writer of TFM
Posts: 1487
Joined: Sat Oct 26, 2002 5:15 pm

Post by wassup » Thu Apr 22, 2004 5:13 pm

Smitty wrote:OMG I am an idiot, I posted in the wrong place but..

I tried using this macro and it loked up my hotkeys and mouse had to zone to fix it..
No idea why it would lock your mouse and keyboard.

Mesabo
decaying skeleton
decaying skeleton
Posts: 4
Joined: Thu Apr 22, 2004 10:19 pm
Location: Alaska
Contact:

Post by Mesabo » Thu Apr 22, 2004 10:21 pm

Macro works like it used to, except if I switch targets, then the targets die, it keeps backstabbing - even though I have no target what so ever. Even if I hit the escape key (not the escape rogue ability) it still keeps going, have to actually stop the macro. Used to not be like this.
Mesabo

antara80
decaying skeleton
decaying skeleton
Posts: 8
Joined: Thu Mar 11, 2004 1:23 pm

Post by antara80 » Fri Apr 23, 2004 3:49 pm

Same thing happens to me smitty, after the macro starts i cant do anything until i zone. All i get is a you cannot use this command now msg. anyone have any ideas what might cause this? If it it not doing it for some people, i must have missed something... Thanks