• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Fairy MM Automated Macro!

darkmoon

New member
Joined
May 19, 2005
RedCents
Here is 2 macros i made for automating the Fairy monster mission. One is for the attackers, and the other is for the person getting the mission, and looting the dust. This is almost all automated except getting the mission, and when you zone in with the "master" you need to start the macro. On the attackers it's fully automated. When they get a mission they zone in, start beating on the remains, then go to the shrine (via /warp) and will try to beat on that. After all shrines are dead they will wait 60sec. then zone out. The master mac will warp to the remains and loot the dust, then warp to a shrine and beat on it. When all shrines are dead they will warp to the begining and wait for 60sec and try to hide (to hopefully make sure none are dead before zoning out so everyone gets experience) and zone out. The master macro will attempt to destroy the dust, so be sure you have it in your top left inventory slot.

This macro uses /warp to go everywhere in this mission! Also if you can't loot the dust due to agro or if you already have one, you have to loot it manually. Also the dust must be in your top left inventory slot for it to be destroyed after the mission. :D

Rich (BB code):
|Fairy DoD Mission Macro
|Fairymaster.mac
|Version .9n
|.9a - Added /attack off after last check for shrines
|.9b - Added another check for no target if someone kills
|      your target while your dead in :Loop
|.9c - Added warping back to start of zone after your done killing
|.9d - Added /stick and /warp in the :Loop for after we die
|.9e - Added else if statement for queen so we wouldn't target corpse
|.9f - Adding warping to queen
|.9g - Modified end so everyone would zone out, added load aa
|.9h - Added code to warp/zone if you just died and mission is over
|.9i - Changed to warp to succor and increased the delay to 8s
|.9j - Added /face heading 90 to face west before pressing back
|.9k - Added /delay after all are dead so everyone gets exp.
|.9l - Went to master.mac, added esc keypress to clear inv. wnd at begining
|.9m - Added delay after /targeting queen due to her being missed right when she gets killed!
|.9n - Added check for zoning before pressing back to exit mission

#Event ImDead      "You have been slain by#*#"
#Event Zoned       "LOADING, PLEASE WAIT..."
#Event See         "You cannot see your target."

sub main
/declare death int outer
/declare oldtarget int outer
/declare deadtarget int outer
/echo Fairy DoD Mission Macro Ver. .9n

 /keypress i
/notify InventoryWindow IW_AltAdvBtn leftmouseup
/notify AAWindow AAW_LoadButton leftmouseup
/keypress esc
/keypress esc

/if (${Zone.ShortName.Equal[nektulosa_mmtomb]}) {
/echo This is where you are supposed to be!!
/echo Waiting for Queen to die!
/goto :queenwait
/goto :MainLoop
   
  } else {
    /echo You are NOT where you are supposed to be, instead your in ${Zone}! 
}

/goto :MainLoop
/return

:MainLoop
   /doevents
   /delay 5
   /goto :Queen
  /goto :Shrine
/return

:Queen
/keypress esc
  /target queen
 /if (!${Target.ID}) {
   /echo NO Queen!
   /goto :Shrine
 } else {
  /echo We found the Queen!
 /varset oldtarget ${Target.ID} 
/cadewarp target
/stick 15
/goto :Loop
}   
/if (${Target.Type.Equal[Corpse]})  {
 /goto :Shrine
 } else {
/cadewarp target
/stick 15
/goto :Loop
}
  /stick off
/return

:Shrine   
/keypress esc
  /target A Fairy Shrine
 /if (!${Target.ID}) {
   /echo NO Shrines!
  /echo Zone out now, mission complete!
/attack off
 /cadewarp succor
/face heading 90
/doability hide
/echo Waiting 100sec. for dead peeps!
/delay 100s
/keypress back hold
/delay 8s
  /goto :destroy
  } else {
  /echo We found a shrine!
  /varset oldtarget ${Target.ID}
  /cadewarp target
}   
  /if (${Target.Type.Equal[Corpse]})  {
  /echo The Shrine is dead! Looking for another one! 
 /varset deadtarget ${Target.ID}
 /target A Fairy Shrine next
} else {
 /stick 15 
/goto :Loop
}
 /if (${deadtarget} ${Target.ID}) {
   /target A Fairy Shrine next
}
 /if (!${Target.Type.Equal[Corpse]})  {
 /stick 15
 /cadewarp target 
 /varset oldtarget ${Target.ID}
/goto :Loop
}
 /if (${Target.Type.Equal[Corpse]}) {
  /echo We must have killed them all! W00T!
 /attack off
 /cadewarp succor
/face heading 90
/echo Waiting 60sec. for dead peeps!
/doability hide
}
/delay 60s
:endwait
/target clear
/target ${Group.Member[0]}
/if (!${Target.ID}) {
/goto :endwait
} else {
/keypress back hold
/delay 8s
/goto :destroy
 }
