• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

leveling macro (1 Viewer)

redskycrow

New member
Joined
Sep 12, 2004
RedCents
21¢
can anyone recommend a macro and a zone to lvl a 47 wizzy back to a 54

I left a hunter macro running last night in lfaydark and got killed my a about 20 brownies then accordnign to my log files when i zoned back to bind my macro kept running and i kept drowning until i was a 47 I am not sure why it stopped there lol
 
I'd recommend you to rewrite those macroes to work better ;)
A wizard can gate/evac/exodus, shouldn't be a problem to avoid dying :) Or just use /gate ;)

As to the "kept running after zoning", is also easily fixed by adding a zone check at each iteration of the loop, then if zone has changed it just stops ;)

Auto leveling macroes are far and few between, not just because it's hard to find any macroable spots but also because whenever one is released it gets so much attention that it is nerfed within a very short period of time :(
 
I added zone checking this morning after i found i had died i don't mind the inital dying thought it was a bit annyoing i just disliked the losing from a 54 to a 47. guess it is back to POJ to get back to a 5 somethin unless anyone has a suggestion of a zone
 
Last edited:
or for people not sure of opening it or too lazy ...


Rich (BB code):
 |30Shroud from solar and PayBackTime
|What you need to do to use this.
|First shroud as something that can fight (I suggest the Raptor) at level 30
|load up with bandages and some level II HOT potions if you want to run it more than 12 hours get some food and drink too. and get to nedaria's landing (/zone nedaria)
|Setup your AA points and save them.  Attack speed is nice :)
|then run this mac and watch
|
|TODO:
|add event dzquit for stuck most of the time you stay in the rat room
|-------------------------------------------------------------------------------
|Changes we've made :)  This is still a work in progress!
|------------------------------------------------------------------------------
|Zone checks and GM checks before each use of the warp
|loadModule for the Rwarp command.
|Removed use of all waypoints and we now use real loc's with zone id checks
|will echo how much exp and aa exp (and points) after each zone
|added a logout password and restart mission
|removed my taunt about keypress 1
|removed the linux commands sleep from macro and replaced delay :?
|added a TODO area to make note of changes I'd like to see
|removed the need for the keypress one making this a real script that can run
|added a /return in newround and cleaned up code
|Rewrote a new Sub for restarting the mac.  No need in having it in here 5 times the exact same.
|Another Route that will get you into the zone if you've gotten stuck in the Guildloby
|Echo your money and stats to the IRC room
|Getting back into the mission once you've died
|Looting for coprses
|Working version of newround
|The abilty to get a new round
|Spits Leadership data to the IRC room
|connects to the IRCD
|-------------------------------------------------------------------------------
|Macro shroud5 for mq2 by PayBackTime, version 30MAR2006
|	/notify progressionselectionwnd Progressionbranchlist listselect 3
|What's new:
|Added the functions to allow using 3 types of potions:
|  1) Distillate of health II (POK bought. Don't use it if you have boon of vitality spell)
|      -- this is an AC/hp buff, casters need this to survive.
|      -- you must place this potion at an inventory slot (i.e., not in bags)
|      -- you need 12 of this potion if you plan to stay for the entire 6 hours
|  2) Distillate of celestial healing II (POK bought. By using this you don't need bandages)
|      -- this is a Heal over time spell, trigged when your hp drops to below 60%
|      -- you must put this potion at your potion belt 1 position, however you don't
|         need to put actual potions in an inventory slot. You can put them in bags.
|         (shift-p to open the potion belt, Ctrl-click the potion, then click position 1 of potion belt)
|      -- you need maybe 60 of this potion if you plan to stay for the entire 6 hours
|  3) Distillate of skinspikes II (can only be made by shamans. This is a 10point DS)
|      -- this is a 10 point DS, will help you kill a lot faster!
|      -- you must put this potion at your potion belt 2 position, however you don't
|         need to put actual potions in an inventory slot. You can put them in bags.
|         (shift-p to open the potion belt, Ctrl-click the potion, then click position 2 of potion belt)
|      -- you need 30 of this potion if you plan to stay for the entire 6 hours
|Also the macro will end when you enter POK or Nedaria, or a GM enters the zone.
|Fixed the problem of stucking behind the box in rat room
|
|What this macro does:
|
|*Use a shrouded level 5 and hunt in the forgotten hall for unlock shroud forms
|
|*What you need to do before invoking the macro:
|
|*You must go to Nedaria's landing after changing into a level 5 shrouded form,
| and say 'interested in visiting' to NPC Eldros Danmor to start an instance of
| the forgotten hall. Zone in is at eastern side, in a cave. Click the lone stone
| besides the NPC standing there. The instance will last for 6 hours.
| WARNING: WOLVES MAY BE KOS TO CERTAIN CLASSES, THEY ARE LEVEL 20+ SO BE AWARE!
|
|*You also need to bring backpacks of bandages with you. Bandages can be purchased
| from the female merchant in front of the small bank in POK. Suggest 2-3 backpacks
| for casters, 1 for melees.
|
|*It is recommended that you bring potions (follow the above instructions)
| for caster type shrouds.
| 
|*Invoke the macro after zoning into the forgotten hall and get to the rat room,
| Do not invoke it at zone in since the program assumes you are either in the 3 rooms,
| or somewhere in between any two rooms.
|
|The following are some values in echo'ed messages in case you wonder what they mean:
|
|*Values for room (RV_ROOM): 1=rat room, 2=bat room, 3=reject room
|
|*Values for corridor (RV_CORR): 10=rat room, 15=turn point between rat and bat rooms
|                     20=bat room, 24=outside bat room, 25=turn point between bat and reject rooms
|                     30=reject room, 35=outside reject room
|--------------------------------------------------------------------------------

	#event AltTell "#1# tells you #2#" 


