• 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

AFK Taskmaster

Status
Not open for further replies.

Alatyami

NotAddicted.com Engineer (Retired)
Joined
Dec 21, 2004
RedCents
804¢
AFK Taskmaster Series

UPDATED: December 5, 2005a

Advance Taskmaster of both casters and non-casters is finally here!

AdvTaskCaster.mac
AdvTaskRunner.mac
AdvTaskWarp.mac

The non-warp macros are currently setup for:
Giant Expedition
Lookout Below
Mystic Ring
Scary Caves

Once again this is what i call a pure macro. You can run this with standard compile of MQ2, although MQ2DoCrack does help out a lot to prevent enviro damage and stuns. The macro is built off of AdvPath.mac. I have included the AdvPath.mac so that you can create your own paths in the event that you do not like the trails that I took.

If you are not a caster, AdvTaskRunner.mac is the macro for you! It will run you to and from every point. However, about 6/10 times I generally catch aggro running from FV back to Marana. If you do this as a monster, i would suggest using the Level 65 Fairy, since it comes with invis.

Requirements (everything is in the zip):
AdvTaskCaster.mac or AdvTaskRunner.mac
AdvTask.ini
AdvPath.inc
AdvPath2.inc
SpellCast.inc
Multiple PathFiles

AdvTaskCaster.mac
Rich (BB code):
| Advanced Taskmaster
| Author: Alatyami, The Calendar Guy @ RedGuides.com
| Thanks to the authors of AdvPath.
| Last Modified: December 5, 2005
| Usage: /mac advtask

#turbo 10

#include advpath.inc
#include SpellCast.inc

#event PlayFile "[MQ2] playfile #1#"
#Event Zoned "You have entered#*#"
#Event YouDied "You have been slain by#*#"

sub ReleaseNotes
  /echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /echo Mod Notes [12/5/2005]: Alatyami
  /echo * Fixed the Zone check.
  /echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/return

sub Main
  /call ReleaseNotes
|- ADVTASK.mac Variables ------------------------------------------------------|
  /declare TaskPhrase string outer Might you have some tasks?
  /declare TaskNPC string Marana
  /declare TaskZone string Dreadlands
  /declare CastGate int outer 1
  /declare CurrentTask1 string outer
  /declare CurrentTask2 string outer
  /declare CurrentTask3 string outer
  /declare TaskSetting int outer 0
  /declare ValidTask string outer
  /ini "AdvTask.ini" "${Zone}" "${MyTasks}"

|- ADVPATH.inc Variables ------------------------------------------------------|
  /call InitAPFVars 1 15 20
  /squelch /alias /startrec /echo record
  /squelch /alias /stoprec  /echo stop
  /squelch /alias /playfile /echo playfile

|- ZONER Variables ------------------------------------------------------------|
  /declare Zn int outer

|- Ask the Taskmaster for a new task

:asktaskmaster
  /if (${Zone.ShortName.NotEqual[${TaskZone}]}) {
    /echo ERROR: You must be in ${TaskZone} to start this macro!
    /end
  }
  /call AdvPathPoll
  /delay 5
  /doevents flush

  /varset TaskSetting 0
  /call GMCheck
  /target ${TaskNPC}
  /say ${TaskPhrase}
  /delay 2s

  |- Select the task window to set varaibles
  /notify TaskSelectWnd TaskList leftmouseup

  /varset CurrentTask1 ${Window[TaskSelectWnd].Child[TaskList].List[1]}
  /varset CurrentTask2 ${Window[TaskSelectWnd].Child[TaskList].List[2]}
  /varset CurrentTask3 ${Window[TaskSelectWnd].Child[TaskList].List[3]}

  /if (${TaskSetting}==0) {
    |- Check the first available task listselect
    /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask1}]}
    /notify TaskSelectWnd TaskList leftmouse ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask1}]}
    /varset TaskSetting ${Ini[AdvTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[1]},${notFound}]}
    /echo INI Check: ${Window[TaskSelectWnd].Child[TaskList].List[1,1]} = ${TaskSetting}
    /delay 1s
    /if (${TaskSetting}==1) {
      /notify TaskSelectWnd AcceptButton leftmouseup
      /varset ValidTask ${CurrentTask1}
      /call LoadTask
    }
    /delay 1s
  }
  /if (${TaskSetting}==0) {
      |- Check the Second available task listselect
      /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask2}]}
      /notify TaskSelectWnd TaskList leftmouse ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask2}]}
      /varset TaskSetting ${Ini[AdvTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[2]},${notFound}]}
      /echo INI Check: ${Window[TaskSelectWnd].Child[TaskList].List[2,1]} = ${TaskSetting}
      /delay 1s
    /if (${TaskSetting}==1) {
      /notify TaskSelectWnd AcceptButton leftmouseup
      /varset ValidTask ${CurrentTask2}
      /call LoadTask
    }
      /delay 1s
  }
  /if (${TaskSetting}==0) {
    |- Check the third available task listselect
    /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask3}]}
    /notify TaskSelectWnd TaskList leftmouse ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask3}]}
    /varset TaskSetting ${Ini[AdvTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[3]},${notFound}]}
    /echo INI Check: ${Window[TaskSelectWnd].Child[TaskList].List[3,1]} = ${TaskSetting}
    /delay 1s
    /if (${TaskSetting}==1) {
      /notify TaskSelectWnd AcceptButton leftmouseup
      /varset ValidTask ${CurrentTask3}
      /call LoadTask
    }
    /delay 1s
  }
  /notify TaskSelectWnd DeclineButton leftmouseup
  /delay 9s
  /goto :asktaskmaster
  /exit
/return

sub Event_PlayFile(string Line, string PathFile)
  /call PlayFunction "${PathFile} 1 nf nopp noz"
  /call WaitTilThere
/return

sub WaitTilThere
  :LoopTilThere
  /if (${PathingFlag}==1) {
    /call AdvPathPoll
    /delay 1
    /doevents
    /goto :LoopTilThere
  }
/return

sub LoadTask
  /echo Loading: ${ValidTask}
  /if (${ValidTask.Equal[Lookout Below]}) /call LookoutBelow
  /if (${ValidTask.Equal[Mystic Ring]}) /call MysticRing
  /if (${ValidTask.Equal[Giant Expedition]}) /call GiantExpedition
  /if (${ValidTask.Equal[Scary Caves]}) /call ScaryCaves
/return

sub Zoner
  /delay 60
:stillzoning
  /doevents
  /if (${Zn}!=1) /goto :stillzoning
  /varset Zn 0
  /delay 5s
/return

sub Event_Zoned
  /call GMCheck
  /varset Zn 1
/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_YouDied
  /echo You died at ${Time}, ending macro.
  /end
/return

Sub LookoutBelow
  /echo Starting Lookout Below
  /playfile Marana2KC
  /doevents
  /keypress forward hold
  /call zoner
  /playfile KCSetup
  /doevents
  /playfile KCLookoutBelow
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile KC2Teleport
  /doevents
  /call cast Gate
  /delay 10s
  /playfile Marana2FV
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile FV2Telligron
  /doevents
  /delay 1s
  /target Telligron
  /doevents
  /delay 1s
  /hail
  /delay 2s
  /call cast Gate
  /delay 10s
  /echo Finished Lookout Below.
/return

Sub MysticRing
  /echo Starting Mystic Ring
  /playfile marana2kc
  /doevents
  /keypress forward hold
  /call zoner
  /playfile kcsetup
  /doevents
  /playfile kcmysticring
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile KC2druidring
  /doevents
  /call cast Gate
  /delay 10s
  /playfile Marana2FV
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile FV2socaldoor
  /doevents
  /delay 1s
  /target Socaldoor
  /delay 1s
  /hail
  /delay 2s
  /call cast Gate
  /delay 10s
  /echo Finished Mystic Ring.
/return