/goto :Shrine
/stick off
/return



:Loop
      /doevents
       /if (!${Target.ID}) {
         /target ID ${oldtarget} 
         /cadewarp target
}
       /if (!${Target.ID}) {
     /goto :Shrine
           }
       /if (${Target.Type.Equal[Corpse]})  {
 /goto :Shrine
}  
         /delay 2
         /attack on
 |/delay 5s
   /if (${Me.Combat}) /goto :Loop
   /if (!${Target.ID}) {
        /attack off
        /keypress forward
        /keypress back
        /stick off 
     }
/goto :Loop
/echo Returning you to the macro
/return


:queenwait
/target queen
/delay 4s
/target queen
/if (!${Target.ID}) {
/echo No queen around here buddy, she packed up and left!
/goto :Shrine
} 
/if (!${Target.Type.Equal[Corpse]}) {
/goto :queenwait
}
/if (${Target.Type.Equal[Corpse]}) {
/echo she's dead now! waiting 15sec.
/delay 15s
/cadewarp target
/delay 2s
/call loot
}
/goto :Shrine
/return

| - Added on .9M release!
:destroy
/echo Looking for dust to destroy!
/if (${Zone.ID[25]}) {
/goto :doit
} else {
/goto :destroy
}
:doit
/delay 5s
/itemnotify pack1 leftmouseup
/if (${Cursor.Name.Find[Noknok's]})  {
/destroy
} 

/return

Sub Loot 
   /declare t int outer 0 
   /declare loottotal int outer 
   /declare lootslot int outer 
   /declare lootleft int outer 0 
   /if (!${Defined[Param0]}) { 
   } else { 
      /varset lootleft ${Param0} 
   } 
   /loot
| ----------------- 
| -- Count items -- 
| ----------------- 
   /delay 3s 
   :LootLag 
   /if (${loottotal}!=${Corpse.Items}) { 
      /varset loottotal ${Corpse.Items} 
      /delay 2s 
      /goto :LootLag 
   } 
   /if (${loottotal}<=${lootleft}) { 
      /notify LootWnd DoneButton leftmouseup 
      /return 
   } 
   /varset loottotal ${Math.Calc[${Corpse.Items}-${lootleft}]} 
| --------------------- 
| -- Loot the corpse -- 
| --------------------- 
   /for lootslot 1 to ${loottotal} 
   :LootItem 
   /itemnotify loot${lootslot} rightmouseup 
   /delay 5 !${Corpse.Item[${lootslot}].ID} 
   /if (!${Corpse.Item[${lootslot}].ID}) { 
      /next lootslot 
   } else {
     /goto :LootItem 
   }
| ----------------- 
| -- Doublecheck -- 
| ----------------- 
   /if (${Math.Calc[${Corpse.Items}-${lootleft}]}>0) /goto :LootLag 
   /notify LootWnd DoneButton leftmouseup 
/return



Sub Event_ImDead

/echo We are dead =[
/varcalc death ${death}+1
/return

Sub Event_Zoned
/if (${Zone.ShortName.Equal[nektulosa_mmtomb]}) {
/echo We died ${death} times!
  } else {
    /echo You must have finished the mission!
   /endmacro
}
/return

Sub Event_See
/keypress back hold
/delay 3
/keypress back
/attack off
/return

/return

Here is the attacker macro

Rich (BB code):
|Fairy DoD Mission Macro
|Fairy.mac
|Version .9p
|.9a - Added /attack off after last check for shrines
|.9b - Added another check for no target if someone kills
|      your target while your dead in :Loop
|.9c - Added warping back to start of zone after your done killing
|.9d - Added /stick and /warp in the :Loop for after we die
|.9e - Added else if statement for queen so we wouldn't target corpse
|.9f - Adding warping to queen
|.9g - Modified end so everyone would zone out, added load aa
|.9h - Added code to warp/zone if you just died and mission is over
|.9i - Changed to warp to succor and increased the delay to 8s
|.9j - Added /face heading 90 to face west before pressing back
|.9k - Added /delay after all are dead so everyone gets exp.
|.9l - Added stuff to accept mission and zone in, VERY messy =[
|.9m - Added GMCheck, changed around waitformission to actually work
|.9n - Fixed waiting for mission code, now it works!
|.9o - Added check for zoning before pressing back to exit mission
|.9p - Added random wait to enter mission so it wouldn't be obvious we macro!

#Event ImDead      "You have been slain by#*#"
#Event Zoned       "LOADING, PLEASE WAIT..."
#Event Zoned2      "You have entered#*#"
#Event See         "You cannot see your target."
#Event Mission     "You have been assigned the task #*#"

sub main
/declare wait int outer
/declare death int outer
/declare oldtarget int outer
/declare deadtarget int outer
/echo Farie Macro started! Version .9p
/call GMCheck
/declare Zn int outer
 /keypress i
/notify InventoryWindow IW_AltAdvBtn leftmouseup
/notify AAWindow AAW_LoadButton leftmouseup
/if (${Zone.ShortName.Equal[nektulosa_mmtomb]}) {
/echo This is where you are supposed to be!!
/goto :MainLoop
   
  } else {
    /echo You are NOT where you are supposed to be, instead your in ${Zone}! 
    /echo Waiting for Monster Mission!
}
:Begin
/doevents
/goto :Begin
/goto :MainLoop
/return

:MainLoop
   /doevents
   /delay 5
   /goto :Queen
  /goto :Shrine
/return

:Queen
/keypress esc
  /target queen
 /if (!${Target.ID}) {
   /echo NO Queen!
   /goto :Shrine
 } else {
  /echo We found the Queen!
 /varset oldtarget ${Target.ID} 
/cadewarp target
/stick 15
/goto :Loop
}   
/if (${Target.Type.Equal[Corpse]})  {
 /goto :Shrine
 } else {
/cadewarp target
/stick 15
/goto :Loop
}
  /stick off
/return

:Shrine   
/keypress esc
  /target A Fairy Shrine
 /if (!${Target.ID}) {
   /echo NO Shrines!
  /echo Zone out now, mission complete!
/attack off
 /cadewarp succor
/face heading 90
/doability hide
/echo Waiting 100sec. for dead peeps!
/delay 100s
/keypress back hold
/delay 8s
/goto :waitformission
  } else {
  /echo We found a shrine!
  /varset oldtarget ${Target.ID}
  /cadewarp target
}   
  /if (${Target.Type.Equal[Corpse]})  {
  /echo The Shrine is dead! Looking for another one! 
 /varset deadtarget ${Target.ID}
 /target A Fairy Shrine next
} else {
 /stick 15 
/goto :Loop
}
 /if (${deadtarget} ${Target.ID}) {
   /target A Fairy Shrine next
}
 /if (!${Target.Type.Equal[Corpse]})  {
 /stick 15
 /cadewarp target 
 /varset oldtarget ${Target.ID}
/goto :Loop
}
 /if (${Target.Type.Equal[Corpse]}) {
  /echo We must have killed them all! W00T!
 /attack off
 /cadewarp succor
/face heading 90
/echo Waiting 60sec. for dead peeps!
/doability hide
}
/delay 60s
:endwait
/target clear
/target ${Group.Member[0]}
/if (!${Target.ID}) {
/goto :endwait
} else {
/keypress back hold
/delay 8s
/goto :waitformission
 }
/goto :Shrine
/stick off
/return



:Loop
      /doevents
       /if (!${Target.ID}) {
         /target ID ${oldtarget} 
         /cadewarp target
}
       /if (!${Target.ID}) {
     /goto :Shrine
           }
       /if (${Target.Type.Equal[Corpse]})  {
 /goto :Shrine
}  
         /delay 2
         /attack on
 |/delay 5s
   /if (${Me.Combat}) /goto :Loop
   /if (!${Target.ID}) {
        /attack off
        /keypress forward
        /keypress back
        /stick off 
     }
/goto :Loop
/echo Returning you to the macro
/return

:waitformission
/if (!${Me.ID})  {
/delay 2s
/goto :waitformission
}
/if (${Zone.ID}==25) {
/echo We are in ${Zone} waiting for the mission!
}
:missionwait
/doevents
/goto :missionwait

Sub Event_Mission
/delay 1s
/notify TaskTemplateSelectWnd TaskTemplateSelectAcceptButton leftmouseup
/varset wait ${Math.Rand[30]}
/echo Waiting ${wait} seconds until we enter!
/delay ${wait}s
/face heading 90
/keypress up hold
/delay 20s
:cmon
/if (${Zone.ShortName.Equal[nektulosa_mmtomb]}) {
/call Main
}
/goto :cmon


Sub Event_ImDead

/echo We are dead =[
/varcalc death ${death}+1
/return

Sub Event_Zoned
/call GMCheck
/if (${Zone.ShortName.Equal[nektulosa_mmtomb]}) {
/echo We died ${death} times!
  } else {
    /echo You must have finished the mission!
   }
/return

sub GMCheck
  /if (${Bool[${Spawn[gm].ID}]}) {
    /echo A GM or Guide has been detected.  Waiting for five minutes to check again ...
    /delay 300s
    /call GMCheck
  }
/return

Sub Event_See
/keypress back hold
/delay 3
/keypress back
/attack off
/return

/return


I am releasing these because i would very much like feedback on the actual macro code. I'm interested in hearing if i could do things better or more efficient! I'm sure i could but need some guidance. Also a thing to note, after the first automated Fairy MM macro came out i saw ALOT more people waiting by the zone in. The major thing that scared me was on the last MM i did i saw a groundspawn in there... you know the "Generic (SM)". I have NEVER seen a groundspawn in a fairy mm before! I might be paranoid thinking it was a GM watching me, but just be careful people, this will get nerfed like the other MM did. Speaking of which i did the Griffen MM and i saw a npc called "Test" that had that red gargoyle graphic. Very strange indeed. Anywho, be safe and please give me feedback on my macros!
 
Cade Warp Is Not Needed Just Use /warp Also Do You Have The Option In There To Go To WAll When You Get Aggro At Queen? DOESN'T LOOK LIKE YOU HAVE FAIRY FIRE CAST IN THERE EITHER, THINK IT'S MUCH FASTER TO JUST DO MANUALLY. THIS IS NOT REALLY AN AUTOMATED MISSION MACRO
 
This macro is a zerg macro, meant for a 3+ group. When you get agro at any point it doesn't care and keeps whacking on the mob, then when you die it warps you to the last mob you were hitting. Also i had a bad experience with fairy fire early on. If the shrine died to the fire you wouldn't get credit for it so thus i didn't include it. I'm unsure if they changed it, but again with the zerging it's really not an issue.
 
Are you using fairymaster.mac for the dust looting? it won't loot if it has agro. Yes you die alot with this macro, each toon dies prob. like 8 times per mission
 
DOH! that's right, sorry. I should have prob. put something in the mac to do that.
 
Curious how long does this macro take to finish the mission. I hardly mess with MM's or DoD in genral. I am kinda interested in making something like this to plvl lower end toons and mess around with.
 
With this particular macro it takes me roughly 5 or 6min. in the mission, then i get slapped with a 30min lockout timer. The manual portions of this macro are your main guy running fairymaster.mac... he manually gets the quest, and manually starts his macro. Personally i think this is awesome experience but i'm too scared to use it due to the attention MM's have been getting for their easy xp and automated macro's becoming public for them. =\
The last time i used it i had a groundspawn in my instance.... out of all the MM's i've done i've NEVER had a groundspawn be in there. It was only me doing the mission, and i wasn't foraging. That was the last time i did a MM. Oh and i don't think it was in there when i started the mission.
It should be easy to fully automate this by just warping to the npc on an account you don't care about, or having good advpaths to get to him with logic. Then make another macro to do another mm quest and you got nonstop exp rolling in.... if your not scared to do it that is.
 
What's wrong with the macro Ccomp5950 wrote? I saw that it got moved to the nerfed section, but it still works fine for me.... It has pathing instead of warping in Nektulos and it gets the mission done in under 45 minutes so there's maximum exp at all times. Used it to get a toon up to lvl 70 and 2 toons to 500 AA's in about 2 weeks.
 
Could someone re-post CComp5950's code? I missed it before he took it down. I'd like to read thru it, see if I can make it work for me.
 
No I would prefer it not be posted.

I saw people /oocing that so and so was hail locking and then people /oocing that they were going to petition the afk hail locker.

If you can make your toon run the path of the spirit and do distance checks along the way until he gets to 30 or so meters away then that would be better then hail locking. Although running the whole path from one end of the zone to the other would be pretty conspicious.

I'll work on this tonight.
 
That would be nice, but my "Fear of the unknown" I still wouldn't use it most likely for a month until I hear others getting banned or being ok with it.
 
I still have a problem with using plugins without being able to see the source.

I'm not so worried about the actual intended use, I have trust issues and for all I know you might have message packets being sent to any GM online saying "Ban me I use MQ2" without the tells showing up in the client since it is packets.

Nothing against you, just I'm more paranoid then most.
 
Tone, if you could make a TMM similar to your TDoN, that would be amazing. I'd be willing to use an account I don't care about to test it out if you PM it to me.
 
Umm It's really not that hard Odessa has already posted a fairy plugin. Both of us are working on an MM plugin ( $10 says Odessa is already done with it). I haven't done a single MM since Werewolf nerf, so it's not that high priority. It's also not an issue of getting banned. Packets are safer than macros most of the time. Odessa is like my most trusted person here I wouldn't be worried about his plugins.
 
Fairy MM Automated Macro!

Users who are viewing this thread

Back
Top
Cart