Sub Main


   /declare RV_HasTarget        int outer  0
   /declare RV_TargetDead       int outer  0
   /declare RV_DotUsed          int outer  0
   /declare RV_ROOM             int outer  0
   /declare RV_CORR             int outer  0
   /declare RV_GOTO             int outer  0
   /declare RV_CNT              int outer  0
   /declare X2                  int outer  0
   /declare Y2                  int outer  0
   /declare LocXP2              int outer  0
   /declare LocXM2              int outer  0
   /declare LocYP2              int outer  0
   /declare LocYM2              int outer  0

/plugin mq2irc
/plugin mq2switch
/plugin mq2rwarp
/plugin mq2cobalt
/i quit (restarting script)
/iconnect irc.evil-fish.net 6667 #eq ${Me.Name}
/echo warp wp rat
/if (${Spawn[gm].ID}) /call PanicSub
/if (${Zone.ID}==998) /warp loc -600 145 2
/delay 2
/notify AAWindow AAW_LoadButton leftmouseup
/delay 2
/doevents

   :Start

   /call GetTarget

   :KillAdds
   /if (${RV_HasTarget}) /call CombatSub
   /call ResetSub

   /if (${Target.ID}) {
      /delay 1s
      /varset RV_HasTarget 1
      /goto :KillAdds
   }
   /call BandSub
   /goto :Start
   
/return

|--------------------------------------------------------------------------------
|SUB: Aquire Target
|--------------------------------------------------------------------------------
Sub GetTarget

   /if (${RV_ROOM}==0) {
           /keypress esc
           /keypress esc
           /keypress esc
           /keypress esc
           /varset RV_GOTO 1
           /call RoomSub
           /return
   }

   /if (${RV_ROOM}==1) {
          /delay 2
        /target rat npc
        /if (!${Target.ID} || ${Target.Y}>-475) {
           /keypress esc
           /keypress esc
           /keypress esc
           /keypress esc
           /varset RV_GOTO 2
           /call RoomSub
           /return
        }
   }
   /if (${RV_ROOM}==2) {
           /delay 2
        /target bat npc
        /if (!${Target.ID} || ${Target.Y}>-475) {
           /keypress esc
           /keypress esc
           /keypress esc
           /keypress esc
           /varset RV_GOTO 3
           /call RoomSub
           /return
        }
   }
   /if (${RV_ROOM}==3) {
        /delay 2
        /target reject npc
        /if (!${Target.ID}) {
           /delay 2
          /target bat npc
        }
        /if (!${Target.ID} || ${Target.X}<-80) {
           /delay 2
           /keypress esc
           /keypress esc
           /keypress esc
           /keypress esc
           /target rat npc
        }
        /if (!${Target.ID} || ${Target.Y}<-500) {
           /if (!${Target.ID}) {
               /sit
               /i say wait for rat room to respawn...
               /delay 30s
               /stand
           }
           /if (${Target.Y}<-500) {
               /delay 2
               /keypress esc
               /keypress esc
               /keypress esc
               /keypress esc
               /varset RV_GOTO 1
               /call RoomSub
               /return
           }
        }
   }

   /if (${Target.ID}) {
       /varset RV_HasTarget 1
       /return
   }
 
/return

