Quantcast Adding /who to the tracking window -- a kludge - EQ2Interface
EQ2Interface.com
Search Downloads


Go Back   EQ2Interface > Interface Discussion > Pre-Beta

Reply
Thread Tools Search this Thread Display Modes
  #1  
Unread 05-06-2007, 11:01 AM
Othesus's Avatar
Othesus Othesus is offline
A Griffon
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
Default Adding /who to the tracking window -- a kludge

I think the second most requested thing on the forums is adding a /who button to the tracking window. The first was, "Why is my XP going down sometimes?" Since we finally got a fix for that problem I thought I would tackle the /who problem.

I'd read that the names available have color text attached to them but I had never seen a working example of this. After a couple searches I found that the big breakthrough was made by Deiussum in this thread. The key was you need to create a custom row template file and ask the Datasource for $value$ instead of $text$. Does anyone know any more about how these templates work?

Since I didn't see any working examples I had to put one together myself or at least break something trying!

After following what Deiussum posted I tried copying the name into a text box and ended up with this kludge window. It does work but it takes a few steps to use so it may be faster sometimes just to type /who charactername anyway.



1. Click the dropdown menu and choose a name.
2. Click in the text box that appears.
3. Press Home then Backspace on your keyboard. (This deletes the color information from the text field.)
4. Press Enter on your keyboard or click the "who" button.

The filters at the top of the window work ok, which helps a little, but clicking the sort button (actually the TableHeader where it says "Name") doesn't sort the dropdown menu. The Table.SelectedRow only matches the Dropdownbox.SelectedItemIndex when you use the default sorting order (sort by distance.) The menu can be really long if you choose to show everything so for PvP purposes you probably want to show PC Only.

The two major problems are still there. You have to use a dropdown menu instead of just clicking in the table of names and you have to manually delete the color from the text field. But, if anyone wants to try the window out or test any ideas it's a good starting place.

(Oops, those original xml files used a custom font from a different UI mod so the text may not have shown up. These files should work now!)
Attached Files
File Type: zip Othesus tracking kludge with who 6-14-2007.zip (3.5 KB, 610 views)

Last edited by Othesus : 06-14-2007 at 05:05 PM.
Reply With Quote
  #2  
Unread 06-14-2007, 03:57 PM
DougGG DougGG is offline
A Young Mystail Rat
 
Join Date: Oct 2005
Server: Antonia Bayle
Posts: 3
Default

I saw a post previously stating its impossible to pull the name from the tracking list. because you would get the color code of the name aswell as the information. if thats correct why not add a function that has all the possible colors and remove them if copyed then posted.

Quote:
Originally Posted by Othesus View Post
I think the second most requested thing on the forums is adding a /who button to the tracking window. The first was, "Why is my XP going down sometimes?" Since we finally got a fix for that problem I thought I would tackle the /who problem.

I'd read that the names available have color text attached to them but I had never seen a working example of this. After a couple searches I found that the big breakthrough was made by Deiussum in this thread. The key was you need to create a custom row template file and ask the Datasource for $value$ instead of $text$. Does anyone know any more about how these templates work?

Since I didn't see any working examples I had to put one together myself or at least break something trying!

After following what Deiussum posted I tried copying the name into a text box and ended up with this kludge window. It does work but it takes a few steps to use so it may be faster sometimes just to type /who charactername anyway.



1. Click the dropdown menu and choose a name.
2. Click in the text box that appears.
3. Press Home then Backspace on your keyboard. (This deletes the color information from the text field.)
4. Press Enter on your keyboard or click the "who" button.

The filters at the top of the window work ok, which helps a little, but clicking the sort button (actually the TableHeader where it says "Name") doesn't sort the dropdown menu. The Table.SelectedRow only matches the Dropdownbox.SelectedItemIndex when you use the default sorting order (sort by distance.) The menu can be really long if you choose to show everything so for PvP purposes you probably want to show PC Only.

The two major problems are still there. You have to use a dropdown menu instead of just clicking in the table of names and you have to manually delete the color from the text field. But, if anyone wants to try the window out or test any ideas it's a good starting place.
Reply With Quote
  #3  
