TableNavigatorSourceCode | TableNavChangeLog | TableNavToDoList | TableNavigatorGuide | TableNavigatorStudio


A note on this version (3.02)

Okay, so I decided to re-write TableNavigator once again, and drop a bunch of features while I was at it. The idea is that the remaining features will actually work , because it will be easier to fix them when they break. Here are some things I got rid of:

I just really don't think TableNavigator needs all these fancy features. They just make the code more complicated, which makes it harder to look after the important stuff. I think it makes a lot more sense to have seperate scripts for things like chat hotkeys, etc. I should point out that any external script can 'ask' TableNavigator for the handle of the currently selected table using this function:

tableNav() {
If ! WinExist("blue_bar ahk_class AutoHotkeyGUI")
  return 0
SendMessage, 0x5555 
return WinExist("ahk_id" errorLevel )
}

What TableNavigator does need is support for more sites. It can support an unlimited amount of sites, and it's not that hard to add support. However, I don't have the time (or inclination - it's pretty boring :) ) to do it all myself. So what I did in this version is make it easier for others to add support for more sites.

Basically, all the site-specific functions are in a seperate file now, one for each site (have a look in the folder called 'Casinos'). In the main folder, you'll find a file called SomeCasino.ahk, which serves as a template: Rename it to the name of the casino you want to add, replace the string 'SomeCasino' with the actual name, fill in the functions and put the file in the Casinos folder... that's it. You won't have to mess with any of the other scripts. I'll write a little guide that's a bit more specific once I find the time.

Btw, this also makes it easier to fix the casino-spcific functions when they break due to site-updates etc. People have been already fixing stuff themselves (thanks at this point). Now, all of these little 'plug-ins' have their own wiki page: Just add the name of the casino to the url of this page to get there, e.g.http://www.overcards.com/wiki/moin.cgi/TableNavigatorParty. (I listed all the plug-ins below). So, if you have a fix, please edit the plug-in! Don't worry about breaking anything: The wiki keeps a copy of every version, so we can always revert. So, just go ahead and edit it and let everyone know by posting in the TableNavigator thread on 2+2. People can then easily update using the plug-in option in the tray menu.

Okay, that's it for now. The download is at the bottom of this page.

Oh, as always: Please test it on play money first!

About TableNavigator

Basics

The key feature of TableNavigator is that you can move between tables using a gamepad or your keyboard (or even your mouse, if you like that better but want to take advantage of the other featues), and then click the buttons on that table (also using gamepad, keyboard or mouse).

Navigation Modes

Direction uses the direction-pad on your gamepad or direction commands hotkeyed to the keyboard. These move the focus from one table to another. If you turn on the Wrapping option , the focus will shift to the far left after you to the right of the right-most window.

AttentionQueue keeps track of which tables need your attention, and selects that table. As soon as you act on that table, the navigator will be drawn to the next table requiring your attention. If you "break out" of the queue (by selecting a table with one of the navigation commands), the AttentionQueue will be suspended until you have acted on that table (i.e. sent a command to that table).

KeySelect allows you to attach a hotkey to each table. That key sends your focus directly to that table. (The script assumes that the tables are all roughly the same size (like when you use the “tile” button), that you’re playing without overlap, and that your setup is a subset of a 3x3 grid. (So 2x3 or 3x2 are fine, but not 4x2.)

MouseSelect allows you to focus TN by moving the mouse. The table under your cursor will be highlighted. Note that you can use MouseSelect with ActivateTarget turned off and a very low transparency if you dislike the normal effect.

ActiveTable Simply selects the active table, which is useful for casinos with automatic foregrounding (like Stars). You will want to set the transparency of the navigation bar to zero (confusing otherwise).

AttentionQueue - Extended mode

Note: Only for Party at the moment.

In extended mode, the preselect buttons will be taken into account (i.e. added onto the end of the queue). Unfortunately, the only way to determine whether one of the pre-select buttons is already checked is by looking at the color of pixels (basically, if we find some black ones in the little white checkbox, it's checked...) and this means that extended mode may not work correctly with overlap (it can handle a certain amount of overlap though - just experiment a little). One problem with extended mode is that the AttentionQueue will still move you to a table that has normal action buttons showing, which could lead to misclicks. See below on how to counter this problem.

AttentionQueue - Flash

Especially in extended mode, the risk of misclicks seems relatively high. The flash option is meant to prevent misclicks by drawing your attention to the fact that the focus has moved to a different table. Maybe more importantely, you cannot act while the bar is flashing, so any clicks meant for the previous table just do nothing.

AttentionQueue - Auto-Suspend

If you uncheck this option, tables that have 'normal' (not advance) action buttons showing will be inserted at the front of the queue - meaning TableNavigator will jump to them even if you have not yet acted on you current table. This was the default behavior in version prior to v2.19 beta. If checked, however, TableNavigator will always wait until you have acted (i.e, executed a command like fold, call, raise, etc.). This seems more natural/less confusing. Note that if you get stuck on a table with no actions pending, just hit your fold button (or any other button).

Setting up the AttentionQueue for Stars, Absolute & Pacific

The buttons (Fold, Check, Raise etc) on some sites don't have names (like on Party, for instance). Therefore instead of checking whether a certain control is visible, we check the color of a certain pixel. Since the background color of the table and the color of the button or different (obviously), we can determine whether the button is visible.

Unfortunately this means that the AttentionQueue can't work with overlap on these sites (or only very little overlap since the pixel we're checking has to be visible (not-overlapped) at all times) . It also means that you'll have to do some configuring since what with different mods (and different table sized on Stars) the color of the pixel we're checking won't be the same for everyone.

Basically, we just check if the "Fold" button is there (since it is always there if you act). Luckily the "Post" button has the same position usually, so we don't have to check for it seperately (this is probably true for the "Show Cards" button, but I didn't bother to check - I doubt many people show their hands while multi-tabling).

So, to enable the AttentionQueue for one of these sites, open a table and take a seat. Then, select 'Preferences' from the tray menu and choose your site from the drop-down list in the 'Pixel configuration' section and click the button next to the drop-down list. Then, wait for the "Fold" button to appear on your table. Now when you right-click on it while holding down Control, the color of the pixel as well as it's position will be saved (you'll notice that the mouse will move away briefly - we have to because most buttons have a different color when you mouse over them). The pixel you click on should be clearly of a different color then the table background for best results.