|--------------------------------------------------------------------------------
|SUB: Combat
|--------------------------------------------------------------------------------
Sub CombatSub

   /i say Attacking ${Target.ID} NOW!  ${Me.PctHPs}%HP ${Me.PctMana}%MP ${Me.PctEndurance}%Endurance ${Me.Platinum}pp ${Me.Gold}gp ${Me.Silver}sp ${Me.Copper}
   /varset RV_TargetDead 0
   /varset RV_DotUsed 0
   
   /delay 2

   :CombatLoop
 
   /call MoveSub

   /attack on

   /if (${Target.ID} && ${Me.State.NotEqual[STUN]}) {
      /if (${Target.ID}) /face fast
      /if (!${RV_DotUsed}) {
         /if (${Me.AltAbilityReady[Swarm of Pain]} && ${Me.CurrentMana} >=11 && !${Me.Moving} && !${Me.Casting.ID} ) {
         /aa act Swarm of Pain
         /varset RV_DotUsed 1
         /delay 2s
         }
         /if (${Me.AltAbilityReady[Lesion]} && ${Me.PctEndurance} >=6 && !${Me.Casting.ID} ) {
         /aa act Lesion
         /varset RV_DotUsed 1
         }
      }
      /if (${Me.AltAbilityReady[Frost]} && ${Me.CurrentMana} >=5 && !${Me.Moving} && !${Me.Casting.ID} ) {
      /aa act Frost
      /delay 2s
      }
      /if (${Me.AltAbilityReady[Mana Bolt]} && ${Me.CurrentMana} >=4 && !${Me.Moving} && !${Me.Casting.ID} ) {
      /aa act Mana Bolt
      /delay 2s
      }
      /if (${Me.AbilityReady[Kick]} && ${Target.Distance}<17 && !${Me.Casting.ID}) {
      /doability "Kick"
      }
      /if (${Me.AltAbilityReady[Maul]} && ${Me.PctEndurance} >=6 && !${Me.Casting.ID} ) {
      /aa act Maul
      /delay 2s
      }
      /if (${Me.PctHPs}<70 && ${FindItem[Distillate of Celestial Healing II].InvSlot}) {
        /potionbelt activate 1
        /delay 1s
      }
  }

   /if (!${Target.ID} || ${Target.Type.Equal[Corpse]}) {
|   /echo Leadership XP ${Me.PctGroupLeaderExp} ${Me.GroupLeaderPoints}
     /attack off
      /keypress forward
      /keypress back
     
      /varset RV_TargetDead 1
      /if (!${Target.ID}) {
         /call ResetSub
         /return
      }
   }

   /if (!${RV_TargetDead}) {
      /goto :CombatLoop
   }
   
