![]() |
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.
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=1Anyway, 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! |
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. |
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) |
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">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. |
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. :)
|
| All times are GMT -5. The time now is 07:47 PM. |
vBulletin® - Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© MMOUI