Open Side Menu Go to the Top
Register
TableNavigator TableNavigator

03-07-2006 , 04:31 PM
;Modified from Joystick Test at http://www.autohotkey.com/docs/scripts/JoystickTest.htm

; JoystickNumber = 0 causes the joystick number to be auto-detected:
; If you want to unconditionally specificy a joystick number, change
; the following value to the number of the joystick (1-32).
JoystickNumber = 0

; Auto-detect the joystick number if called for:
if JoystickNumber <= 0
{
Loop 32 ; Query each joystick number to find out which ones exist.
{
GetKeyState, JoyName, %A_Index%JoyName
if JoyName <>
{
JoystickNumber = %A_Index%
break
}
}
if JoystickNumber <= 0
{
MsgBox The system does not appear to have any joysticks.
ExitApp
}
}
#SingleInstance
GetKeyState, joy_buttons, %JoystickNumber%JoyButtons
if joy_buttons <= 6
MsgBox Roland thinks your joypad sucks, and will sell you a better one for 30 bucks.

;Gooey
Gui, Add, Text, x76 y7 w80 h20,Play
Gui, Add, Text, x166 y7 w80 h20,Sit
Gui, Add, Text, x256 y7 w80 h20,Lobby
Gui, Add, Text, x346 y7 w80 h20,Dialogue
Loop, %joy_buttons%
{
y := (30*a_index)+7
Gui, Add, Text, x6 y%y% w60 h20 vGUI_buttonlabel%a_index%, Button%a_index%
Gui, Add, DropDownList, x76 y%y% w80 vplay_Command%a_index%, none||Fold|Call|Raise|Don't Post|Wait to Post|Post
Gui, Add, DropDownList, x166 y%y% w80 vsit_Command%a_index%, none||Take Seat|Cancel Table|Waitlist Bug
Gui, Add, DropDownList, x256 y%y% w80 vlobby_Command%a_index%, none||Wait for Focused table|Wait for next table
Gui, Add, DropDownList, x346 y%y% w80 vdialogue_Command%a_index%, none||Accept Table|Deny Table
}
Gui, Show, autosize, Joystick Config
SetTimer, ButtonConfig, 100
Return
;;End autoexec;;

;Check all the buttons and highlight appropriate rows.
ButtonConfig:
;reset variables
buttons_down =
;Go through all the buttons
Loop, %joy_buttons%
{
;if down
GetKeyState, joy%a_index%, %JoystickNumber%joy%a_index%
if joy%a_index% = D
{
;Highlight the textbox
Gui, Font, cRed Bold ;Choose the font
GuiControl, Font, GUI_buttonlabel%a_index% ;Apply the font
}
;if up
else
{
;Unhighlight the textbox
Gui, Font, cBlack norm;Choose the font
GuiControl, Font, GUI_buttonlabel%a_index% ;Apply the font
}
}
return
TableNavigator Quote
03-07-2006 , 04:44 PM
Holy crap. Very nice.
What's "wait for focused table"?
TableNavigator Quote
03-07-2006 , 04:56 PM
Quote:
Holy crap. Very nice.
What's "wait for focused table"?
There are 2 ways to get into a waitlist. One is to wait for the specific table you have highlighted in the lobby. The other is to join the list for the next table that has X people.

I dunno what to really call these.
-Sam
TableNavigator Quote
03-07-2006 , 06:50 PM
This looks very cool!

Can I ask: what does the "Waitlist Bug" option do?

Juk
TableNavigator Quote
03-07-2006 , 07:56 PM
Quote:
what does the "Waitlist Bug" option do?
This is what I was talking above; often I'll arrive at a table and find that my promise seat is still "reserved", and I'll have to get-off the waitlist before I can sit-down. Buggy.

I figure we should have a button for that.
-Sam
TableNavigator Quote
03-07-2006 , 08:02 PM
Oh, I never had this bug before (must be lucky!)

Juk
TableNavigator Quote
03-18-2006 , 02:26 PM
Sam, just saw your latest updates to the GUI for setting up hotkeys. Very, very nice!

Bump for interested users: http://overcards.com/wiki/moin.cgi/TableNavigator
TableNavigator Quote
03-18-2006 , 11:35 PM
Quote:
Sam, just saw your latest updates to the GUI for setting up hotkeys. Very, very nice!