/return

 
|--------------------------------------------------------------------------------
|SUB: Change Room
|--------------------------------------------------------------------------------
Sub RoomSub
 
    :Startmove

    /varset RV_ROOM 0
    /varset RV_CORR 0
    /if (${Me.X}>100 && ${Me.Y}<-500 )                        /varset RV_CORR 10
    /if (${Me.X}<-80 )                                        /varset RV_CORR 20
    /if (${Me.X}>60 && ${Me.Y}>-445 )                         /varset RV_CORR 30
    /if (${Me.X}>=-15 && ${Me.X}<=100 && ${Me.Y}<-500 )        /varset RV_CORR 15
    /if (${Me.X}>=-80 && ${Me.X}<-15)                          /varset RV_CORR 25
    /if (${Me.X}>=-15 && ${Me.Y}>=-500 && ${Me.Y}<=-445 )     /varset RV_CORR 35

    /if (${RV_GOTO}==1 ) /goto :Moveto1
    /if (${RV_GOTO}==2 ) /goto :Moveto2
    /if (${RV_GOTO}==3 ) /goto :Moveto3

   :Moveto1
      /if (${Me.X}>100 && ${Me.Y}<-500 ) {
         /keypress back
          /delay 2
          /varset RV_ROOM 1
          /return
      }
   :Moveroom3to1
      /if (${RV_CORR}==30 ) {   
      /face fast loc -390, 135
      /call Move2Sub
      /if (${Me.Y}<=-385 && ${Me.Y}>=-395 && ${Me.X}<=140 && ${Me.X}>=130) {
         /keypress back
         /delay 2
         /varset RV_CORR 35
         /goto :Movecorr3to1
      }
      /goto :Moveroom3to1
      }
   :Movecorr3to1
      /if (${RV_CORR}==35  ) {   
      /face fast loc -475, 135
      /call Move2Sub
      /if (${Me.Y}<=-470 && ${Me.Y}>=-480 && ${Me.X}<=140 && ${Me.X}>=130) {
         /keypress back
          /delay 2
         /varset RV_CORR 25
         /goto :Movecorr2to1
      }
      /goto :Movecorr3to1
      }
   :Movecorr2to1
      /if (${RV_CORR}==25  ) {   
      /face fast loc -475, -40
      /call Move2Sub
      /if (${Me.Y}<=-470 && ${Me.Y}>=-480 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /keypress back
          /delay 2
         /varset RV_CORR 15
         /goto :Movecorr1to1
      }
      /goto :Movecorr2to1
      }
   :Moveroom2to1
      /if (${RV_CORR}==20 ) {   
      /face fast loc -560, -143
      /call Move2Sub
      /if (${Me.Y}<=-555 && ${Me.Y}>=-565 && ${Me.X}<=-138 && ${Me.X}>=-148) {
         /keypress back
          /delay 2
         /varset RV_CORR 24
         /goto :Movecorr24to1
      }
      /goto :Moveroom2to1
      }
   :Movecorr24to1
      /if (${RV_CORR}==24  ) {   
      /face fast loc -560, -40
      /call Move2Sub
      /if (${Me.Y}<=-555 && ${Me.Y}>=-565 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /keypress back
          /delay 2
         /varset RV_CORR 15
         /goto :Movecorr1to1
      }
      /goto :Movecorr24to1
      }
   :Movecorr1to1
      /if (${RV_CORR}==15 ) {   
      /face fast loc -600, -40
      /if (${Me.Y}<=-595 && ${Me.Y}>=-605 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /varset RV_CORR 10
         /goto :Movelastto1
      }
      /call Move2Sub
      /if (${Me.Y}<=-595 && ${Me.Y}>=-605 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /keypress back
          /delay 2
         /varset RV_CORR 10
         /goto :Movelastto1
      }
      /goto :Movecorr1to1
      }
   :Movelastto1
      /if (${RV_CORR}==10 ) {   
      /face fast loc -600, 150
      /call Move2Sub
      /if (${Me.Y}<=-595 && ${Me.Y}>=-605 && ${Me.X}<=155 && ${Me.X}>=145) {
         /keypress back
          /delay 2
          /varset RV_ROOM 1
          /return
      }
      /goto :Movelastto1
      }
    /goto :Moveto1

   :Moveto2
      /if (${Me.X}<-80 ) {
         /keypress back
          /delay 2
          /varset RV_ROOM 2
          /return
      }
   :Moveroom3to2
      /if (${RV_CORR}==30 ) {   
      /face fast loc -390, 135
      /call Move2Sub
      /if (${Me.Y}<=-385 && ${Me.Y}>=-395 && ${Me.X}<=140 && ${Me.X}>=130) {
         /keypress back
          /delay 2
         /varset RV_CORR 35
         /goto :Movecorr3to2
      }
      /goto :Moveroom3to2
      }
   :Movecorr3to2
      /if (${RV_CORR}==35  ) {   
      /face fast loc -475, 135
      /call Move2Sub
      /if (${Me.Y}<=-470 && ${Me.Y}>=-480 && ${Me.X}<=140 && ${Me.X}>=130) {
         /keypress back
          /delay 2
         /varset RV_CORR 25
         /goto :Movecorr2to2
      }
      /goto :Movecorr3to2
      }
   :Movecorr2to2
      /if (${RV_CORR}==25  ) {   
      /face fast loc -475, -40
      /call Move2Sub
      /if (${Me.Y}<=-470 && ${Me.Y}>=-480 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /keypress back
          /delay 2
         /varset RV_CORR 24
         /goto :Movecorr24to2
      }
      /goto :Movecorr2to2
      }
   :Moveroom1to2
      /if (${RV_CORR}==10 ) {   
      /face fast loc -600, 150
      /call Move2Sub
      /if (${Me.Y}<=-595 && ${Me.Y}>=-605 && ${Me.X}<=155 && ${Me.X}>=145) {
         /keypress back
          /delay 2
         /varset RV_CORR 15
         /goto :Movecorr1to2
      }
      /goto :Moveroom1to2
      }
   :Movecorr1to2
      /if (${RV_CORR}==15 ) {   
      /face fast loc -600, -40
      /call Move2Sub
      /if (${Me.Y}<=-595 && ${Me.Y}>=-605 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /keypress back
          /delay 2
         /varset RV_CORR 24
         /goto :Movecorr24to2
      }
      /goto :Movecorr1to2
      }
    :Movecorr24to2
      /if (${RV_CORR}==24  ) {   
      /face fast loc -560, -40
      /call Move2Sub
      /if (${Me.Y}<=-555 && ${Me.Y}>=-565 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /keypress back
          /delay 2
         /varset RV_CORR 20
         /goto :Movelastto2
      }
      /goto :Movecorr24to2
      }
   :Movelastto2
      /if (${RV_CORR}==20 ) {   
      /face fast loc -560, -143
      /call Move2Sub
      /if (${Me.Y}<=-555 && ${Me.Y}>=-565 && ${Me.X}<=-138 && ${Me.X}>=-148) {
         /keypress back
           /delay 2
          /varset RV_ROOM 2
          /return
      }
      /goto :Movelastto2
      }
    /goto :Moveto2

   :Moveto3
      /if (${Me.X}>60 && ${Me.Y}>-445 ) {
         /keypress back
          /delay 2
          /varset RV_ROOM 3
          /return
      }
   :Moveroom1to3
      /if (${RV_CORR}==10 ) {   
      /face fast loc -600, 150
      /call Move2Sub
      /if (${Me.Y}<=-595 && ${Me.Y}>=-605 && ${Me.X}<=155 && ${Me.X}>=145) {
         /keypress back
          /delay 2
         /varset RV_CORR 15
         /goto :Movecorr1to3
      }
      /goto :Moveroom1to3
      }
   :Movecorr1to3
      /if (${RV_CORR}==15 ) {   
      /face fast loc -600, -40
      /call Move2Sub
      /if (${Me.Y}<=-595 && ${Me.Y}>=-605 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /keypress back
          /delay 2
         /varset RV_CORR 25
         /goto :Movecorr2to3
      }
      /goto :Movecorr1to3
      }
   :Moveroom2to3
      /if (${RV_CORR}==20 ) {   
      /face fast loc -560, -143
      /call Move2Sub
      /if (${Me.Y}<=-555 && ${Me.Y}>=-565 && ${Me.X}<=-138 && ${Me.X}>=-148) {
         /keypress back
          /delay 2
         /varset RV_CORR 24
         /goto :Movecorr24to3
      }
      /goto :Moveroom2to3
      }
    :Movecorr24to3
      /if (${RV_CORR}==24  ) {   
      /face fast loc -560, -40
      /call Move2Sub
      /if (${Me.Y}<=-555 && ${Me.Y}>=-565 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /keypress back
          /delay 2
         /varset RV_CORR 25
         /goto :Movecorr2to3
      }
      /goto :Movecorr24to3
      }
   :Movecorr2to3
      /if (${RV_CORR}==25  ) {   
      /face fast loc -475, -40
      /call Move2Sub
      /if (${Me.Y}<=-470 && ${Me.Y}>=-480 && ${Me.X}<=-35 && ${Me.X}>=-45) {
         /keypress back
          /delay 2
         /varset RV_CORR 35
         /goto :Movecorr3to3
      }
      /goto :Movecorr2to3
      }
   :Movecorr3to3
      /if (${RV_CORR}==35  ) {   
      /face fast loc -475, 135
      /call Move2Sub
      /if (${Me.Y}<=-470 && ${Me.Y}>=-480 && ${Me.X}<=140 && ${Me.X}>=130) {
         /keypress back
          /delay 2
         /varset RV_CORR 30
         /goto :Movelastto3
      }
      /goto :Movecorr3to3
      }
   :Movelastto3
      /if (${RV_CORR}==30 ) {   
      /face fast loc -390, 135
      /call Move2Sub
      /if (${Me.Y}<=-385 && ${Me.Y}>=-395 && ${Me.X}<=140 && ${Me.X}>=130) {
         /keypress back
          /delay 2
          /varset RV_ROOM 3
          /return
      }
         /goto :Movelastto3
      }
    /goto :Moveto3