Unread 06-14-2007, 04:22 PM
Othesus's Avatar
Othesus Othesus is offline
A Griffon
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
Default

You can read a bit more discussion here:
http://www.eq2interface.com/forums/s...ead.php?t=6922

or here:
http://www.eq2interface.com/forums/s...ead.php?t=7602

or here:
http://www.eq2interface.com/forums/s...ead.php?t=6691
Reply With Quote
  #4  
Unread 06-14-2007, 06:37 PM
DougGG DougGG is offline
A Young Mystail Rat
 
Join Date: Oct 2005
Server: Antonia Bayle
Posts: 3
Default Would you mind..

i cant find well i can find it a bit but i would like to know a bit more indepth on how that command pulls the name from the list.

i think this is what does it. if not could u point it out to me, Also ezer way to do this i think would be to remove the /who button or dont even use it at the moment since u have to use the backspace and home stuff u might aswell use the drop down once u picked a name drop a space in the front of the name and then hit enter. Faster that way.

Unless this is why i wanna know how it added the name so i can maybe play with some little scripts and add afew things and stuff to see if somthing works

Quote:
<DataSourceContainer Name="TableDSContainer">
<DataSource label=":30ce89b701ee2ec7:Name" Name="NameDS" type="text">
<Data Name="New Data" value="\#FF0000[DEVL]Test1"/>
<Data Name="New Data" value="\#00FFFF[DEVL]Test2"/>
</DataSource>
</DataSourceContainer>
<TableModelDefault DataSourceContainer="TableDSContainer" Name="TableModel" />
Reply With Quote
  #5  
Unread 06-14-2007, 11:38 PM
Othesus's Avatar
Othesus Othesus is offline
A Griffon
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
Default

Sorry, I don't really understand what you're asking.
Reply With Quote
  #6  
Unread 06-15-2007, 05:07 AM
DougGG DougGG is offline
A Young Mystail Rat
 
Join Date: Oct 2005
Server: Antonia Bayle
Posts: 3
Default

how does the dropdown text box list the names how does it call the names into the list wat is the code
Reply With Quote
  #7  
Unread 06-15-2007, 01:28 PM
Zonx's Avatar
Zonx Zonx is offline
A Green Troll
This person is a EQ2Map developer.
Featured
 
Join Date: Dec 2004
Server: Blackburrow
Posts: 2,221
Send a message via Yahoo to Zonx
Default

Ok here's the list of problem in detail...

1) The tracking list is a table control which use a datasource for the list info. As such, there are no event handlers attached to individual rows.

2) Tables do not have an OnSelect event handler to trigger other events, so its difficult to trigger script when the user changes from say item 1 to item 2.

3) Tables don't have a SelectedItemIndex property that can be used to reference the data of a selected item. However, we do have a SelectedRow number that tells us the number of the selected item.

4) The list data includes color tags embedded with the text. We have no way of seperating the player name from the color tag and attempting a /who with the color tag included confuses /who and yeilds no results.

Work Arounds

As I originally suggested, we can get around problems 1-3 by adding a more usefull control attached to the same datasource. Dropdown menu's are good for this since they do have an OnSelect event handler and a SelectedItemIndex property for referencing the data.

There are several methods we can use to sync the menu's selcted item with the table's selected item. The simplest method is a button the user clicks that sets the menu's selectedItemIndex = the tables SelectedRow. Once that's done, we can easily reference the data with menu.SelectedItemIndex.Value. We can paste that info wherever and add other text before or after it with concat.

The only remaining hurdle is getting rid of the color data. Currently there is no way of stripping those tags short of dumping the data to a text box and keyboarding Home Del.
Reply With Quote
  #8  
Unread 06-15-2007, 01:43 PM
Zonx's Avatar
Zonx Zonx is offline
A Green Troll
This person is a EQ2Map developer.
Featured
 
Join Date: Dec 2004
Server: Blackburrow
Posts: 2,221
Send a message via Yahoo to Zonx
Default

One additional note...

Although color data is now filtered from chat channels (tell never gets sent and you never get an echo), last I checked it does get logged. A log parser could be setup to watch for a command string that includes the color info and player name, strips the command string and color data, then dumps the result to the clipboard.

Example