Sub GiantExpedition
  /echo Starting Giant Expedition
  /playfile marana2kc
  /doevents
  /keypress forward hold
  /call zoner
  /playfile kcsetup
  /doevents
  /playfile kcgiantexp
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile KC2GiantFort
  /doevents
  /call cast Gate
  /delay 10s
  /playfile Marana2FM
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile FM2Shilur
  /doevents
  /delay 1s
  /target Shilur
  /delay 1s
  /hail
  /delay 2s
  /call cast Gate
  /delay 10s
  /echo Finished Giant Expedition.
/return

Sub ScaryCaves
  /echo Starting Scary Caves
  /playfile marana2kc
  /doevents
  /keypress forward hold
  /call zoner
  /playfile kcsetup
  /doevents
  /playfile kcscarycaves
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile KC2ScaryCaves
  /doevents
  /call cast Gate
  /delay 10s
  /playfile Marana2FM
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile FM2Shilur
  /doevents
  /delay 1s
  /target Shilur
  /delay 1s
  /hail
  /delay 2s
  /call cast Gate
  /delay 10s
  /echo Finished Scary Caves.
/return
AdvTaskRunner.mac
Rich (BB code):
| Advanced Taskmaster
| Author: Alatyami, The Calendar Guy @ RedGuides.com
| Thanks to the authors of AdvPath.
| Last Modified: December 5, 2005a
| Usage: /mac advtask

#turbo 10

#include advpath.inc
#include SpellCast.inc

#event PlayFile "[MQ2] playfile #1#"
#Event Zoned "You have entered#*#"
#Event YouDied "You have been slain by#*#"

sub ReleaseNotes
sub ReleaseNotes
  /echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /echo Mod Notes [12/5/2005a]: Alatyami
  /echo * Fixed the Zone check.
  /echo * Since Dov's can'd do events, fixed /dovevents
  /echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/return
/return

sub Main
  /call ReleaseNotes
|- ADVTASK.mac Variables ------------------------------------------------------|
  /declare TaskPhrase string outer Might you have some tasks?
  /declare TaskNPC string Marana
  /declare TaskZone string Dreadlands
  /declare CurrentTask1 string outer
  /declare CurrentTask2 string outer
  /declare CurrentTask3 string outer
  /declare TaskSetting int outer 0
  /declare ValidTask string outer
  /ini "AdvTask.ini" "${Zone}" "${MyTasks}"

|- ADVPATH.inc Variables ------------------------------------------------------|
  /call InitAPFVars 1 15 20
  /squelch /alias /startrec /echo record
  /squelch /alias /stoprec  /echo stop
  /squelch /alias /playfile /echo playfile

|- ZONER Variables ------------------------------------------------------------|
  /declare Zn int outer

|- Ask the Taskmaster for a new task

:asktaskmaster
  /if (${Zone.ShortName.NotEqual[${TaskZone}]}) {
    /echo ERROR: You must be in ${TaskZone} to start this macro!
    /end
  }
  /call AdvPathPoll
  /delay 5
  /doevents flush

  /varset TaskSetting 0
  /call GMCheck
  /target ${TaskNPC}
  /say ${TaskPhrase}
  /delay 2s

  |- Select the task window to set varaibles
  /notify TaskSelectWnd TaskList leftmouseup

  /varset CurrentTask1 ${Window[TaskSelectWnd].Child[TaskList].List[1]}
  /varset CurrentTask2 ${Window[TaskSelectWnd].Child[TaskList].List[2]}
  /varset CurrentTask3 ${Window[TaskSelectWnd].Child[TaskList].List[3]}

  /if (${TaskSetting}==0) {
    |- Check the first available task listselect
    /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask1}]}
    /notify TaskSelectWnd TaskList leftmouse ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask1}]}
    /varset TaskSetting ${Ini[AdvTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[1]},${notFound}]}
    /echo INI Check: ${Window[TaskSelectWnd].Child[TaskList].List[1,1]} = ${TaskSetting}
    /delay 1s
    /if (${TaskSetting}==1) {
      /notify TaskSelectWnd AcceptButton leftmouseup
      /varset ValidTask ${CurrentTask1}
      /call LoadTask
    }
    /delay 1s
  }
  /if (${TaskSetting}==0) {
      |- Check the Second available task listselect
      /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask2}]}
      /notify TaskSelectWnd TaskList leftmouse ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask2}]}
      /varset TaskSetting ${Ini[AdvTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[2]},${notFound}]}
      /echo INI Check: ${Window[TaskSelectWnd].Child[TaskList].List[2,1]} = ${TaskSetting}
      /delay 1s
    /if (${TaskSetting}==1) {
      /notify TaskSelectWnd AcceptButton leftmouseup
      /varset ValidTask ${CurrentTask2}
      /call LoadTask
    }
      /delay 1s
  }
  /if (${TaskSetting}==0) {
    |- Check the third available task listselect
    /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask3}]}
    /notify TaskSelectWnd TaskList leftmouse ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask3}]}
    /varset TaskSetting ${Ini[AdvTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[3]},${notFound}]}
    /echo INI Check: ${Window[TaskSelectWnd].Child[TaskList].List[3,1]} = ${TaskSetting}
    /delay 1s
    /if (${TaskSetting}==1) {
      /notify TaskSelectWnd AcceptButton leftmouseup
      /varset ValidTask ${CurrentTask3}
      /call LoadTask
    }
    /delay 1s
  }
  /notify TaskSelectWnd DeclineButton leftmouseup
  /delay 9s
  /goto :asktaskmaster
  /exit
/return

sub Event_PlayFile(string Line, string PathFile)
  /call PlayFunction "${PathFile} 1 nf nopp noz"
  /call WaitTilThere
/return

sub WaitTilThere
  :LoopTilThere
  /if (${PathingFlag}==1) {
    /call AdvPathPoll
    /delay 1
    /doevents
    /goto :LoopTilThere
  }
/return

sub LoadTask
  /echo Loading: ${ValidTask}
  /if (${ValidTask.Equal[Lookout Below]}) /call LookoutBelow
  /if (${ValidTask.Equal[Mystic Ring]}) /call MysticRing
  /if (${ValidTask.Equal[Giant Expedition]}) /call GiantExpedition
  /if (${ValidTask.Equal[Scary Caves]}) /call ScaryCaves
/return

sub Zoner
  /delay 60
:stillzoning
  /doevents
  /if (${Zn}!=1) /goto :stillzoning
  /varset Zn 0
  /delay 5s
/return

sub Event_Zoned
  /call GMCheck
  /varset Zn 1
/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_YouDied
  /echo You died at ${Time}, ending macro.
  /end
/return


Sub LookoutBelow
  |BuffCheck: get SoW and SuperCamo
  /echo Starting Lookout Below
  /playfile Marana2KC
  /doevents
  /keypress forward hold
  /call zoner
  /playfile KCSetup
  /doevents
  /playfile KCLookoutBelow
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile KC2Teleport
  /doevents
  /playfile teleport2bridge
  /doevents
  /playfile Tunnel2FV
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile FV2Telligron
  /doevents
  /delay 1s
  /target Telligron
  /doevents
  /delay 1s
  /hail
  /delay 2s
  /playfile Telligron2DL
  /doevents
  /keypress forward hold
  /call zoner
  /playfile DL2Marana
  /delay 5s
  /echo Finished Lookout Below.
/return

Sub MysticRing
  |BuffCheck: get SoW and SuperCamo
  /echo Starting Mystic Ring
  /playfile marana2kc
  /doevents
  /keypress forward hold
  /call zoner
  /playfile kcsetup
  /doevents
  /playfile kcmysticring
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile KC2druidring
  /doevents
  /playfile DruidRings2Bridge
  /doevents
  /playfile Tunnel2FV
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile FV2socaldoor
  /doevents
  /delay 1s
  /target Socaldoor
  /delay 1s
  /hail
  /delay 2s
  /playfile Socaldoor2DL
  /keypress forward hold
  /call zoner
  /playfile DL2Marana
  /delay 5s
  /echo Finished Mystic Ring.