/return


|--------------------------------------------------------------------------------
|SUB: Move2, moving when you do not have a target, esp. moving from room to room
|--------------------------------------------------------------------------------
Sub Move2Sub
     
      /if (${Spawn[gm].ID}) /call PanicSub
      /if (${Spawn[eldros].ID}) /call NewRound
      /if (${Spawn[shroudkeeper].ID}) /call DeadSub
	/if (${Spawn[alaria].ID}) /call NedariaSub

      /keypress forward hold
      /varset X2 ${Me.X}
      /varset Y2 ${Me.Y}
      /varcalc LocXP2 ${X2}+1
      /varcalc LocXM2 ${X2}-1
      /varcalc LocYP2 ${Y2}+1
      /varcalc LocYM2 ${Y2}-1
      /delay 2
      /if (${LocXP2}>${Me.X} && ${LocXM2}<${Me.X} && ${LocYP2}>${Me.Y} && ${LocYM2}<${Me.Y}) {
         /keypress back
         /echo stucked corr= ${RV_CORR} goto= ${RV_GOTO}, retry...
         /delay 2
         /if (${Me.X}>100 && ${Me.Y}<-500 ) {
                       /if (${Me.X}>100 && ${Me.Y}<-645) {
                             /keypress back
                             /delay 2
                             /face fast loc -662, 178
                             /keypress forward hold
                             /delay 2s
                       }
                       /varset RV_CORR 10
         }
         /if (${Me.X}<-80 )                                        /varset RV_CORR 20
         /if (${Me.X}>60 && ${Me.Y}>-445 )   {
                  /keypress back
                  /delay 2
                  /face fast loc ${Math.Rand[10000]}, ${Math.Rand[10000]}
                  /keypress forward hold
                  /delay 2s
                  /varset RV_CORR 30
         }
         /if (${Me.X}>=-15 && ${Me.X}<=100 && ${Me.Y}<-500 )  {
             /if (${RV_CORR}==15 )                   /varset RV_CORR 14
             /if (${RV_CORR}<14 || ${RV_CORR}>15)    /varset RV_CORR 15
             /if (${RV_CORR}==14 )                   /varset RV_CORR 10
         }
         /if (${Me.X}>=-80 && ${Me.X}<-15) {
             /if (${RV_CORR}==15 || ${RV_CORR}==24 || ${RV_CORR}>25)    /varset RV_CORR 22
             /if (${RV_CORR}==25 || ${RV_CORR}==20 ) /varset RV_CORR 24
             /if (${RV_CORR}==10 )                   /varset RV_CORR 15
             /if (${RV_CORR}==22 )                   /varset RV_CORR 25
         }
         /if (${Me.X}>=-15 && ${Me.Y}>=-500 && ${Me.Y}<=-445 ) /varset RV_CORR 35
      }