In game mod pastes the following to chat which gets logged...
/s wtrack :00F:Someplayer

Parser returns to clipboard

/who Someplayer
Reply With Quote
  #9  
Unread 06-15-2007, 02:45 PM
Othesus's Avatar
Othesus Othesus is offline
A Griffon
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
Default

Quote:
Originally Posted by Zonx View Post
3) Tables don't have a SelectedItemIndex property that can be used to reference the data of a selected item. However, we do have a SelectedRow number that tells us the number of the selected item.

There are several methods we can use to sync the menu's selcted item with the table's selected item. The simplest method is a button the user clicks that sets the menu's selectedItemIndex = the tables SelectedRow. Once that's done, we can easily reference the data with menu.SelectedItemIndex.Value. We can paste that info wherever and add other text before or after it with concat.
Have you tried this or gotten this to work somehow? I did work on this idea but there were some problems. The table of names can be sorted three different ways. It starts out sorted by distance. If you click where it says "Name" it sorts alphabetically, and if you click again it sorts in reverse alphabetical order.

The Table.SelectedRow only matches the Dropdownbox.SelectedItemIndex when you sort by distance. The dropdownbox is always sorted by distance so the numbers don't match when you sort the table the other two ways so I wasn't able to use those numbers at all.

What other methods can you use to get the name out of the table?
Reply With Quote
  #10  
Unread 06-15-2007, 11:42 PM
Zonx's Avatar
Zonx Zonx is offline
A Green Troll
This person is a EQ2Map developer.
Featured
 
Join Date: Dec 2004
Server: Blackburrow
Posts: 2,221
Send a message via Yahoo to Zonx
Default

RE: Resorting, haven't tried this, but I'm guessing you'd need to force the dropdown menu to redraw. Might be able to do this by reapplying the datasource value to the menu when changing the table sort. But it may not be possible for us to force a menu redraw.

The table control is extreamly limiting. When I did run various tests to try and reference the data of a selected table item directly I don't think I ever managed to get it working. Honestly I didn't wrestle with it for to long, so I could very well have overlooked something. It seams to me there should be some way to use the selected row number to reference the data directly.

In any event, there is still no way to automaticly remove the color tag.
Reply With Quote
  #11  
Unread 09-07-2007, 10:58 AM
Othesus's Avatar
Othesus Othesus is offline
A Griffon
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
Default

After reading some more requests for a /who button in the tracking window I thought I would add one more button to complicate things. The files in the first post still work fine and might work better for you. If you want you can try this updated window too.

The appearance is the same and the general instructions are the same:

1. Click the dropdown menu and choose a name.
2. Click in the text box that appears.
3. Press Home then Backspace on your keyboard. (This deletes the color information from the text field.)
4. Press Enter on your keyboard or click the "who" button.

If you have your tracking window sorted by distance (the default sorting order) you can also do this:

1. Click on a name in the tracking window.
2. Click on the "get" button (in the same place as the "who" button.)
3. Click in the text box that appears.
4. Press Home then Backspace on your keyboard. (This deletes the color information from the text field.)
5. Press Enter on your keyboard or click the "who" button.

WARNING! The "get" button only works if the tracking window is sorted by distance. I don't know of a way to get it to work for the other two sorting orders.
Attached Files
File Type: zip Othesus tracking kludge with who 9-7-2007.zip (3.6 KB, 466 views)
__________________

Visit Othesus World!
Reply With Quote
  #12  
Unread 12-04-2007, 04:46 PM
Wolv Wolv is offline
A Young Mystail Rat
 
Join Date: Jun 2005
Server: Antonia Bayle
Posts: 3
Default

Wonderful! I tried it out and it's definately better than typing. I just had to get used to the home/delete enter three finger combo. This took all of 3 tries and cost 2 unsuspecting "no cons" their life on the third. ;-)

I've read questions about using an outside program (similar to ACT) that might be able to parse the string to removethe color code, though, no definative answers, what are your thoughts on this?

Heck I'd be happy with a simple "ding" or "buzz" notifying it's the enemy versus the /who response.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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 09:15 PM.


Our Network
EQInterface | EQ2Interface | War.MMOUI | WoWInterface | VGInterface | LoTROInterface | MMOInterface