EQ2Interface.com
Search Downloads


Go Back   EQ2Interface > Developer Discussion > XML Modification Help & Info

Reply
Thread Tools Search this Thread Display Modes
  #1  
Unread 05-29-2006, 02:07 PM
Deiussum Deiussum is offline
A Brown Bear
 
Join Date: Jan 2006
Server: Nagafen
Posts: 8
Default Tracking window modifications

I've had a few ideas for some tracking window modifications. I am just starting to dabble in UI modding now, so I'm not sure how much (if any) of what I want to do is even possible. I've played with it a little bit with limited success. Maybe some of you experts can point me in the right direction or flat out tell me that what I want to do isn't possible.

First a description of 3 basic changes/additions I'd like to make and then I'll try and describe what I have tried so far.
  • I'd like to have a button on the window that you press and it does a /who of the selected name in the tracking window.
  • I'd like to have a checkbox next to the filter text to easily enable/disable filtering based on that text.
  • I'd like to change the dropdown filter (All, NPC only, PC only, Group only) into a radio-button style control.

What I've tried so far for the "Who button" is simply to add a button with an OnPress event try try and do a /who of the name. The problem I am running into is that I can't seem to get the name. The tracking window uses a Table and I can get the index of the selected row, but I can't seem to get the text of that row. Is there someway of using that index to get the proper text from the DataSource or DataSourceContainer? I haven't been able to find any info on what sort of properties/methods are supported on those.

For the radio button mod, I started out by simply trying to create a simple button to change the dropdown selection. That seems to work, but the filter doesn't seem to get applied to the tracking table. So if the dropdown is at PC only, when I click my test button to switch it to NPC only it changes the dropdown, but the window is still filtering PC only. Here's what the code for that button looks like currently.

Code:
<Button LocalText="Test" Location="120,337" Name="TestButton" PackLocation="left,bottom" PackLocationProp="-106/0001,-053/0001" PackSize="fixed,fixed" PackSizeProp="0002/0003,0002/0003" ScrollExtent="100,32" Size="100,32" Style="/CommonElements.PushButton.data.style" OnPress="parent.FilterDropdown.SelectedItemIndex=1
parent.FilterDropdown.OnSelect">Test</Button>
I haven't tried anything yet with the enable/disable checkbox, but I'm thinking that on a disable I can possibly store the text currently there into another property then clear the text, and then with the enable restore that text. Based on my attempts to get the dropdown mod working I'm guessing I'll run into the same problem of that not refreshing the actual tracking list, though. Is there some sort of function I need to call to update that data to re-apply the filters?

Anyway, any thoughts or ideas would be helpful even if it's to tell me that I'm overlooking something stupidly simple, or that what I want can just cannot be done. Thanks!
Reply With Quote
  #2  
Unread 05-31-2006, 06:04 PM
Deiussum Deiussum is offline
A Brown Bear
 
Join Date: Jan 2006
Server: Nagafen
Posts: 8
Default

Well... I haven't made much progress yet. Looking at other mods I had noticed the usage of parenthesis to evaluate the value of things instead of reading them as text, so I tried adding parenthesis around parent.FilterDropdown.OnSelect hoping it would trigger the OnSelect event making the game think that it was changed by hand and thus possibly causing it to re-apply the filter. It didn't work.

Has anyone found any way to programmatically trigger an event like this from another event? (e.g. When the OnPress event of my button is triggered it triggers the OnSelect event of the dropdown.)

Also, When searching the forums here, I found this old thread with a bunch of interesting discoveries. Are there any more tidbits on the syntax of these action scripts available anywhere? I haven't seen any yet.
Reply With Quote
  #3  
Unread 06-07-2006, 07:59 AM
gm9 gm9 is offline
gm10-1
Premium Member
EQ2Interface Super Mod
Featured
 
Join Date: Feb 2006
Posts: 6,479
Default

You can cause events manually for example by setting:

xx.Activated=true|false
xx.Press=true

I would have guessed that you could cause the OnSelect event to trigger by selecting a different item, but you are already doing this so that cannot be it.

But why do you want to do this, anyway? Why not simply copy the code in the OnSelect event over to your OnPress event? (I admit I didn't read all of your post, maybe I missed something)
__________________
P R O F I T U I ∙ R E B O R N [Auto-Updater] | [Portal] | [F.A.Q.] | [Support Forums]
~ Retired ~
If it does not work, you likely installed it incorrectly. Always try a clean install before reporting bugs.
Reply With Quote
  #4  
Unread 06-07-2006, 11:21 AM
Deiussum Deiussum is offline
A Brown Bear
 
Join Date: Jan 2006
Server: Nagafen
Posts: 8
Default

The problem is that the dropdown box I want to change is part of the original tracking window and I'm not sure how exactly it ties in to the game. It appears that it uses a placeholder which the game then replaces with the choices. When a new selection is made, it changes what is shown in the tracking list. (e.g. if you select All, it shows everything in range, if you select PC only it shows only PCs in range, etc.)

I don't actually have code in the OnSelect event. I was hoping that triggering the OnSelect manually would trigger something in the game to let it know that that it was changed and should re-apply the filtering. Since that doesn't seem to be working maybe it uses a completely different method to detect when it is changed, though.

The XML for the dropdown and its data source looks like so:

Code:
<DataSource Name="FilterDS">
<Data Name="Placeholder1" text="&amp;amp;lt;Filters&amp;amp;gt;"/>
</DataSource>
<Dropdownbox DataSource="FilterDS" Location="20,38" Name="FilterDropdown" RowTemplate="/Templates.dropdowntemplate" ScrollExtent="141,19" Size="141,19" Style="/dropdownlist.dropdown_default"/>
I considered finding a way to use that data source directly in a new radio button type control, or somehow changing the style of the Dropdown to behave more like a radio button, but haven't figured out any way to do that yet. (Although I did change the dropdown style a bit based on looking at a couple of other tracking window mods.)

For one of my other features, the "/who" button, I looked to see if there was any dynamic data that I could use to get the name of someone you are already tracking. It doesn't appear that there is, though, so I'm beginning to think that what I want to do isn't really possible with the current system.

Last edited by Deiussum : 06-07-2006 at 11:26 AM.
Reply With Quote
  #5  
Unread 06-07-2006, 04:07 PM
Deiussum Deiussum is offline
A Brown Bear
 
Join Date: Jan 2006
Server: Nagafen
Posts: 8
Default

Another update on my progress in case anyone cares. I did get my checkbox working. There is one minor annoyance in that the tracking list doesn't update immediately, but can take a few seconds after checking/unchecking the box. I'm guessing that there is some sort of polling going on there, but I'm happy to at least have one of my ideas working, even if it isn't working as quickly as I would like.
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 11:15 AM.


Our Network
EQInterface | EQ2Interface | WoWInterface | LoTROInterface | ESOUI | MMOUI