/return

|--------------------------------------------------------------------------------
|SUB: Move, moving when you have a target, during combat, etc.
|--------------------------------------------------------------------------------
Sub MoveSub

      /varset RV_CNT 0

      :MoveLoop
     
      /stand
      /if (${Target.Distance}>17) {
              /if (${Target.ID}) /face fast
              /keypress forward hold
              /varset X2 ${Me.X}
              /varset Y2 ${Me.Y}
              /varcalc LocXP2 ${X2}+1
              /varcalc LocXM2 ${X2}-1
              /varcalc LocYP2 ${Y2}+1
              /varcalc LocYM2 ${Y2}-1
              /delay 5
              /if (${LocXP2}>${Me.X} && ${LocXM2}<${Me.X} && ${LocYP2}>${Me.Y} && ${LocYM2}<${Me.Y}) {
                  /if (${Me.X}>100 && ${Me.Y}<-500 ) {
                          /if (${Me.X}>100 && ${Me.Y}<-645) {
                                /keypress back
                                /delay 2
                                /face fast loc -662, 178
                                /keypress forward hold
                                /delay 2s
                          }
                           /keypress back
                          /delay 2
                          /face fast loc -600, 150
                          /echo  stucked when moving to mob in the rat room, retry...
                          /keypress forward hold
                          /delay 2s
                          /keypress back
                          /if (${Target.ID}) /face fast
                          /varcalc RV_CNT ${RV_CNT}+1
                          /if (${RV_CNT}>100 && ${Target.PctHPs}==100) {
                                 /keypress back
                                 /keypress esc
                                 /keypress esc
                                 /keypress esc
                                 /keypress esc
                                 /echo  stucked too many times, restarting cycles...
                                 /call RoomSub
                                 /return
                          }
                          /goto :MoveLoop
                  }
                  /if (${Me.X}<-80 )  {
                          /keypress back
                          /delay 2
                          /face fast loc -560, -143
                          /echo  stucked when moving to mob in the bat room, retry...
                          /keypress forward hold
                          /delay 2s
                          /keypress back
                          /if (${Target.ID}) /face fast
                          /varcalc RV_CNT ${RV_CNT}+1
                          /if (${RV_CNT}>100 && ${Target.PctHPs}==100) {
                                 /keypress back
                                 /keypress esc
                                 /keypress esc
                                 /keypress esc
                                 /keypress esc
                                 /echo  stucked too many times, restarting cycles...
                                 /call RoomSub
                                 /return
                          }
                          /goto :MoveLoop
                 }
                  /if (${Me.X}>60 && ${Me.Y}>-445 )  {
                          /keypress back
                          /delay 2
                          /face fast loc ${Math.Rand[10000]}, ${Math.Rand[10000]}
                          /echo  stucked when moving to mob in the reject room, retry...
                          /keypress forward hold
                          /delay 2s
                          /keypress back
                          /if (${Target.ID}) /face fast
                          /varcalc RV_CNT ${RV_CNT}+1
                          /if (${RV_CNT}>100 && ${Target.PctHPs}==100) {
                                 /keypress back
                                 /keypress esc
                                 /keypress esc
                                 /keypress esc
                                 /keypress esc
                                 /echo  stucked too many times, restarting cycles...
                                 /call RoomSub
                                 /return
                          }
                            /goto :MoveLoop
                  }
                  /keypress back
                  /keypress esc
                  /keypress esc
                  /keypress esc
                  /keypress esc
                  /echo  stucked outside, restarting cycles...
                  /call RoomSub
                  /return
              }
              /keypress back             
              /if (${Target.ID}) /face fast
              /goto :MoveLoop
      }

 
       /if (${Target.Distance}>15) {
              /if (${Target.ID}) /face fast
              /keypress forward hold
              /delay 2
              /keypress back
              /if (${Target.ID}) /face fast
      }
