Task Time remaining via macro

DemonH2

Lifetimer
Joined
May 14, 2007
Messages
1,886
Reaction score
2
Points
38
VillageIdiot and I just spent a good amount of time figuring out how to view/use task time remaining in macros. Here is how you do it.

To get a read-out of how much time the task has left:

Code:
${Window[TaskWnd].Child[TASK_TaskList].List[1,3]}

1 is the task number(usually it's going to be 1 as you can only have one active task at a time). 3 is the column.

--------------------------------------------------------------

Now, to be able to use that to say /if (Time left is less than blah), you have to separate out the HH:MM:SS

To get the hours you would do.:

Code:
${Window[TaskWnd].Child[TASK_TaskList].List[1,3].Token[1,:]}

The second 1 there represents the HH. So if you wanted the MM or SS, you would change it to 2 or 3 respectively.

In the end if you want to say, /if (less than 1 hour 30 minutes remaining it would look like:

Code:
/if (${Window[TaskWnd].Child[TASK_TaskList].List[1,3].Token[1,:]} <= 01 && ${Window[TaskWnd].Child[TASK_TaskList].List[1,3].Token[2,:]} <= 30) /shityourpants
 
Last edited:
I gotta give Xeniaz some credit here too as he helped me.

and it is nice to see people post stuff like this. Reminds me of the day of making macro's to help.


$$$$ :(
 
I am just waiting for Melvin to come by and say:

"well actually you could just use ${Obvious.Youreadumbass} and it does the same thing"

It always happens to me, I'm getting a complex!
 
Actually don't think anyone ever made a TLO for task timers.
 
EDIT: actually, i posted this back in jan as i am digging around trying to find the access to the hidden windows.

all ya had to do was ask and we coulda told ya!

so for windows in general. you can see what is open by typing:
/windows open

from there you can see all your options for a specific window by typing (task window for example):
/window TaskWnd

In there, i know i am looking for a listbox in this example. Under listbox i see TASK_TaskList and TASK_TaskElementList as valid listboxes.

so now if i want to access any of those, i just find the column/row combo that i want.

if i want to access complete steps (3/5 complete), i need to access the TASK_TaskElementList, column 2.

so that would be:
${Window[TaskWnd].Child[TASK_TaskElementList].List[1,2]}

if i wanted to make sure im in that same zone, i could compare column 3 to my current zone name:
${Window[TaskWnd].Child[TASK_TaskElementList].List[1,3].Equal[${Zone.Name}]}}

Using that i can access if a step is "Done" or not and you can add that crap to hud/macros to see next step. compare npc names/zones/items in inv.. etc.

etc. it works for all windows, and you can figure out it fairly quickly with a few commands. the tough ones are the select non-windows (like selecting extended target options), but that is cleared up on another post. can probably find that and put it here.

EDIT: code from original post:
Code:
/if (!${Window[TaskWnd]})  = do one of the following 2 commands:
/keypress alt+q
/windowstate TaskWnd open

/notify TaskWnd TASK_TaskList listselect 1 = selects first task on list

${Window[TaskWnd].Child[TASK_TaskList].List[1,2]} = Task name
${Window[TaskWnd].Child[TASK_TaskList].List[1,3]} = Task Time Left

${Window[TaskWnd].Child[TASK_TaskElementList].List[1,1]} = objective instructions for first line
${Window[TaskWnd].Child[TASK_TaskElementList].List[1,2]} = status of first objective
${Window[TaskWnd].Child[TASK_TaskElementList].List[1,3]} = zone of first objective


${Window[TaskWnd].Child[TASK_Description].Text} = body

EDIT 2: finally found the "hidden menu" they are referred to as context menus. so like aura winow, XTarget select window, some others.

So if you want to notify those types, you gotta use the 0 contextmenu select option:
/nomodkey /notify AuraWindow AuraList listselect 1
/nomodkey /notify AuraWindow 0 contextmenu 1
 
Last edited:
Could be the paint chips as a child or the booze talking, but I don't see anywhere on there that could tell me the time left in the task.

If it's there that's fantastic, I'd rather now have to keep the quest window open to have my macro work correctly.
 
must be the paint chips!

${Window[TaskWnd].Child[TASK_TaskList].List[1,3]} = Task Time Left

you just set that as your variable.
 
I was responding to htw...sorry..

I meant I don't see a TLO that could do that.
 
Oh, good point lol. Time. I didn't even pay attention to that, was just looking at the task name stuff.

htw
 
I mean I wouldn't hold it against you if you wanted to create one for time...one that didn't require the task window to be open.

As a matter of fact I might get you an RC Cola and a Moon Pie.
 
I mean I wouldn't hold it against you if you wanted to create one for time...one that didn't require the task window to be open.

As a matter of fact I might get you an RC Cola and a Moon Pie.
Update MQ2MMOTLO, and try it. I will have to see if I got it in there right.

It would be like:


  • ${Task.Time[2]} Time left in 2nd task
  • ${Task.Time[Fight or Flight]} Time left in the task 'Fight or Flight'
 
I mean I wouldn't hold it against you if you wanted to create one for time...one that didn't require the task window to be open.

As a matter of fact I might get you an RC Cola and a Moon Pie.
Update MQ2MMOTLO, and try it. I will have to see if I got it in there right.

It would be like:


  • ${Task.Time[2]} Time left in 2nd task
  • ${Task.Time[Fight or Flight]} Time left in the task 'Fight or Flight'

You own
 
I mean I wouldn't hold it against you if you wanted to create one for time...one that didn't require the task window to be open.

As a matter of fact I might get you an RC Cola and a Moon Pie.
Update MQ2MMOTLO, and try it. I will have to see if I got it in there right.

It would be like:


  • ${Task.Time[2]} Time left in 2nd task
  • ${Task.Time[Fight or Flight]} Time left in the task 'Fight or Flight'

You own

-like-
 
I will test it as soon as I get home today.

PM me the address for the RC Cola and moon pie :D

P.S. I know you really aren't going to, so just accept my thanks you magnificent bastard.
 
It works but it still requires the task window to be open in order to update.

Is there any work around for that?
 
Last edited:
create a second xml, hidden, task window that is always up, like mq2bagwindow. probably not a great answer, but itd probably work.
 
If you try it (without opening the window), let me know how it goes.

htw