Bump for interested users: http://overcards.com/wiki/moin.cgi/TableNavigator
Bump from me too, this script is very cool. I started suffering from RSI and had no choice but to move to joypad control. This script to me seems the best by far (because of the GUI bar to prompt you as to which table is currently selected). I actually do less misclicks than I did with the mouse...

Thanks to Roland for this! Juk
TableNavigator Quote
03-19-2006 , 04:58 AM
Hey, I have managed to fix-up the following (I think):

1. Overlapping 3x2 array of tables working fine.
2. Focus stealing blocked using just AHK (meaning overlapping tables usable!). No need for hooks, just used a real fast pseudo-thread to re-foreground the active window.
3. Speeded up the laggy response Mogobu was experiencing.

See this post over at OC where I put the alterations.

See what you think, and most likely I will be 6-tabling my bonus at 6max using this setup, so will give it a good test tomorrow) - Juk
TableNavigator Quote
03-19-2006 , 07:19 PM
Quote:
Sam, just saw your latest updates to the GUI for setting up hotkeys. Very, very nice!

Bump for interested users: http://overcards.com/wiki/moin.cgi/TableNavigator
Config is all totally working. The fancy back-end commands like "Change Mode" and "Waitlist next table" are still just stubs, but all the functionality that was there before can now be configured, both for joystick and keyboard.
-Sam
TableNavigator Quote
03-19-2006 , 07:55 PM
I am still testing out the alterations I mentioned at OC and so far so good, except my idea(s) to stop focus-grabbing are not quite working as expected. Looks like I gonna have to do some hook to block these after all.

Atm I just re-foreground a window each time another steals focus (using just AHK), but its hardly ideal and still messes up quite often. Also I have problems clicking the JoinWaitlist dialog ect, but just need to write some more AHK to astop if from messing with these dialogs... (Also the [censored] party memory leak is kicking in bad for me now, and I having to crash the client every 2 hours... ).

All of the overlapping stuff is working fine and I have 3x2 grid with total overlap for 2 two centre tables.

Managing to clear my hands at an extraordinary rate (nearly 500 hands/hr) using this, and think if I could iron out some of the problems 6-tabling 6-max would actually be quite pleasant like this!

Also Addes seat taker script might help somewhat too, as actually getting seated is pretty hard (just as it was 10-tabling FR though).

Juk
TableNavigator Quote
03-21-2006 , 01:06 AM
Tons of new functionality in the latest version.

From the description at The OC:
Quote:
Navigation

There are currently three different ways to navigate between tables. You can choose between them in Control_Options > Navigation_Style


Direction uses the direction-pad on your gamepad or direction commands hotkeyed to the keyboard. These move the focus from one table to another.

AttentionQueue keeps track of which tables need your attention, and brings focus to that table. As soon as you act on that table, your focus will be drawn to the next table requiring your attention.


KeySelect allows you to attach a hotkey to each table. That key sends your focus directly to that table.
-Sam
TableNavigator Quote
03-21-2006 , 01:59 AM
Quote:
Tons of new functionality in the latest version.

From the description at The OC:
Quote:
Navigation

There are currently three different ways to navigate between tables. You can choose between them in Control_Options > Navigation_Style


Direction uses the direction-pad on your gamepad or direction commands hotkeyed to the keyboard. These move the focus from one table to another.

AttentionQueue keeps track of which tables need your attention, and brings focus to that table. As soon as you act on that table, your focus will be drawn to the next table requiring your attention.


KeySelect allows you to attach a hotkey to each table. That key sends your focus directly to that table.
This sounds very cool, will check it out and give some feedback when I next play.

Juk
TableNavigator Quote
03-28-2006 , 02:44 PM
Update:

-Rewrote TableNavigator to support overlap.
-Added support for Party, PartyPlayMoney, PokerStars, Absolute, and AbsolutePlayMoney. (I have navigation support for FullTilt, but don't have a clean copy of "Fold,Call,Raise" commands in AHK.) If anybody has AHK controls for any poker clients, I'll be happy to add support.

What more do you guys want in hotkey/gamepad control? Some ideas:
-We already have an Attention-Queue, like MTH, but it's only for Party. Should I work on a Stars version?
-Lobby-control is in the works, but probably only for Party.
-The attention-queue can show a colored border to indicate how much time you have left to act on a given table.
-NL support

Let me know what you think.
-Sam
TableNavigator Quote
03-28-2006 , 08:47 PM
Sorry if I'm dense; I am running verson 1.12 and now my joystick's buttons don't seem to be doing anything on Party. The d-pad still switches tables but the buttons I have mapped to fold/call/raise/etc. don't seem to be doing anything.

Anyone else having troubles?
TableNavigator Quote
03-28-2006 , 10:05 PM
Quote:
Sorry if I'm dense; I am running verson 1.12 and now my joystick's buttons don't seem to be doing anything on Party. The d-pad still switches tables but the buttons I have mapped to fold/call/raise/etc. don't seem to be doing anything.

Anyone else having troubles?
I'm away from my joystick; do you have the same problem with an older version? (You can find older versions through the "info" tab.)
-Sam
TableNavigator Quote
03-28-2006 , 10:53 PM
OK, I think I'm dense, but I'm trying out TN for the first time tonight and having no luck. I set up the AHK script, loaded up a play money table, set "Casino" to party play money, and set upa couple of the hot key configs with my keyboard. I tried to use the hot keys, no luck. Then, I clicked launch table navigator in the menu where a blue bar came into the title bar of my table, preventing me from moving/closing the table etc, but still not letting anything else work. Is there documentation somewhere about this or can someone tell me how to get TN working?

Thanks!
TableNavigator Quote
03-28-2006 , 11:41 PM
Quote:
Anyone else having troubles?
Ok, I tried it, and I'm getting no response, either. I guess I must have introduced a bug? And then not noticed that it completely disabled the script?

Anyway, I reverted the code to v1.11 and now I'm working fine. I'll see what's with 1.12. I'm really sorry about that.
-Sam
TableNavigator Quote
03-29-2006 , 12:48 AM
Ok. I found the bug. I was missing these:
Quote:
""""""""""
You can insert those into all the correct spots, or just download the new version. Again, I'm sorry about uploading buggy code.

To make it up to you, here are some simple instructions on using TableNavigator:

-Download TableNavigator just like you would any AHK script. (See FAQ for details.)
-Go into the SystemTray > ControlOptions > HotkeyConfig and select either Keyboard or Joystick. Now you can press any action button and then press the corresponding button on your keyboard/joystick. (Alt and Ctrl modifiers are both allowed.)
-Setup all your keys. With the config screen open, you can practice a bit and see the actions light-up.
-Close the config screen and you can use hotkeys in Party.

The default navigation scheme is nice. Another is KeySelect, where you set a key for each table (Imagine your numberpad representing 9 tables.) and AttentionQueue, which brings your focus to the table that needs you. (Tables are answered in the order they were recieved.)

Any comments or suggestions or more bug reports, please let me know. This is still very much a work in progress.
-Sam
TableNavigator Quote
03-29-2006 , 06:14 PM
You rock! Anywhere we can donate? Amazon wishlist?
TableNavigator Quote
04-03-2006 , 02:07 AM
I added colored borders. Now when a table is recognized as needing your attention, a colored border is drawn around it. Colors gradually shift through black, blue, green, yellow, orange, red as time elapses. I gave 30 seconds to Fold/Call/Raise and 10 seconds to Show/Don'tShow/Post/Don'tPost. Seems about right.

I also added an option to turn-off these borders. This will probably be a good idea if you have overlap. The borders are done in a very similar style to the blue-bar. (I have ideas about fixing them to act naturally for a user with overlap, as long as that user is using the Popup Blocker. Right now borders are constantly pushed to the top, which is good if you have no overlap.)

Play around with it; tell me what you think.
-Sam
TableNavigator Quote
04-03-2006 , 02:59 AM
Quote:
I added colored borders. Now when a table is recognized as needing your attention, a colored border is drawn around it. Colors gradually shift through black, blue, green, yellow, orange, red as time elapses. I gave 30 seconds to Fold/Call/Raise and 10 seconds to Show/Don'tShow/Post/Don'tPost. Seems about right.

I also added an option to turn-off these borders. This will probably be a good idea if you have overlap. The borders are done in a very similar style to the blue-bar. (I have ideas about fixing them to act naturally for a user with overlap, as long as that user is using the Popup Blocker. Right now borders are constantly pushed to the top, which is good if you have no overlap.)

Play around with it; tell me what you think.
Cool will take a look later. Been a long weekend and just about to get some sleep, but I just finished off something for AutoResizer which works for overlapped tables and works very similar to the border idea:

I got a little 3x3 grid in the top left of the top left table, and it has the following colour codes:

Black = Empty, no table at this position yet
Grey = Table their, but with no actions pending.
While = Table where you are sitting out.

Dark Green = Table where you have an action on the way soon (ie: fold in turn button is visible)
Bright Green = You have an action at this table.
Orange = You are timing out at this table and have > 12 secs left to act.
Dark Red = You are timing out at this table and have > 8 secs left to act.
Bright Red = You are timing out at this table and have <= 8 secs left to act (I want this to flash eventually too).

I also added a new feature to AR when this little 'AntiTimeout' window is active: If you press the corresponding key on the NumPad, then it will make a blue border round the mini-view table, and then when it comes back round to your turn to post a BB, you will automatically getup and leave the table (it kinda toggle "I want to leave this table after this round" mode - I always wanted this for multitabling, but without this mini view I could never see a good way to do it).

I also looked through the source for how AHK was working out if a checkbox is checked, and now AR can tell the state (thus much safer for this AutoLeave idea, and AutoPost1stBB safer too now).

I also worked out how to keep it on top of everything (lobby, IM, everything - it stays on top of everything...). So you can be looking in the lobby (when I most often 'trance out' and end up sitting out...) or chatting in IM and still see that you not in danger of timing out.

I not quite finished testing it yet and needs some more testing before I post the first alpha. If possible I want to try to make the extra window movable (or a copy on every table in the top left) and make it work in 2x2, 2x3, 3x2 and 3x3 mode (currently it work for anything upto 3x3 mode, but with gaps).

Anyway gonna get some sleep, then will try finish it off and post later today...

Juk
TableNavigator Quote
04-08-2006 , 04:14 AM
I re-added a 'ShowGUI' function to the TN script, which does the following:

(1) If the currently active table is still alive, then we activate it (ie: bring into foreground) and show the GUI.

(2) If the currently active table has disappeared, then we show the GUI on the first table we can find.

Basically I used to use this in the old TN script to re-show the GUI if it disappeared or if I closed the table that it was displayed on.

Without this, then the only way I could see to get the GUI to be re-shown was the restart the TN script from the menu (ie: alot more effort than just using the ShowGUI button on the joypad).

I posted the code in the relevant overcards.com forum, as I didn't want to edit the wiki in-case ShowGUI was intended to do something else.

Have I "hijacked" it to do this function?

Juk
TableNavigator Quote
04-08-2006 , 04:33 AM
Quote:
I re-added a 'ShowGUI' function to the TN script, which does the following:

(1) If the currently active table is still alive, then we activate it (ie: bring into foreground) and show the GUI.

(2) If the currently active table has disappeared, then we show the GUI on the first table we can find.

Basically I used to use this in the old TN script to re-show the GUI if it disappeared or if I closed the table that it was displayed on.

Without this, then the only way I could see to get the GUI to be re-shown was the restart the TN script from the menu (ie: alot more effort than just using the ShowGUI button on the joypad).

I posted the code in the relevant overcards.com forum, as I didn't want to edit the wiki in-case ShowGUI was intended to do something else.

Have I "hijacked" it to do this function?

Juk
This sounds like the goal of the ShowGui button. (Although I haven't used that button in a while.)

Go ahead and add it to the wiki version.
-Sam

edit: I take it back. Don't make the new button. The ShowGui button is a hack, and there's no reason to add it. We should just fix that close-table bug instead.
TableNavigator Quote
04-08-2006 , 04:44 AM
Quote:
Quote:
I re-added a 'ShowGUI' function to the TN script, which does the following:

(1) If the currently active table is still alive, then we activate it (ie: bring into foreground) and show the GUI.

(2) If the currently active table has disappeared, then we show the GUI on the first table we can find.

Basically I used to use this in the old TN script to re-show the GUI if it disappeared or if I closed the table that it was displayed on.

Without this, then the only way I could see to get the GUI to be re-shown was the restart the TN script from the menu (ie: alot more effort than just using the ShowGUI button on the joypad).

I posted the code in the relevant overcards.com forum, as I didn't want to edit the wiki in-case ShowGUI was intended to do something else.

Have I "hijacked" it to do this function?

Juk
This sounds like the goal of the ShowGui button. (Although I haven't used that button in a while.)

Go ahead and add it to the wiki version.
Added.

Juk
TableNavigator Quote

      
m