/return

Sub GiantExpedition
  |BuffCheck: get SoW and SuperCamo
  /echo Starting Giant Expedition
  /playfile marana2kc
  /doevents
  /keypress forward hold
  /call zoner
  /playfile kcsetup
  /doevents
  /playfile kcgiantexp
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile KC2GiantFort
  /doevents
  /playfile GiantFort2FM
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile FM2Shilur
  /doevents
  /delay 1s
  /target Shilur
  /delay 1s
  /hail
  /delay 2s
  /playfile shilur2dl
  /keypress forward hold
  /call zoner
  /playfile FM2Marana
  /doevents
  /delay 5s
  /echo Finished Giant Expedition.
/return

Sub ScaryCaves
  |BuffCheck: get SoW and SuperCamo
  /echo Starting Scary Caves
  /playfile marana2kc
  /doevents
  /keypress forward hold
  /call zoner
  /playfile kcsetup
  /doevents
  /playfile kcscarycaves
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile KC2ScaryCaves
  /doevents
  /playfile ScaryCaves2FM
  /doevents
  /keypress forward hold
  /call Zoner
  /playfile FM2Shilur
  /doevents
  /delay 1s
  /target Shilur
  /delay 1s
  /hail
  /delay 2s
  /playfile shilur2dl
  /keypress forward hold
  /call zoner
  /playfile FM2Marana
  /doevents
  /delay 5s
  /echo Finished Scary Caves.
/return

AdvTaskWarp.mac
Rich (BB code):
|----------------------------- AUTOTASKWARP.MAC -------------------------------|
|- AUTOTASK, By Alatyami, ReGuides.com - modified by Raistlin8989
|- Special thanks to ASSWEASEL on the zoning and window focusing and on most of
|- the locs for the tasks. A thanks to laffertyb for the last three tasks listed
|- which are for levels 57 - 62
|- Last Modified: November 28, 2005, Alatyami
|- Usage: /mac autotask
|- Requirements: AutoTask.ini, /warp & /zone plugin
|------------------------------------------------------------------------------|

#turbo 10

#Event Zoned "You have entered#*#"
#Event YouDied "You have been slain by#*#"

sub ReleaseNotes
  /echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /echo Mod Notes [11/28/2005]: Alatyami
  /echo * Added custom start location.
  /echo * Added a Zone check before requesting a new task.
  /echo * Added Variables for TaskZone and the TaskGiver
  /echo * Added Custom TaskRequest saying.
  /echo * Added Death handling.
  /echo * Added AdvTaskWarp to the AdvTask series.
  /echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/return

sub main
  /call ReleaseNotes

  |~ Which Zone is your taskmaster?
  /declare TaskZone string outer Dreadlands
  |~ Custom task request saying.
  /declare TaskRequest string outer Can I have a task?
  |~ Custom TaskMaster
  /declare TaskGiver string outer Marana

  /declare MyStartLoc string outer ${Me.Y} ${Me.X} ${Me.Z}
  /ini "AdvTask.ini" "${Zone}" "${MyTasks}"
  /declare CurrentTask1 string outer
  /declare CurrentTask2 string outer
  /declare CurrentTask3 string outer
  /declare TaskSetting int outer 0
  /declare ValidTask string outer
  /declare Zn int outer

  /echo Task Zone: ${TaskZone}
  /echo Task Giver: ${TaskGiver}
  /echo Task Request Phrase: ${TaskRequest}
  /echo Start Location: ${Me.Y} ${Me.X} ${Me.Z}
  /echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:asktaskmaster
  /if (${Zone.ShortName.NotEqual[${TaskZone}]}) {
    /echo ERROR: You must be in ${TaskZone} to start this macro!
    /end
  }
  /varset TaskSetting 0
  /call GMCheck
  /warp loc ${MyStartLoc}
  /delay 2s
  /target ${TaskGiver}
  /face
  /delay 2s
  /say ${TaskRequest}
  /delay 2s

  |- Select the task window to set varaibles
  /notify TaskSelectWnd TaskList leftmouseup

  /varset CurrentTask1 ${Window[TaskSelectWnd].Child[TaskList].List[1]}
  /varset CurrentTask2 ${Window[TaskSelectWnd].Child[TaskList].List[2]}
  /varset CurrentTask3 ${Window[TaskSelectWnd].Child[TaskList].List[3]}



  /if (${TaskSetting}==0) {
    |- Check the first available task listselect
    /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask1}]}
    /notify TaskSelectWnd TaskList leftmouse ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask1}]}
    /varset TaskSetting ${Ini[AutoTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[1]},${notFound}]}
    /echo INI Check: ${Window[TaskSelectWnd].Child[TaskList].List[1,1]} = ${TaskSetting}
    /delay 1s
    /if (${TaskSetting}==1) {
      /notify TaskSelectWnd AcceptButton leftmouseup
      /varset ValidTask ${CurrentTask1}
      /call LoadTask
    }
    /delay 5
  }
  /if (${TaskSetting}==0) {
    |- Check the Second available task listselect
    /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask2}]}
    /notify TaskSelectWnd TaskList leftmouse ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask2}]}
    /varset TaskSetting ${Ini[AutoTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[2]},${notFound}]}
    /echo INI Check: ${Window[TaskSelectWnd].Child[TaskList].List[2,1]} = ${TaskSetting}
    /delay 1s
    /if (${TaskSetting}==1) {
      /notify TaskSelectWnd AcceptButton leftmouseup
      /varset ValidTask ${CurrentTask2}
      /call LoadTask
    }
      /delay 5
  }
   /if (${TaskSetting}==0) {
    |- Check the third available task listselect
    /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask3}]}
    /notify TaskSelectWnd TaskList leftmouse ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask3}]}
    /varset TaskSetting ${Ini[AutoTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[3]},${notFound}]}
    /echo INI Check: ${Window[TaskSelectWnd].Child[TaskList].List[3,1]} = ${TaskSetting}
    /delay 1s
    /if (${TaskSetting}==1) {
      /notify TaskSelectWnd AcceptButton leftmouseup
      /varset ValidTask ${CurrentTask3}
      /call LoadTask
    }
    /delay 5

  }

  /notify TaskSelectWnd DeclineButton leftmouseup

  /varset CurrentTask1
  /varset CurrentTask2
  /varset CurrentTask3
  /varset ValidTask

  /delay 10s
/goto :asktaskmaster

/return