Finally, a note on Stars. The buttons on the so-called "Hyper-simple theme" (and possibly others, I didn't dowload them all) are mono-color, which makes dynamic support for re-sizing tables possible. The buttons on the default theme on the other hand aren't which makes it impossible to say with certainty which exact pixel will have which color when the table is resized. Therefore you can choose between dynamic support and normal support. For dynamic support, the configuration has to be done when the table has the default size. For non-dynamic mode, he configuration has to be done once the table has been re-sized (and the AttentionQueue won't work for any other sizes).


Getting Started

The first thing you'll have to do is tell TableNavigator which casinos you play on. Simply select them from the drop-down list in the Preferences Gui to add them.

The Tray Menu

traymenuug1

The tray menu is accessed by right-clicking on the TableNavigator icon in the system tray or with the "Show Tray Menu" command. You can find out which version you're running by selecting About, open this page easily at any time by selecting Help, configure your preferences or hotkeys, or exit the script. As described above in A note on this version, there is a seperate file for every casino now. People may update these files, or even add new files for new sites. You can just copy the code, select 'Plug-in...' and paste it in. That way you won't have to download the whole app again.

Preferences

prefszo2

Most of this should be self-explanatory. Just a few things:

Hotkeys

hotkeysqc1

Manual Configuration ?

What if you want to use the UP or DOWN arrows as hotkeys (which you can't do because they navigate you through fields)? You can always manually edit the TableNavigator.ini file in the directory that the installation creates. Or, of course, you click the 'All keys' checkbox - then you can use the up/down keys (as well as the left and right mouse buttons, and the mouse wheel). (Thanks anyway to whoever added this :) ).

Hotkey Options

First off, to find out more about hotkeys, take a look at this hotkeys page.

Keyboard & Mouse Hotkeys

Joystick hotkeys

None of the above options work for joystick buttons at the moment (not supported by AHK). So you can't map Ctrl+Joy3, Joy1 & Joy2 etc.


Download

TableNavigator.zip

Unzip and run TableNavigator.ahk in the first sub-folder.

Plug-ins


Links

Aknowledgements

Thanks to:


TableNavigator (last edited 2007-11-04 19:11:55 by MogobuTheFool)