HUD + achievements lists help

mont7181

Lifetimer
Joined
Jul 16, 2005
Messages
210
Reaction score
1
Points
16
Location
CT
Are we able to access certain achievement variables so I can add to my HUD.
Its a pain in the ass having to keep opening the /ach window and search thru the lists to follow my progress in a certain task. As an example, Foreign Affair Creatures 200 / 5000
How do I find that current number towards goal?
 
I do not see a TLO reference for it here or on mq2 site, so I am assuming no. But that would a nice one to have. I have a feeling it might be related to the same issue as trying to have quest/tasks in the hud. I could be wrong though.
 
While there may not be a TLO you may be able to fish for the information via the Window TLO. This is what I did recently to get information for your current quest line.
 
I had tried looking into this a while back and wasn't able to find it either. Here's some of the results I did get:
Code:
/window ACH_Main_Layout = 2755 child windows
/window ACH_AchievementLayout = 2753 child windows
/window ACH_AchievementsPage = 2533 child windows
/window ACH_Achievements = 2532 child windows
/window ACH_Item_Screen = 9 child windows
Looking just at the top gives
Code:
/echo ${Window[AchievementsWnd].Open} 
/echo ${Window[AchievementsWnd].Children} = True
/echo ${Window[AchievementsWnd].Siblings} = False
/echo ${Window[AchievementsWnd].Parent.Name} error... it's the top
/echo ${Window[AchievementsWnd].FirstChild.Name} = ACH_Main_Layout
/echo ${Window[AchievementsWnd].Next.Name} = error... only children, no siblings
/echo ${Window[AchievementsWnd].Text} = Achievements
/echo ${Window[AchievementsWnd].Tooltip} = <blank>
/echo ${Window[AchievementsWnd].Style} = 2668
/echo ${Window[AchievementsWnd].Checked} = False
/echo ${Window[AchievementsWnd].Type} = Screen
/echo ${Window[AchievementsWnd].List[1]} = NULL
/echo ${Window[AchievementsWnd].VScrollMax} = 100
/echo ${Window[AchievementsWnd].VScrollPos} = 0
/echo ${Window[AchievementsWnd].HScrollMax} = 100
/echo ${Window[AchievementsWnd].HScrollPos} = 0
For each of the child windows you can do the same digging. Something like
Code:
{ACH_AchievementLayout}
${Window[AchievementsWnd].Child[ACH_Main_Layout].Child[ACH_AchievementLayout].FirstChild.Name} = ACH_AchievementSubwindows
The only "interesting" things I was able to make the UI do was toggle the radio buttons on the SUMMARY page of Show: Open / Complete / Locked.
Code:
/notify ACH_AchievementLayout ACH_OpenButton leftmouseup
this makes you compare all your achievements against current target
Code:
/notify ACH_AchievementLayout ACH_DoCompareButton leftmouseup

However I was never able to find something like in the task window that shows your current progress .... something like
Code:
${Window[TaskWnd].Child[TASK_TaskElementList].List[7,2].Equal[Done]}
${Window[TaskWnd].Child[TASK_TaskElementList].List[12,2].Equal[1/6]}

if someone else knows I certainly would like to see =).

-M
 
Taking a quick look at the layout its a pretty complex window with lots of stuff.

I don't think your going to find a simple one liner that will get you what you want. Instead you're going to have to use notify to open the right expansion and then look at the results.
 
Clicks the category buttons on the left side to pull up specific lists.

Code:
/notify AchievementsWnd ACH_Categories leftmouse 0
/notify AchievementsWnd ACH_Categories leftmouse 3
/notify AchievementsWnd ACH_Categories leftmouse 4
/notify AchievementsWnd ACH_Categories leftmouse 5
 
Looks like you can get the currently selected achievements by walking the tree:

Code:
|- Selects the Baking achievement
/notify AchievementsWnd ACH_Categories leftmouse 3
|- Spits out the titles for Baking 50,100,150
/echo ${Window[AchievementsWnd].Child[ACH_Achievements].FirstChild.Text}
/echo ${Window[AchievementsWnd].Child[ACH_Achievements].FirstChild.Next.Text}
/echo ${Window[AchievementsWnd].Child[ACH_Achievements].FirstChild.Next.Next.Text}

ACH_Achievements is layout instead of a list so only way I know how to find things below here is using FirstChild and Next .

Think this is about as far as I'm going to take it. -- Good luck :)