sub LoadTask

  /echo Loading: ${ValidTask}
  |-- Go Invis --|
  /target ${Me.Name}
  /keypress u
  /delay 6s
  /if (${ValidTask.Equal[Giant Expedition]})             /call Event_Task1
  /if (${ValidTask.Equal[Lookout Below]})                /call Event_Task2
  /if (${ValidTask.Equal[Mystic Ring]})                  /call Event_Task3
  /if (${ValidTask.Equal[Poor Old Tree]})                /call Event_Task4
  /if (${ValidTask.Equal[One Dead Tree]})                /call Event_Task5
  /if (${ValidTask.Equal[Ruins Everywhere]})             /call Event_Task6
  /if (${ValidTask.Equal[Don't Drink That...]})          /call Event_Task7
  /if (${ValidTask.Equal[Jailing the Dead]})             /call Event_Task8
  /if (${ValidTask.Equal[What Place is This?]})          /call Event_Task9
  /if (${ValidTask.Equal[It's Murky in There]})          /call Event_Task10
  /if (${ValidTask.Equal[Scary Caves]})                  /call Event_Task11
  /if (${ValidTask.Equal[Big Holes Everywhere]})         /call Event_Task12
  /if (${ValidTask.Equal[Hey, Watch Out Over There]})    /call Event_Task13
  /if (${ValidTask.Equal[Lands of Dread]})               /call Event_Task14
  /if (${ValidTask.Equal[To the Castle!]})               /call Event_Task15
  /if (${ValidTask.Equal[Dreaded Giants]})               /call Event_Task16
  /if (${ValidTask.Equal[Bridge and Beyond]})            /call Event_Task17
  /echo Checking for GM's
  /who all gm
  /delay 1s
  /echo Checking for PC's
  /who
  /delay 1s
/return

sub Zoner
  /delay 60
:loop
  /delay 5
  /doevents
  /if (${Zn}!=1) /goto :loop
  /varset Zn 0
  /delay 5
/return

sub Event_Zoned
  /call GMCheck
  /varset Zn 1
/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_YouDied
  /echo You died at ${Time}, ending macro.
  /end
/return




|- SubFunctions containing task details ---------------------------------------|

|---------------------------------------------------------------------------------|
|--------------------------Giant Expedition----------------------------|
Sub Event_Task1

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc 170.49, -261.95, 46.00
        /Delay 20
        /zone dreadlands
        /call Zoner
        /warp loc -430, 1970, 325
        /Delay 20
        /zone frontiermtns
        /call Zoner
        /Target npc Shilur
        /notify BuffWindow Buff${Math.Calc[${Me.Buff[Invisibility].ID}-1].Int} leftmouseup
        /Hail
        /target ${Me.Name}
        /keypress u
        /Delay 10s
        /zone dreadlands
        /call Zoner
/return




|---------------------------------------------------------------------------------|
|--------------------------Lookout  Below------------------------------|
Sub Event_Task2

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc 119.52 -32.67 32.19
        /Delay 20
        /zone dreadlands
        /call Zoner
        /warp loc 3069 9659 1047
        /Delay 20
        /zone firiona
        /call Zoner
        /Target npc Telligron
        /notify BuffWindow Buff${Math.Calc[${Me.Buff[Invisibility].ID}-1].Int} leftmouseup
        /Hail
        /target ${Me.Name}
        /keypress u
        /Delay 10s
        /zone dreadlands
        /call Zoner

/return


|---------------------------------------------------------------------------------|
|------------------------------Mystic Ring--------------------------------|
Sub Event_Task3

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc 108.11, -446.86, 2.75
        /Delay 20
        /zone dreadlands
        /call Zoner
        /warp loc 2480.67, 7751.34, 1049.22
        /Delay 20
        /zone Firiona
        /call Zoner
        /Target npc Socaldoor
        /notify BuffWindow Buff${Math.Calc[${Me.Buff[Invisibility].ID}-1].Int} leftmouseup
        /Hail
        /target ${Me.Name}
        /keypress u
        /Delay 10s
        /zone dreadlands
        /call Zoner
 /return


|---------------------------------------------------------------------------------|
|-------------------------------Poor Tree----------------------------------|
Sub Event_Task4

        /doevents flush
        /zone Firiona
        /call Zoner
        /zone lakeofillomen
        /call Zoner
        /zone veksar
        /call Zoner
        /warp loc 113.79, 586.20, -26.25
        /Delay 20
        /zone lakeofillomen
        /call Zoner
        /warp loc -2547.02, 5022.31, 228.44
        /Delay 20
        /zone warslikswood
        /call Zoner
        /Target npc Juikull
        /Delay 20
        /zone lakeofillomen
        /call Zoner
        /zone Firiona
        /call Zoner
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|----------------------------One Dead Tree-----------------------------|
Sub Event_Task5

        /doevents flush
        /zone Firiona
        /call Zoner
        /zone lakeofillomen
        /call Zoner
        /zone veksar
        /call Zoner
        /warp loc -340.70, 44.00, -26.25
        /Delay 20
        /zone lakeofillomen
        /warp loc -3419.66, 592.44, 109.26
        /Delay 20
        /zone frontiermtn
        /call Zoner
        /Target npc Aurueen
        /Delay 20
        /Hail
        /zone burningwood
        /call Zoner
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|--------------------------Ruins Everywhere-------------------------|
Sub Event_Task6

        /doevents flush
        /zone Firiona
        /call zoner
        /zone lakeofillomen
        /call zoner
        /zone veksar
        /call zoner
        /warp loc -132.57, 427.11, -7.25
        /Delay 20
        /zone lakeofillomen
        /call zoner
        /warp loc 3308.81, -1766.17, 76.00
        /Delay 20
        /zone Firiona
        /Target npc Syelissa
        /Hail
        /zone dreadlands
        /call zoner
/return



|---------------------------------------------------------------------------------|
|--------------------------Don't Drink That----------------------------|
Sub Event_Task7

        /doevents flush
        /zone firiona
        /call zoner
        /zone swampofnohope
        /call zoner
        /zone trakanon
        /call zoner
        /zone sebilis
        /call zoner
        /warp loc -725 660 -69
        /Delay 20
        /zone trakanon
        /call zoner
        /warp loc -1671 -4765 -474
        /Delay 20
        /zone swampofnohope
        /call zoner
        /target npc Muirkiaz
        /Delay 20
        /hail
        /zone firiona
        /call zoner
        /zone dreadlands
        /call zoner
/return



|---------------------------------------------------------------------------------|
|--------------------------Jailing The Dead---------------------------|
Sub Event_Task8

        /doevents flush
        /zone firiona
        /call Zoner
        /zone swampofnohope
        /call Zoner
        /zone trakanon
        /call Zoner
        /zone sebilis
        /call Zoner
        /warp loc -422.09 515.63 -49.78
        /Delay 20
        /zone trakanon
        /call Zoner
        /warp loc -1757 3653.95 -282.70
        /Delay 20
        /zone emeraldjungle
        /call Zoner
        /target npc Gelliza
        /Delay 20
        /Hail
        /delay 1m
        /zone trakanon
        /call Zoner
        /zone swampofnohope
        /call Zoner
        /zone firiona
        /call Zoner
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|------------------------What Place is This?-------------------------|
Sub Event_Task9

        /doevents flush
        /zone frontiermtns
        /call Zoner
        /zone lakeofillomen
        /call Zoner
        /zone veksar
        /call Zoner
        /warp loc -137.96 -545.09 -27.81
        /delay 30
        /zone lakeofillomen
        /call Zoner
        /warp loc 5526.5 -5285.08 33.19
        /Delay 20
        /zone warslikswood
        /call Zoner
        /target npc Juikull
        /Delay 20
        /say Hail
        /zone lakeofillomen
        /call Zoner
        /zone frontiermtns
        /call Zoner
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|--------------------------It's Murky in There------------------------|
Sub Event_Task10

        /doevents flush
        /zone firiona
        /call Zoner
        /zone swampofnohope
        /call Zoner
        /zone trakanon
        /call Zoner
        /zone sebilis
        /call Zoner
        /warp loc -283.57 -8.92 -32.25
        /Delay 20
        /zone trakanon
        /call Zoner
        /warp loc 2065.13 4418.97 -348.23
        /Delay 20
        /zone swampofnohope
        /call Zoner
        /Target npc gkoroza
        /hail
        /Delay 20
        /zone
/return


|---------------------------------------------------------------------------------|
|-----------------------------Scary Caves-------------------------------|
Sub Event_Task11

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc -48.92 -277.16 2.19
        /Delay 20
        /zone dreadlands
        /call Zoner
        /warp loc -2514 3498 712
        /Delay 20
        /zone frontiermtns
        /call Zoner
        /Target npc Shilur
        /notify BuffWindow Buff${Math.Calc[${Me.Buff[Invisibility].ID}-1].Int} leftmouseup
        /Hail
        /target ${Me.Name}
        /keypress u
        /Delay 10s
        /zone dreadlands
        /call Zoner

/return


|---------------------------------------------------------------------------------|
|----------------------Big Holes Everywhere-----------------------|
Sub Event_Task12

        /doevents flush
        /zone burningwood
        /call Zoner
        /warp loc -324.42 2201.61 -492.53
        /Delay 20
        /zone skyfire
        /call Zoner
        /warp loc 2365.41 3735.16 -129.87
        /Delay 20
        /zone burningwood
        /call Zoner
        /zone dreadlands
        /call Zoner
        /Target npc korriz
        /hail
        /Delay 20
/return


|---------------------------------------------------------------------------------|
|-----------------------Hey, Watch Out Over There-------------|
Sub Event_Task13

        /doevents flush
        /zone frontiermtns
        /call Zoner
        /zone lakeofillomen
        /call Zoner
        /warp loc -1237 2341 295.97
        /Delay 20
        /zone frontiermtns
        /call Zoner
        /warp loc 4482 1350 372
        /Delay 20
        /zone lakeofillomen
        /call Zoner
        /Target npc  Malkez
        /hail
        /delay 20
        /zone firiona
        /call Zoner
        /zone dreadlands
        /call zoner
/return
|---------------------------------------------------------------------------------|
|-----------------------Lands of Dread-------------|
Sub Event_Task14

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc -75.20 -593.49 15.88
        /Delay 20
        /zone dreadlands
        /call Zoner
        /warp loc -1556.41 -4869.58 56.29
        /Delay 20
        /zone frontiermtns
        /call Zoner
        /warp loc -278.86 -1526.50 -128.28
        /Target npc dagor
        /hail
        /Delay 20
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|-----------------------To the Castle!-------------|
Sub Event_Task15

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc -148.00 -192.88 43.85
        /Delay 20
        /zone dreadlands
        /call Zoner
        /warp loc -454.49 3458.92 385.57
        /Delay 20
        /zone firiona
        /call Zoner
        /warp loc 1860.06 78.18 -4.56
        /Target npc  jith
        /hail
        /Delay 20
        /zone dreadlands
        /call Zoner
/return



|---------------------------------------------------------------------------------|
|-----------------------Dreaded Giants-------------|
Sub Event_Task16

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc 190.34 -216.08 43.85
        /Delay 20
        /zone dreadlands
        /call Zoner
        /warp loc 1817.81 941.19 92.76
        /Delay 20
        /zone firiona
        /call Zoner
        /warp loc 1328.20 3304.93 189.44
        /Target npc Telli
        /hail
        /Delay 20
        /zone dreadlands
        /call Zoner
/return

AdvTask.ini
Rich (BB code):
[The Dreadlands]
Giant Expedition=1
Scary Caves=1
Poor Old Tree=1
Lookout Below=1
Mystic Ring=1
One Dead Tree=0
Ruins Everywhere=0
It's Murky in There=0
What Place is This?=0
Don't Drink That...=0
Jailing the Dead=0
Lands of Dread=0
To the Castle!=0
Dreaded Giants=0
Big Holes Everywhere=0
Hey, Watch Out Over There=0
NULL=
 
Last edited:
When I try and /mac AutoTask I just get "Couldn't open the macro file". I have verified that I'm typing the name right, that the file names are the same as you have here, and I went over to the MQ2 site and grabbed what seemed to be the newest Exp_Tracking.inc. No luck in getting this macro to work. :confused:
 
I try to read the code to find this information, but I can't find a minimum level to do does task.

My higher character is lvl 58, can he do the tasks ? and my Shaman lvl 47 ? My Bard 30 ?
 
grunion said:
When I try and /mac AutoTask I just get "Couldn't open the macro file". I have verified that I'm typing the name right, that the file names are the same as you have here, and I went over to the MQ2 site and grabbed what seemed to be the newest Exp_Tracking.inc. No luck in getting this macro to work. :confused:

Not to foresure why it wouldn't work for you. Does it give you the name of the macro file it is trying to open? You should have the following files in your /Macros folder:

AutoTask.mac
AutoTask.ini
Exp_Tracking.inc

This is how I have it in mine. Have you confirmed that all three files are located in your /macros folder? There was one time that I saved a mac file and some how it ended up in the /MacroQuest folder and not the /macros folder.

If you can post the file name that MQ is looking for when you do /mac autotask I can help out more.
 
says "Couldn't open macro file: C:\MQ2_ST\Macros\AutoTask.mac"

I have the same file setup you do.

AutoTask.mac
AutoTask.ini
Exp_Tracking.inc

these are all in the Macro folder and not in any subfolders.

I'm using soultaker's no auth MQ2 compile.
 
Well now thats odd ... I am actually using the same compile. just from my experience that error means it isn't in your macros folder. I did have a problem one time i saved a macro to an older compile version, but i'm sure you have already confirmed that one, thus making the error you are receiving very odd.
 
Great job. With one small glitch, it ran as billed.

The glitch:
When an eligible task is found, the item is highlighted in the task window, but apparently it is not clicked. I say this because the Accept button remains disabled. With the pause you had built in, I had the opportunity to manually click the task and manually click Accept. All else functioned as billed from that point forward.

Does this work for you as written? If so, I'm puzzled but will cogitate further. Flame away if I overlooked the obvious.

I think I might go thru the excerise of calculating SuccessWait on the fly, based on "time" when Accept is clicked and "time" when task is completed. This isn't really necessary, but I'm still a macro coding noob.

Thanks for the contribution!

[It seems the symptom appears when there is only one task listed. This happens with the tasks I use most frequently. I just activated One Dead Tree which always comes up in a full list of three tasks: it worked just fine.

...hard to troubleshoot when you're on a 30 minute timer *sigh*]
 
Last edited:
Work for me but as most Quest are for lvl 65, its not optimized... I have add 2 lvl 46 quest to my macro and now my Shaman lvl 47 gain 9% per task and about 25 pp
 
as wonderful as this macro is, and my compliments go out to you for taking the time to make this, it's still constant afk /warping and /zoning. So now we will have tons of people warping around dreadlands just waiting for the ban stick to pop up again. I know, I sound like the bad guy here, but don't mean to be. I do use warp and zone, but very sparingly. I wished so bad that these macros could be utilized without /warp and /zone. With my limited knowledge (very limited) I have not been able to figure out the pathing code to do it. I've already seen 4 people of same guild on my server blatently warping right in front of me doing these short tasks and I can just see this getting nerfed soon LOL. I really hope not because this to me is a masterful set of code. I'm just too paranoid to use it like it is set up I guess lol.
 
I think that SOE put these tasks in high traffic areas, to catch people. I'll look into using waypoints, and see what we can do. I to use /zone /warp sparingly, I haven't tleft this thing to run completely on autopilot, because it is to easy to get caught. I use Marana in DL because she is out of the way, hidden in the ruins.
 
Lmao I already wrote one of these a week ago and was going to run it for a month before Distro.

I think i won't be going anywhere near the taskmasters for awhile.

Nice Job on the Macro.
2 Tweaks and 1 comment

Tweak 1

Don't Warp ontop of task giver. Change that warp to this
Rich (BB code):
      /warp loc 820, -2069, 26.19
Sure sign of a warper is sharing the same space as an npc

Tweak 2
Zoning while zoning you can lag but the macro will run ahead of you. Causing you to be in one zone and macro in another. CTD
These subs prevent that.

Rich (BB code):
|---------------------------------------------------------------------------------|
|---------------Sub To Prevent Zone Lag-------------------------|
|-------------------------------Errors----------------------------------------|


Sub Zoner

        /delay 60
:loop
        /doevents
        /if (${Zn}!=1) /goto :loop
        /varset Zn 0
        /delay 10
/return


Sub event_Zoned
/varset Zn 1
/return

Add this event to your events
Rich (BB code):
#event Zoned "You have entered#*#"

Ass this to your variable declarations
Rich (BB code):
/Declare Zn int outer

Add this to "sub StartTask" right before "/return" This clears the event Buffer
Rich (BB code):
/doevents flush

After every /zone
Rich (BB code):
/call zoner

I hate the way PPL have been addressing their windows so a quick primer.

Quote
Rich (BB code):
 |- Put the TaskSelectWnd in focus
  /notify TaskSelectWnd TaskList leftmouseup

Why? It is the taskList That you want in focus.

tsk.jpg


Thats the break down of the TaskSelectWnd
3 Elements to it
AcceptButton
DeclineButton
VerticalBoxLayout (The frame that the TaskList is put into)


Up a Grouping we have
tsk2.jpg


Voila The TaskListBox a member of SelectWnd
so should really be /notify SelectWnd TaskList leftmouseup

Quick and dirty failsafe is this /notify TSEL_Tasklist leftmouseup

TSEL_ is the way the system addresses the elements
In other words the Item Id's. TaskSelectWnd has no Screen ID and that means you cant interact with it.
It doesn't need one. None of the other elements are ever going to reference it. Because it is root and does the referencing.

TSEL = Root = TaskSelectWnd = EQUI_TaskSelectWnd.xml

And every window has its own prefix for Item ID

Its confusing enough the way the XML is handled without having a mix of Item ID and Screen ID being used in code.
Use The Item ID to refernce elements.
In this case TSEL (the parent) TaskList (the child).
TSEL_TaskLIST at a glance tells me that info.

The other way is harder because I then have to rely on whether the coder actually understands the window structure and is making the correct parent child groupings.
 
that is exactly what i am talking about. I watched right in front of my eyes, 3 people suddenly "appear" on the exact loc of the taskmaster. And oh, btw, Dreadflats taskmaster is not the one you want for out of the way. The one in the far back of DL in the city area is actually more remote than her. Every day when i zone into DL, I see at least 3 people around the taskmaster right by karnor's. I will not mention names or guild names, but I really wish these people would stop doing this so out in the open like that. This is a guarenteed nerf coming when you do that. It only worries me cause warping in FH is one thing, but now everyone doing it in open zones is another. I know using waypoints in a macro is sooooo much more involved and probably complex to design due to other factors such as damage taken, casting succor, egress, etc., buff checks (I always have soe on), pathing, trains trains trains. Personally to me, it's worth dying more than getting smacked with the ban stick. I was wondering though, is there any way to create a player check like the gmcheck? Like if there is any player within a certain radius it will not /warp or /zone. The other problems comes in due to the fact that gm's can easily turn themselves into mobs so even then the gmcheck will not work.
 
The Code you seek is easy enough


Rich (BB code):
 /IF (${NearestSpawn[2, pc radius 100].ID}) /goto :nowarpnozone

/warp or zone till your hearts content   
    
:nowarpnozone
/someone was near

Perhaps i should explain wasnt going to but then along came the handy edit button

${NearestSpawn[2, pc radius 100].ID} is Id# of nearest pc that is not you. Radius 100 of you.
${NearestSpawn[1, pc radius 100].ID} is Id# of you
${NearestSpawn[pc radius 100].ID} is Id# of you because your always closest to you and you are a PC

${NearestSpawn[pc].ID} Sets up an array "notid" and closest is 1 you second closest is 2
These are not Id#'s but rather numbers in the array

/if (${NearestSpawn[2, pc radius 100].ID}) The /if ( ) makes a logical argument of what is contained inside the ()'s
Only one of 2 states can now occur True which means we got a pc Id# and dont warp
Or False and we do no warping.

Am not going to explain the 3rd possibility a NULL value return which is treated like a false in this case and would tell you there is no one near even if your whole guild were sitting on your head.

And since i haven't tried this code that may very well happen. :o
 
Last edited:
Awesome replies ....

I'll see what I can do with the knowledge ....

I would prefer to make them with way points using the MoveUtils ... I'll start working with that also .... I'm still looking for a good example that uses only waypoints.

The Task Varies on my server the Lost Valley sees alot of traffic where as Dreadflats doesn't, that is why I tried to make the TaskNPC a variable, although that does make it zone specific.
 
ASSWEASEL .... what XML editor is that you have screened shot?
 
Sweet thanks.

Took me forever digging through the /window command to even find the tasklist variable ....
 
Tell me about it. I have had about as much of that as I can take. And even then your still not sure about what window your dealing with. Really bites
 
ASSWEASEL, any suggestions on how to get around the not able to select a task if it is the only one? I have made some major revisions to the macro, but still can not get around selecting the single task. I i can select any of them while there are three, haven't some across just two yet, so this might not work then either. I even thied making it look at the task list in reverse, still a no go ...
 
Rich (BB code):
/notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=NAME OF TASK HERE]}
 
I have the same thing minus the delays .... when there are three tasks listed it can accept the first task, but when there is only one task available it won't select it. Thus I have commented out the option for the second two tasks.

ASSWEASEL ... I must be doing something wrong because I couldn't get the TSEL_TaskList to work, although I did modify how it selects now.

Here is my new test code ...

tasktest.mac
Rich (BB code):
#turbo 10

sub main

  /ini "AutoTask.ini" "${Zone}" "${MyTasks}"
  /declare CurrentTask1 string outer
  /declare CurrentTask2 string outer
  /declare CurrentTask3 string outer
  /declare TaskSetting int outer 0

|- Ask the Taskmaster for a new task
:asktaskmaster
  /say Do you have any tasks?
  /delay 2s

  |- Select the task window
  /notify TaskSelectWnd TaskList leftmouseup

  /varset CurrentTask1 ${Window[TaskSelectWnd].Child[TaskList].List[1]}
  /varset CurrentTask2 ${Window[TaskSelectWnd].Child[TaskList].List[2]}
  /varset CurrentTask3 ${Window[TaskSelectWnd].Child[TaskList].List[3]}


  |- Check the first available task listselect
  /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask1}]} leftmouseup
  /delay 3s
  /varset TaskSetting ${Ini[AutoTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[1]},${notFound}]}
  /delay 3s
  /echo ${TaskSetting} ${CurrentTask1}
  /if (${TaskSetting}==1) /notify TaskSelectWnd AcceptButton leftmouseup
  /delay 2s

  |- Check the second available task
  |- /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask2}]} leftmouseup
  |- /varset TaskSetting ${Ini[AutoTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[2]},${notFound}]}
  |- /echo ${TaskSetting} ${CurrentTask2}
  |- /if (${TaskSetting}==1) /notify TaskSelectWnd AcceptButton leftmouseup
  |- /delay 2s

  |- Check the third available task
  |- /notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=${CurrentTask3}]} leftmouseup
  |- /varset TaskSetting ${Ini[AutoTask.ini,${Zone},${Window[TaskSelectWnd].Child[TaskList].List[3]},${notFound}]}
  |- /echo ${TaskSetting} ${CurrentTask3}
  |- /if (${TaskSetting}==1) /notify TaskSelectWnd AcceptButton leftmouseup
  |- /delay 2s

  /if (${TaskSetting}!=1) {
    /notify TaskSelectWnd DeclineButton leftmouseup
    /delay 6s
    /goto :asktaskmaster
  }
