Using EQ2UIPage to dismiss popup dialogs

mistahmikey

Active Member
Looked through the UI xml files, but did not see anything that looks like it would work for this. I am interested in dismissing the "Account is in use." dialog that pops up when you log in. Is there anyway to get a handle on this window to operate its "Ok" button?
 

uiyice

Active Member
Looked through the UI xml files, but did not see anything that looks like it would work for this. I am interested in dismissing the "Account is in use." dialog that pops up when you log in. Is there anyway to get a handle on this window to operate its "Ok" button?
Yes. If memory serves it reuses a fairly generic dialog box for login response messages - you're not going to find any XML that contains "account in use", you're going to have to bring the dialog up in front of you, and walk the EQ2UI page tree to find which dialog the text was put into.

(LoginScene,LoginInfo)? (LoginScene,LSInfo,WindowPage)? something like that...

But that's not your big problem. Once you get past that, you're going to find an oddity in the login scene behavior that may or may not be worth your time to solve. (I said screw it, and wrote code to prevent account collisions, instead of trying to handle them)

Normal Flow:

Start Game
-> See Login Panel
-> Enter Login information, including character name
-> Enter game world as character (bypassing character select)

Flow involving

Start Game
-> See Login Panel
-> Enter Login Information, including character name
-> [Error: Account in use]
-> Dismiss error dialog, return to Login panel
-> Enter different login information, including character name
-> End up at character select for that account, (character name on login panel ignored)
-> No way to easily get back to login panel, code must be able to deal with character select.

So, without account collisions, you can just ignore character select. You don't have to write any code to handle it.

With an account collusion, you now need code that can pick the right character from the panel on the left. Which I never bothered to write... (Maybe others have)

Maybe they've 'fixed' it, but I doubt it...
 

mistahmikey

Active Member
Thanks for the info uiyice - as usual, you are spot on. The popup is EQ2UIPage[LoginScene,LSInfo], and the button on it is EQ2UIPage[LoginScene,LSInfo].Child[button,WindowPage.OkButton]. However, the popup always "exists", and using the IsVisible member to figure out if it is actually being displayed is not reliable. It is also interesting that you can't retrieve the text the popup displays - that widget that I would think contains it always returns the default text that appears in the .xml file. I thought if I could at least get the text, I could tell if it had transitioned from its default state, but oh well.

Thanks for the help :)
 
Top Bottom