The following macro is for the task found in House of Thule: Thinning their numbers" Rotdogs and Snakes" quest. It is repeatable for faction and xp while grinding. I'm unsure the min level requirement to get the quest but in the lvl 85ish area, the xp in this zone is not bad. Hope you like and hope to improve over time and expand.
-Rustycat
-Rustycat
Rich (BB code):
| Ruppocsnakes.mac Version 1.1 by Rustycat
|
| This macro assumes MQ2Reward, and MQ2MoveUtils are loaded. This is the start of a marco to
| set up camp in House of Thule south wall courtyard east side to grind xp while doing
| Ruppoc Rockjumper's "Thinning Out Their Numbers: Rotdogs and Snakes" quest. Characters running
| this macro should be along the south wall and to the east side somewhere between midway
| east or further towards the corner and east wall when starting. Once in camp and set up with
| your group or solo, target the assist and launch. As you kill the mobs in the area, the
| macro will have the character run to Ruppoc, hail him to get a reward if he's already got
| the task completed, re-acquire the Rotdogs and Snakes quests, return back to his camp and
| launch instead his combat bot assisting. As they reash 8 task updates (4 snakes and 4
| rotdogs killed), it will run the route again for turn in, reacquire and restart indefinitely.
| Top stop the macro, you currently must /end macro manually or some failure stops it. To
| pause the macro, you can simple stop pulling mobs into the camp to kill. Use cautiously
| as there are not a lot of checks for dangers or errors currently in this release. There is
| much that can be improved and optimized in this macro I'm sure and as time allows and my
| learning continues, I will try to update and do just that either in this original work or
| in the larger scope project it may become a part of.
|________________________________________________________________________________________________
|
| ***WARNINGS***
| Please do not AFK macro using macroquest, if you do, you do so at your own risk.
| This macro is a test of concept and is under further development as both a learning tool
| and a stepping stone to larger scope ideas.
| Movements are limited at this time to try and add some randomness and you may get stuck and
| there are not checks to get you unstuck. More reason to again, not AFK macro this kind of
| thing.
| Group make up can be a large array but at least some crowd control is recommended for saftey
| for that "moment" you are not fully aware of what's going on and you get adds at a bad time.
|_________________________________________________________________________________________________
|
| ***Instructions***
| Take the macro you use for bot'ing your character for XP camps and make a copy of it. Save this
| copy as a .inc instead of the .mac (USE A COPY NOT YOUR ACTUAL MACRO). Edit the macro and find
| the "Sub Main" statement and rename "Main" to the name of the macro or something unique that
| you can set up a /call. In this default configuration, I've chosen to use kissassist.mac as my
| choice provided at redguides.com by Maskoi. Prop's goes to him and those guys for this great
| compilation of a macro. Other bot macro's can be use such as Raiddruid, Modbot, etc. Bot's using
| customizable .ini files are easiest to work with as you can set up the macro for it and then
| it would use the existing settings you use for that bot macro already without additional setup.
| I would suggest controlling the puller or tank with this macro so when a bot runs to do it's
| turn in and reacquires the quest, you dont' have accidental adds in the camp while everyone's
| running about. Once you selected the bot (if not KISSASSIST), you will need to edit the include
| reference at the top of the macro and the /call ... within the CombatTime sub. If you wish to use
| different bots on different characters, you will need to make more than one copy of this macro
| and name them seperately to configure for each at this time. Once configured to your choice
| of macro, you simply target who the main assist is for the character to use (this could be
| themselves depending on what you set up) and /mac ruppocsnakes.
|__________________________________________________________________________________________________
#turbo
| You can modify and config most combat/heal/pull etc macros to be this .inc as you pref.
#include kissassist.inc
#Event Taskupdate "[MQ2] Task updated...('Thinning Out Their Numbers: Rotdogs and Snakes')"
Sub Main
/echo *********************************
/echo ** Thank you for using
/echo ** ruppocsnakes.mac by Rustycat.
/echo *********************************
| Declaring some variables ***intended to tie in .ini file for more control options per character
| for task counts, MA's, unique combat bot configurations, etc.
/declare ${Me.Name}QuestStartingX int outer ${Me.X}
/declare ${Me.Name}QuestStartingY int outer ${Me.Y}
/declare ${Me.Name}RuppocAssist string outer ${Target.Name}
/declare ${Me.Name}RuppocStage int outer 0
/call ruppocsnakes
/return
|
|______________________________________________________________________________________________________
Sub ruppocsnakes
| Move to Quest Giver Ruppoc
/call MoveToRuppoc
| Targeting Quest Giver and doing hails
/call HailRuppoc
| Returns to camp start position from where macro was started
/call ReturnToCamp
/return
|
|______________________________________________________________________________________________________
Sub MoveToRuppoc
/echo Time to go to Ruppoc!
| Sets next moveto Y coordinate value a random distance off the south wall of zone
/declare ${Me.Name}MoveToRuppocY int local
/varcalc ${Me.Name}MoveToRuppocY -344+${Math.Rand[20]}
| Sets next moveto X coordinate value based on characters current location and moves some towards
| middle of zone to do turn in of quest and get quest again.
/declare ${Me.Name}MoveToRuppocX int local
/varcalc ${Me.Name}MoveToRuppocX ${${Me.Name}QuestingStartingX}+40
/moveto loc ${${Me.Name}MoveToRuppocY}, ${${Me.Name}MoveToRuppocX}
/delay 10
/delay ${Math.Rand[10]}
/face predict heading 90
/delay ${Math.Rand[10]}
/varset ${Me.Name}MoveToRuppocY -340+${Math.Rand[30]}
/varset ${Me.Name}MoveToRuppocX -180+${Math.Rand[30]}
/moveto loc ${${Me.Name}MoveToRuppocY}, ${${Me.Name}MoveToRuppocX}
/delay 10
/delay ${Math.Rand[10]}
/varset ${Me.Name}MoveToRuppocY -320+${Math.Rand[30]}
/varset ${Me.Name}MoveToRuppocX -70+${Math.Rand[30]}
/moveto loc ${${Me.Name}MoveToRuppocY}, ${${Me.Name}MoveToRuppocX}
/delay 20
/delay ${Math.Rand[10]}
/return
|
|______________________________________________________________________________________________________
Sub HailRuppoc
/moveto off
/face Ruppoc
/target Ruppoc
/delay 5
/delay ${Math.Rand[10]}
| Hail Ruppoc to accept XP reward completing quest if completed and get quest again to return to camp.
/hail
/delay 5
/delay ${Math.Rand[10]}
| Checks to see if we have quest completed and if so accepts the XP reward
/if (${Window[RewardSelectionWnd].Open}) /reward 2 1
/delay 10
/delay ${Math.Rand[10]}
| After reward check is complete, re-acquires quest Rotdog and Snake quest
/say snakes
/delay 5
/delay ${Math.Rand[10]}
/windowstate TaskWnd close
/delay 5
/delay ${Math.Rand[20]}
/return
|
|______________________________________________________________________________________________________
Sub ReturnToCamp
/face heading 240
/declare ${Me.Name}ReturnToCampY int local
/declare ${Me.Name}ReturnToCampX int local
| Randomized location along the wall rather than going straight line to camp again
/varset ${Me.Name}ReturnToCampY -345+${Math.Rand[40]}
/varset ${Me.Name}ReturnToCampX -180-${Math.Rand[50]}
/moveto loc ${${Me.Name}ReturnToCampY}, ${${Me.Name}ReturnToCampX}
/delay 20
/delay ${Math.Rand[10]}
| Takes character back to original starting point to do it all over again
/echo Time to kill some more!
/moveto loc ${${Me.Name}QuestStartingY}, ${${Me.Name}QuestStartingX}
/delay 40
/delay ${Math.Rand[40]}
/face heading 0
/call CombatTime
/return
|
|_____________________________________________________________________________________________________
Sub CombatTime
| Character is back at camp here so time to call the combat .inc you set up.
/target ${${Me.Name}RuppocAssist}
/call kissassist
/return
|
|_____________________________________________________________________________________________________
Sub Event_Taskupdate
/varcalc ${Me.Name}RuppocStage ${${Me.Name}RuppocStage}+1
/echo We've completed ${${Me.Name}RuppocStage} parts of our task.
/bcg I've completed ${${Me.Name}RuppocStage} parts of my task.
/delay 5
/delay 50
/if (${${Me.Name}RuppocStage}==8) {
/target ${${Me.Name}RuppocAssist}
/mac ruppocsnakes
}
/return
|
|_____________________________________________________________________________________________________