/return
 
I dont address TaskSelectWnd when choosing from the list
I address SelectWnd go to the other posts of mine and you will see why you neeed to notify SelectWnd and not TaskSelectWnd when choosing from the list.


I handled it in array

Rich (BB code):
                     /For Cnt 1 to 13
                            /For Knt 1 to 4

                                    /Varset Line ${Window[TaskSelectWnd].Child[TaskList].List[${Knt}]}
                             /delay 10

                                    /if (${Line.Equal[${Task[${Cnt}]}]}) { 
             

                                       /notify SelectWnd TaskList listselect [${Knt}]  
                                        /delay 2s
                                        /notify TaskSelectWnd AcceptButton leftmouseup

There are 13 tasks i assigned to array Task
I put the value of the line # in a temp variable LINE
then i compare the Line with the Task[] and if equal select it.
I set the line# loop to 4 because sometimes you get 4. and if there is no 2nd 3rd or 4th line returns a null value and just falls thru
 
Last edited:
here is my full macro
Rich (BB code):
|---------------------------------------------------------------------------------|
|----------------------------TaskMaster----------------------------------|
|---     Be In DreadLands Before Running This       ---|
|---                Usage /Macro Taskmaster                ---|
|---              Author Assweasel 08/2005                 ---|



#turbo 40
#event Zoned "You have entered#*#"
|---------------------------------------------------------------------------------|
|----------Events Triggered When Task Given--------------|

#event Task1 "#*#You Have Been assigned the task 'Giant Expedition'#*#"
#event Task2 "#*#You Have Been assigned the task 'Lookout Below#*#"
#event Task3 "#*#You Have Been assigned the task 'Mystic Ring#*#"
#event Task4 "#*#You Have Been assigned the task 'Poor Tree#*#"
#event Task5 "#*#You Have Been assigned the task 'One Dead Tree#*#"
#event Task6 "#*#You Have Been assigned the task 'Ruins Everywhere#*#"
#event Task7 "#*#You Have Been assigned the task 'Don't Drink That#*#"
#event Task8 "#*#You Have Been assigned the task 'Jailing The Dead#*#"
#event Task9 "#*#You Have Been assigned the task 'What Place is This#*#"
#event Task10 "#*#You Have Been assigned the task 'It's Murky in There#*#"
#event Task11 "#*#You Have Been assigned the task 'Scary Caves#*#"
#event Task12 "#*#You Have Been assigned the task 'Big Holes Everywhere#*#"
#event Task13 "#*#You Have Been assigned the task 'Hey, Watch Out Over There#*#"


Sub Main

|---------------------------------------------------------------------------------|
|-----------------------------------Counters-------------------------------|
/Declare Cnt int outer
/Declare Knt int outer

|---------------------------------------------------------------------------------|
|----------------------------------Flags--------------------------------------|
/Declare Flg int outer
/Declare Zn int outer

|---------------------------------------------------------------------------------|
|---------------------------------Tasks We Want To Do------------|
/Declare Task[13] outer
/Varset Task[1] Giant Expedition
/Varset Task[2] Lookout Below
/Varset Task[3] Mystic Ring
/Varset Task[4] Poor Tree
/Varset Task[5] One Dead Tree
/Varset Task[6] Ruins Everywhere
/Varset Task[7] Don't Drink That
/Varset Task[8] Jailing The Dead
/Varset Task[9] What Place is This?
/Varset Task[10] It's Murky in There
/Varset Task[11] Scary Caves
/Varset Task[12] Big Holes Everywhere
/Varset Task[13] Hey, Watch Out Over There


|---------------------------------------------------------------------------------|
|------------------------------Temp Comparator---------------------|
/declare Line outer


|---------------------------------------------------------------------------------|
|----------------------------Task Search Loop-----------------------|

:tasksearchloop

      /varset Flg 0
      /warp loc 820, -2069, 26.19
      /delay 10
      /Target npc Maran
      /say What Tasks
      /delay 2s
 /notify TaskSelectWnd TaskList leftmouseup

                     /For Cnt 1 to 13
                            /For Knt 1 to 4

                                    /Varset Line ${Window[TaskSelectWnd].Child[TaskList].List[${Knt}]}
                             /delay 10

                                    /if (${Line.Equal[${Task[${Cnt}]}]}) { 
             

                                       /notify SelectWnd TaskList listselect [${Knt}]  
                                        /delay 2s
                                        /notify TaskSelectWnd AcceptButton leftmouseup

                                        /varset Flg 1
                                        /varset Line
                                        /varset Knt 5
                                        /varset Cnt 14
                                     } 
                          /next Knt
                    /next Cnt

                   /if (${Flg} == 1) /goto :taskloop
                   /notify TaskSelectWnd DeclineButton leftmouseup
                   /delay 13s
                   /goto :tasksearchloop







|---------------------------------------------------------------------------------|
|-------------------Task Was Selected-------------------------------|
|---------------------------------------------------------------------------------|
:taskloop
                    /delay 20
                    /Doevents
                    /delay 10
                    /popup Finished task 
                    /call WaitDiversion
                    /Popup Going for new task Now
                    /goto :tasksearchloop


/endmacro


|---------------------------------------------------------------------------------|
|------------A Sub to patch here later----------------------------|
|------------------------------The Hole-------------------------------------|

Sub WaitDiversion
|/Popup Am in the Whole
/delay 10
/cast 7
/delay 28m
/doevents flush
/stand
/Return



|---------------------------------------------------------------------------------|
|---------------Sub To Prevent Zone Lag-------------------------|
|-------------------------------Errors----------------------------------------|


Sub Zoner

        /delay 60
:loop
        /doevents
        /if (${Zn}!=1) /goto :loop
        /varset Zn 0
        /delay 10
/return

Sub event_Zoned
/varset Zn 1
/return


|---------------------------------------------------------------------------------|
|--------------------------Giant Expedition----------------------------|
Sub Event_Task1

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc 170.49, -261.95, 46.00
        /zone dreadlands
        /call Zoner
        /warp loc -430, 1970, 325
        /delay 10
        /zone frontiermtns
        /call Zoner
        /Target npc Shilur
        /delay 10
        /Hail 
        /call Zoner
        /zone dreadlands
        /call Zoner
/return




|---------------------------------------------------------------------------------|
|--------------------------Lookout  Below------------------------------|
Sub Event_Task2

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc -75.23, -270.15, 6.54
        /delay 10
        /zone dreadlands
        /call Zoner
        /warp loc -2489.68, 3527.45, 716.25
        /delay 10
        /zone frontiermtns
        /call Zoner
        /Target npc Shilur 
        /delay 10 
        /hail
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|------------------------------Mystic Ring--------------------------------|
Sub Event_Task3

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc 108.11, -446.86, 2.75
        /delay 10
        /zone dreadlands
        /call Zoner
        /warp loc 2480.67, 7751.34, 1049.22
        /delay 10
        /zone Firiona
        /call Zoner
        /Target npc Socaldoor
        /delay 10
         /Hail 
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|-------------------------------Poor Tree----------------------------------|
Sub Event_Task4

        /doevents flush
        /zone Firiona
        /call Zoner
        /zone lakeofillomen
        /call Zoner
        /zone veksar
        /call Zoner
        /warp loc 113.79, 586.20, -26.25
        /delay 10
        /zone lakeofillomen
        /call Zoner
        /warp loc -2547.02, 5022.31, 228.44
        /delay 10
        /zone warslikswood
        /call Zoner
        /Target npc Juikull
        /delay 10   
        /zone lakeofillomen
        /call Zoner
        /zone Firiona
        /call Zoner
        /zone dreadlands
        /call Zoner      
/return


|---------------------------------------------------------------------------------|
|----------------------------One Dead Tree-----------------------------|
Sub Event_Task5

        /doevents flush
        /zone Firiona
        /call Zoner
        /zone lakeofillomen
        /call Zoner
        /zone veksar
        /call Zoner
        /warp loc -340.70, 44.00, -26.25
        /delay 10
        /zone lakeofillomen
        /warp loc -3419.66, 592.44, 109.26
        /Delay 10
        /zone frontiermtn
        /call Zoner
        /Target npc Aurueen
        /delay 10 
        /Hail 
        /zone burningwood
        /call Zoner
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|--------------------------Ruins Everywhere-------------------------|
Sub Event_Task6

        /doevents flush
        /zone Firiona
        /call zoner
        /zone lakeofillomen
        /call zoner
        /zone veksar
        /call zoner
        /warp loc -132.57, 427.11, -7.25
        /zone lakeofillomen
        /call zoner
        /warp loc 3308.81, -1766.17, 76.00
        /zone Firiona 
        /Target npc Syelissa
        /Hail 
        /zone dreadlands
        /call zoner
/return



|---------------------------------------------------------------------------------|
|--------------------------Don't Drink That----------------------------|
Sub Event_Task7

        /doevents flush
        /zone firiona
        /call zoner
        /zone swampofnohope
        /call zoner
        /zone trakanon
        /call zoner
        /zone sebilis
        /call zoner
        /warp loc -725 660 -69
        /Delay 10
        /zone trakanon
        /call zoner
        /warp loc -1671 -4765 -474
        /delay 10
        /zone swampofnohope
        /call zoner
        /target npc Muirkiaz
        /delay 10
        /hail
        /zone firiona
        /call zoner
        /zone dreadlands
        /call zoner
/return



|---------------------------------------------------------------------------------|
|--------------------------Jailing The Dead---------------------------|
Sub Event_Task8

        /doevents flush
        /zone firiona
        /call Zoner
        /zone swampofnohope
        /call Zoner
        /zone trakanon
        /call Zoner
        /zone sebilis
        /call Zoner
        /warp loc -422.09 515.63 -49.78
        /delay 10
        /zone trakanon
        /call Zoner
        /warp loc -1757 3653.95 -282.70
        /delay 10
        /zone emeraldjungle
        /call Zoner
        /target npc Gelliza
        /delay 10
        /Hail
        /delay 1m
        /zone trakanon
        /call Zoner
        /zone swampofnohope
        /call Zoner
        /zone firiona
        /call Zoner
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|------------------------What Place is This?-------------------------|
Sub Event_Task9

        /doevents flush
        /zone frontiermtns
        /call Zoner
        /zone lakeofillomen
        /call Zoner
        /zone veksar
        /call Zoner
        /warp loc -137.96 -545.09 -27.81
        /delay 30
        /zone lakeofillomen
        /call Zoner
        /warp loc 5526.5 -5285.08 33.19
        /delay 10
        /zone warslikswood
        /call Zoner
        /target npc Juikull
        /delay 10
        /say Hail
        /zone lakeofillomen
        /call Zoner
        /zone frontiermtns
        /call Zoner
        /zone dreadlands
        /call Zoner
/return


|---------------------------------------------------------------------------------|
|--------------------------It's Murky in There------------------------|
Sub Event_Task10

        /doevents flush
        /zone firiona
        /call Zoner
        /zone swampofnohope
        /call Zoner
        /zone trakanon
        /call Zoner
        /zone sebilis
        /call Zoner
        /warp loc -283.57 -8.92 -32.25
        /delay 10
        /zone trakanon
        /call Zoner
        /warp loc 2065.13 4418.97 -348.23
        /delay 10
        /zone swampofnohope
        /call Zoner
        /Target npc gkoroza
        /hail
        /delay 10
/return


|---------------------------------------------------------------------------------|
|-----------------------------Scary Caves-------------------------------|
Sub Event_Task11

        /doevents flush
        /zone karnor
        /call Zoner
        /warp loc -48.92 -277.16 2.19
        /Delay 10
        /zone dreadlands
        /call Zoner
        /warp loc -2514 3498 712
        /Delay 10
        /zone frontiermtns
        /call Zoner
        /Target npc Shilur
        /Hail
        /Delay 10
/return


|---------------------------------------------------------------------------------|
|----------------------Big Holes Everywhere-----------------------|
Sub Event_Task12

        /doevents flush
        /zone burningwood
        /call Zoner
        /warp loc -324.42 2201.61 -492.53
        /Delay 10
        /zone skyfire
        /call Zoner
        /warp loc 2365.41 3735.16 -129.87
        /Delay 10
        /zone burningwood
        /call Zoner
        /zone dreadlands
        /call Zoner
        /Target npc korriz
        /hail
        /Delay 10
/return


|---------------------------------------------------------------------------------|
|-----------------------Hey, Watch Out Over There-------------|
Sub Event_Task13

        /doevents flush
        /zone frontiermtns
        /call Zoner
        /zone lakeofillomen
        /call Zoner
        /warp loc -1237 2341 295.97
        /Delay 10
        /zone frontiermtns
        /call Zoner
        /warp loc 4482 1350 372
        /Delay 10
        /zone lakeofillomen
        /call Zoner
        /Target npc  Malkez
        /hail
        /Delay 10
/return

There are errors in the tasks warps etc so edit or monitor closely

Pretty sure this was my final but could be wrong don't use it anymore since this went pub.
 
Made a good size overhaul of the original post. This one works great ran it for 16 hours straight without any problems let me know if anyone else has any issues running it.

Alatyami
 
so far so good with the new setup. However, how would I add more tasks? Waiting for the Lookout Below task can take a long time. :(
 
grunion said:
so far so good with the new setup. However, how would I add more tasks? Waiting for the Lookout Below task can take a long time. :(

1. Add an additional /if clause under sub LoadTask
2. Create a new sub YourTaskName at the bottom of the macro.
3. Add the task name to the INI file. If it is in a different zone than DL then add:
[Zone Long Name]
Your New Task Name=1

And that should do it.
 
In te very little tie thatI w able to log in tonite ... They changed the Task windowa little bit but it should ne affect this macro. I amcurrently working on a revised version to includemroe features ...
 
Alatyami said:
In te very little tie thatI w able to log in tonite ... They changed the Task windowa little bit but it should ne affect this macro. I amcurrently working on a revised version to includemroe features ...

I speak Drunk Alatyami

In the very little time that I was able to log in tonight
They changed the Task window a little bit
But it should not effect the maco
I am currently working on a revised version
to include more features

I am God .. I rule





yeah i think thats pretty accurate 8-P




:p
 
LOL ...

Sorry about that .... I just bought one of the small Virtually Indestructable Keyboards .... You have to hit the keys just right or a couple of key strokes get missed as everyone can now see ... Now you add this keyboard and my bad spelling .... vola! Alatyamese!

Thanks for the translation armysoldier you were right on target 40 out of 40.
 
grunion said:
When I try and /mac AutoTask I just get "Couldn't open the macro file". I have verified that I'm typing the name right, that the file names are the same as you have here, and I went over to the MQ2 site and grabbed what seemed to be the newest Exp_Tracking.inc. No luck in getting this macro to work. :confused:


Did you save file as autotask.mac?

BTW thanks for IP address, I tried to hack your computer but got bored right away trying to figure password out.
 
jmustful said:
Did you save file as autotask.mac?

BTW thanks for IP address, I tried to hack your computer but got bored right away trying to figure password out.


xcodeadam.png


hey. if you're talking about the ip address off of this. then you were trying to hack your own IP address, or you didn't try and are just talking trash :P
 
armysoldier said:
I speak Drunk Alatyami

In the very little time that I was able to log in tonight
They changed the Task window a little bit
But it should not effect the maco
I am currently working on a revised version
to include more features

I am God .. I rule





yeah i think thats pretty accurate 8-P




:p

Our Military's finest code breakers hard at work - Brilliant Minds :)
 
AdvTask.mac

Finally I got it done! The update is here ... opps just remembered ... forgot to include to zip file .... read the first post the mod notes!

Let me know if there are any issues ...
 
It's on the first post .... ;)

Here's the link ... for those that are lazy ... non-lazy mq'ers are not authorized to use the following link! Motivated people have been warned!

AdvTask.zip
 
what is the level range for these? only mission that i can get on my chars(70) is the decaying theater.
 
i got all these mission from 58 up, am currently at 65, stopped for aa's cause i heard that you don't get as many of the missions after 65

edit: Don't pay attention to my sig, haven't updated in looong time
 
Alatymi.... i have a task Decaying theatre... how do i add them?

what exactly do i need to do to make any tasks I get ... added to the mac?

is it just editing the ini?
 
AFK Taskmaster
Status
Not open for further replies.

Users who are viewing this thread

Back
Top
Cart