/return

|--------------------------------------------------------------------------------
|SUB: Reset  NOW WITH LOOTING!
|--------------------------------------------------------------------------------
Sub ResetSub

 
   /tar corpse radius 40
   /call MoveSub
   /loot
   /delay 5
   /keypress esc
   /keypress esc
   /keypress esc
   /keypress esc
   /keypress esc
   /keypress esc
   
   /varset RV_HasTarget 0
   /varset RV_TargetDead 0
   
   
/return
|--------------------------------------------------------------------------------
|SUB: Bandage, Heal and Buff Self
|--------------------------------------------------------------------------------
Sub BandSub

   /if (${Spawn[gm].ID}) /call PanicwSub
   /if (${Spawn[eldros].ID}) /call NewRound
   /if (${Spawn[shroudkeeper].ID}) /call DeadSub
   /if (${Spawn[alaria].ID}) /call NedariaSub
   /target myself
   /delay 5

   :BuffLoop
 
   /if (!${Me.Buff[Pure Thought II].ID} && ${Me.AltAbilityReady[Pure Thought]}) {
      /aa act Pure Thought
      /delay 6s
      /goto :BuffLoop
   }

   /if (!${Me.Buff[Gift of Speed II].ID} && ${Me.AltAbilityReady[Gift of Speed]}) {
      /aa act Gift of Speed
      /delay 6s
      /goto :BuffLoop
   }

   /if (!${Me.Buff[Distillate of Skinspikes].ID} && ${FindItem[Distillate of Skinspikes II].InvSlot}) {
      /potionbelt activate 2
      /delay 5s
   }
   /if (!${Me.Buff[Boon of Vitality II].ID} && !${Me.Buff[Elixir of Health II].ID}) {
      /if (${Me.AltAbilityReady[Boon of Vitality]} && ${Me.CurrentMana} >=3) {
         /aa act Boon of Vitality
         /delay 6s
         /goto :BuffLoop
      }
      /if (${FindItem[Distillate of Health II].InvSlot}>=22 && ${FindItem[Distillate of Health II].InvSlot}<=29 ) {
         /cast item "Distillate of Health II"
         /delay 3s
      }
   }

   :HealLoop
   
   /if (${Me.PctHPs} <= 65 && ${Me.AltAbilityReady[Heal Wounds]} && ${Me.PctMana} > 70) {
      /aa act Heal Wounds
      /delay 5s
      /goto :HealLoop
   }
 
   /sit
   /delay 1s

   :BandLoop
 
   /if (${Me.PctHPs} <= 69 && ${Me.AbilityReady[Bind Wound]}) {
      /target
	/doability "Bind Wound"
      /delay 15s
      /goto :BandLoop
   }

   :SitLoop
 
   /if (${Me.PctMana} >0 && ${Me.PctMana} <= 70) {
	/sit
	/doevents
	/delay 6s
      /goto :SitLoop
      }

|---------------------------- 
|Stam wait
|--------------------------------
   :StamLoop
   /if (${Me.PctEndurance} >0 && ${Me.PctEndurance} <= 60) {
      /delay 6s
	/doevents
      /goto :StamLoop
      }
   }
   /stand

   /keypress esc
   /keypress esc
   /keypress esc
   /keypress esc
       
