Project

General

Profile

EQ2UIPage (Top-Level Object)

Description

Retrieves an EQ2UIPage object from the game world.

Forms

  • eq2window EQ2UIPage["ParentPageName","PageName"]
    • This data member takes two arguments. The first argument is the top level parent 'page' name from the xml file to which the UIPage's configuration is saved (this is usually the second part o the xml filename..see below for explanation). The second argument could be any of the top level 'Page' names found embedded under the first argument 'page' name. I know that sounds complicated, but see below for a few examples that should help with clarification.

Brief Tutorial and Explanation

First of all, all of the information you need is located in your EQ2 UI subdirectory and contains the extension .xml. (ie, eq2ui_inventory_market.xml). All of the files that correspond to this TLO begin with the phrase 'eq2ui_'. Then, the second word in the file name will always be the ParentPageName (in this case, 'inventory'), and then the third word in the file name will typically be your second argument (or PageName. If a file only has two parts (ie, eq2ui_proxyactor.xml). Then "ProxyActor" would be your ParentPageName and then you would need to look inside the file to find your second argument (I will give you an example of this in a moment).

So, using the information you have so far, here are a few examples of how to determine ParentPageName and PageName based solely on the xml file name.

eq2ui_inventory_inventory.xml   ->  ${EQ2UIPage[Inventory,Inventory]}
eq2ui_mainhud_guild.xml           ->  ${EQ2UIPage[MainHUD,Guild]}

Caveat

Many in-game UI windows can not be accessed via this datatype (e.g., the loot windows, the reforge windows, etc.)    Many of these already have seperate TLOs for access.   Otherwise, if you come across an eq2window that doesn't seem to respond to this TLO, then you'll need to make a feature request here on forge.

In general, script writers are encouraged to review the complete list of UI Windows TLOs before attempting to access a window with EQ2UIPage.

Examples

  • echo ${EQ2UIPage[ProxyActor,Conversation].Child[composite,replies].NumChildren
  • echo ${EQ2UIPage[Inventory,Merchant].Child[checkbox,NoSaleCheckBox].IsChecked}
  • EQ2UIPage[Tradeskills,Tradeskills].Child[button,Tradeskills.Recipes.CreateButton]:LeftClick
  • echo ${EQ2UIPage[MainHUD,Persona].Child[text,MainPage.RaceGender].Label}