/return
|-------------------------------------------------------------------------------
|SUB: New Round not so kludge oh mania!
|-------------------------------------------------------------------------------
Sub NewRound
	/delay 120s
	/echo warp wp mission
	/if (${Spawn[gm].ID}) /call PanicSub
	/if (${Zone.ID}==182) /warp loc 311 1590 52
	/delay 2s
	/target "Eldros Danmor"
	/delay 2s
	/face fast
	/delay 2s
	/say "Interested in visiting"
	/delay 2s
	/echo warp wp zone
	/if (${Spawn[gm].ID}) /call PanicSub
	/if (${Zone.ID}==182) /warp loc 1542 -671 95
	/echo "delay 120"
	/delay 120s
	/echo warp wp rat room
	/if (${Spawn[gm].ID}) /call PanicSub
	/if (${Zone.ID}==998) /warp loc -600 145 2
	/i say I have entered ${Zone.Name}
	/switch 8
	/delay 120s
	/i say I have entered ${Zone.Name}
	/i say ${Me.PctExp}% experience...
	/i say ${Me.AAPoints} and ${Me.PctAAExp} AA exp
	/echo warp wp rat
	/if (${Spawn[gm].ID}) /call PanicSub
	/if (${Zone.ID}==998) /warp loc -600 145 2
	/call RestartSub
/return

|-------------------------------------------------------------------------------
|SUB:	Nedaria!
|	You shouldn't ever need this unless you're stuck in the Guild Lobby
|-------------------------------------------------------------------------------

Sub NedariaSub
	/echo warp wp mag
	/if (${Spawn[gm].ID}) /call PanicSub
	/if (${Zone.ID}==344) /warp loc 598 6 1.13
	/target Alaria
	/face fast
	/delay 30
	/say nedaria
	/delay 120
	/i say I have entered ${Zone.Name}
	/switch 8
	/delay 120
	/echo warp wp rat
	/if (${Spawn[gm].ID}) /call PanicSub
	/if (${Zone.ID}==998) /warp loc -600 145 2
	/call RestartSub
/return

|--------------------------------------------------------------------------------
|SUB: Panic, quit the macro
|--------------------------------------------------------------------------------
Sub PanicSub
   /keypress back
   /i say PANIC! PANIC! GM DETECTED! in zone ${Zone.Name}
   /delay 5
   /camp desktop
   /keypress back
   /endmacro
   /unload
/return
  
|----------------
|SUB: DEAD!
|----------------

Sub DeadSub
	/echo BRING OUT YOUR DEAD!
	/i say BRING OUT YOUR DEAD!
	/i say I have entered ${Zone.Name}
	/delay 120
	/switch 17
	/delay 120
	/i say I have entered ${Zone.Name}
	/echo warp wp mag
	/if (${Spawn[gm].ID}) /call PanicSub
	/if (${Zone.ID}==344) /warp loc 598 6 1.13
	/target Alaria
	/face fast
	/delay 30
	/say nedaria
	/delay 120
	/i say I have entered ${Zone.Name}
	/switch 8
	/delay 120
	/warp wp rat
	/if (${Spawn[gm].ID}) /call PanicSub
	/if (${Zone.ID}==998) /warp loc -600 145 2
	/call RestartSub
	/camp desktop
	/endmacro
/return


|------------------
|SUB:RESTART MACRO
|------------------
Sub RestartSub
	/echo warp wp rat
	/if (${Spawn[gm].ID}) /call PanicSub
	/if (${Zone.ID}==998) /warp loc -600 145 2
/return

|----------------
|SUB:DROP
|----------------
Sub Drop
	/i say Dropping my mission...
	/dzquit
/return

|----------------
|Logout
|----------------
Sub Logout
	/beep
	/beep
	/beep
	/echo Logging off
	/i say Logging out because I was told to by password
	/i quit (killed by Password)
	/camp desktop
	/delay 10s
	/endmacro
/return

|-------------------
|Sub Told to do stuff...
|-------------------
Sub Event_AltTell(string text)
  /if (${text.Lower.Find["PASSWORD!"]}) {
  /call Logout
}
	/if (${text.Lower.Find["NEW MISSION!"]}) {
  /call Drop
}

/return

Thanks Solar, Red cent inc.!
 
thanks i take it this works for any lvl correct

I'm sorry it wouldn't post for me said it was too large. But I've only used it for up to level 30. After that it gets a bit harder. At level 30 you shouldn't die ever. The mac is made to run w/o intervention only to get things daily.
 
leveling macro

Users who are viewing this thread

Back
Top