#11
|
|||
|
|||
Re: Gamepads to play with?
I have a different gamepad that I use and it is not working with starsgamepad script. Does it work well with the logitech gamepad? If it does I will pick one up.
Sure would love to be able to play like Daxonovitch wants to. Man would that be nice on the wrist. |
#12
|
|||
|
|||
Re: Gamepads to play with?
those scripts seems a bit outdated, i dont know. Here is what i use to play just like Daxonovitch wants:
http://www.overcards.com/wiki/moin.cgi/TableNavigator http://www.overcards.com/wiki/moin.cgi/BetPot |
#13
|
|||
|
|||
Re: Gamepads to play with?
I never knew about table navigator till now. Wow, this will be sweet. Thanks for the link.
|
#14
|
|||
|
|||
Re: Gamepads to play with?
Cool, thanks for the assistance, guys. While it's still a work in progress, here's what I've come up with.
I purchased a Wireless XBOX 360 controller, a Play and Charge accessory (allows me to recharge it even while I'm using it), and a wireless XBOX controller station to hook it up to my PC. The PC treats it like a joystick, so I had to do quite a bit of kluging to get it to work the way I wanted it. AHK is an amazing program, by the way. If you're a programmer or don't mind dabbling in the scripts you can do some really cool stuff with it. I spent the day hacking up some scripts while I had some downtime (freaking internet went out, gg to 6 lost SNGs), and testing it out at the play money tables, then eventually with some SNGs. Basically, I can now sit my ass on the couch 15 feet away and multitable it up without needing to have some sort of funky book to use my mouse on. Sitting on the floor or on a couch while using a gamepad is infinitely more comfortable. What can I say, I'm a fatass. Boring details: --------------- Up: Raise all in/pot (move the slider all the way to the right) Down: Minimum (move the slider all the way to the left) Right: Add one bet Left: Subtract one bet X: Mouseover fold Y: Mouseover check/call B: Mouseover bet/raise/call-all-in A: Click LT: Cycle to first window RT: Cycle to last window LB: Cycle left one window RB: Cycle right one window Also, there's functionality in there to actually take advantage of Stars "stealing focus". If you're multitabling, you can simple perform the betting actions required when that table is beeping at you. You don't have to "cycle to" that table. For example, if tables 2, 4 and 6 all have actions waiting for me, and I just want to fold all of them, I can just hit X A X A X A (instead of X A RB RB X A RB RB X A, which would be a pain in the ass). Eventually I can take the "Click" button out, and just make X, Y, B do the clicking as well, but I wanted to have one additional stopgap to prevent misclicks. In over a thousand hands of SNGs today, I only misclicked once (and it was a fold). The biggest tilter of the day was the internet going out. It does get a little hectic when multiple tables get shorthanded. I find I can fold very very quickly (probably faster than with a mouse) but making a standard raise of 3xBB takes a hair longer. When I'm playing more hands HU/SH, it can certainly get busy. I can always switch over to the mouse, but that defeats the purpose. I'll have to put more thought into it. Really boring details: ---------------------- I'm not going to fix this to make it "generic" so other people can use it. It's a hack meant to make MY life better, not yours. [img]/images/graemlins/smile.gif[/img] But, if you ask nice, I might be so inclined to give you insights into why something works versus something else. The AHK script is as follows: <font class="small">Code:</font><hr /><pre> #Persistent ; Keep this script running until the user explicitly exits it. SetTimer, WatchPOV, 5 ; [1][2][3] ; [4][5][6] ; 1: 392 635 ; 2: 1200 635 ; 3: 1995 635 ; 4: 364 1187 ; 5: 1200 1187 ; 6: 1995 1187 ActiveTable := 1 ; default the active table to index 1 ActiveTableX1 := 400 ActiveTableX2 := 1200 ActiveTableX3 := 2000 ActiveTableY1 := 635 ActiveTableY2 := 635 ActiveTableY3 := 635 ActiveTableX4 := 400 ActiveTableX5 := 1200 ActiveTableX6 := 2000 ActiveTableY4 := 1187 ActiveTableY5 := 1187 ActiveTableY6 := 1187 RegisterSNGState := 0 ; 0 for normal stuff, 1 for when the pokerstars lobby is highlighted return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; functions and definitions ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;; WatchPOV: UpdatePSTable() WinGetActiveTitle, PokerStarsActiveWindowTitle IfInString, PokerStarsActiveWindowTitle, PokerStars Lobby RegisterSNGState := 1 else RegisterSNGState := 0 GetKeyState, POV, JoyPOV ; Get position of the POV control. KeyToHoldDownPrev = %KeyToHoldDown% ; Prev now holds the key that was down before (if any). ; Some joysticks might have a smooth/continous POV rather than one in fixed increments. ; To support them all, use a range: if POV < 0 ; No angle to report KeyToHoldDown = else if POV = 0 KeyToHoldDown = F3 else if POV = 9000 ; Right KeyToHoldDown = F2 else if POV = 18000 ; Down KeyToHoldDown = F4 else if POV = 27000 ; Left KeyToHoldDown = F1 GetKeyState, zPOV, JoyZ ; Get position of the z triggers if zPOV < 4 KeyToHoldDown = F6 else if zPOV > 95 KeyToHoldDown = F5 if KeyToHoldDown = %KeyToHoldDownPrev% ; The correct key is already down (or no key is needed). return ; Do nothing. ; Otherwise, release the previous key and press down the new key: SetKeyDelay -1 ; Avoid delays between keystrokes. if KeyToHoldDownPrev ; There is a previous key to release. { Send, {%KeyToHoldDownPrev% up} ; Release it. } if KeyToHoldDown ; There is a key to press down. { Send, {%KeyToHoldDown% down} ; Press it down. } return UpdatePSTable() { global ActiveTable CoordMode, Mouse, Screen MouseGetPos, MouseX, MouseY if (MouseX < 800 and MouseY > 400 and MouseY < 945) { ActiveTable := 1 } else if (MouseX > 800 and MouseX < 1600 and MouseY > 400 and MouseY < 945) { ActiveTable := 2 } else if (MouseX > 1600 and MouseX < 2400 and MouseY > 400 and MouseY < 945) { ActiveTable := 3 } else if (MouseX < 800 and MouseY > 950 and MouseY < 1500) { ActiveTable := 4 } else if (MouseX > 800 and MouseX < 1600 and MouseY > 950 and MouseY < 1500) { ActiveTable := 5 } else if (MouseX > 1600 and MouseX < 2400 and MouseY > 950 and MouseY < 1500) { ActiveTable := 6 } else { ;MsgBox didn't find any legal tables } ;MsgBox % "Active table is " ActiveTable ". x,y=" MouseX ", " MouseY CoordMode, Mouse, Relative } ; less one bet F1:: Click 676, 469 UpdatePSTable() return ; more one bet F2:: Click 782, 471 UpdatePSTable() return ; all in (must be at minimum) F3:: MouseClickDrag, Left, 685, 472, 770, 472 UpdatePSTable() return ; undo all in (must be at maximum) F4:: MouseClickDrag, Left, 770, 472, 685, 472 UpdatePSTable() return ; Cycle to Leftmost Window F5:: { ActiveTable := 1 CoordMode Mouse, Screen MouseMove % ActiveTableX%ActiveTable%, ActiveTableY%ActiveTable% MouseClick CoordMode Mouse, Relative UpdatePSTable() } return ; Cycle to Rightmost Window F6:: { ActiveTable := 6 CoordMode Mouse, Screen MouseMove % ActiveTableX%ActiveTable%, ActiveTableY%ActiveTable% MouseClick CoordMode Mouse, Relative UpdatePSTable() } return ; fold Joy3:: MouseMove, 422, 526 UpdatePSTable() return ; check/call Joy4:: MouseMove, 599, 532 UpdatePSTable() return ; raise/bet Joy2:: MouseMove, 740, 535 UpdatePSTable() return ; click Joy1:: MouseClick return ; cycle left one table Joy5:: { ActiveTable := ActiveTable - 1 if ActiveTable = 0 ActiveTable := 6 CoordMode Mouse, Screen MouseMove % ActiveTableX%ActiveTable%, ActiveTableY%ActiveTable% MouseClick CoordMode Mouse, Relative ;MsgBox % ActiveTableX%ActiveTable% ", " ActiveTableY%ActiveTable% ;MsgBox % "the x location is " ActiveTableX%ActiveTable% ". Active table is " ActiveTable "." } return ; cycle right one table Joy6:: { ActiveTable := ActiveTable + 1 if ActiveTable = 7 ActiveTable := 1 CoordMode Mouse, Screen MouseMove % ActiveTableX%ActiveTable%, ActiveTableY%ActiveTable% MouseClick CoordMode Mouse, Relative ;MsgBox % ActiveTableX%ActiveTable% ", " ActiveTableY%ActiveTable% ;MsgBox % "the x location is " ActiveTableX%ActiveTable% ". Active table is " ActiveTable "." } return ; back button Joy7:: ;ExitApp ;GetKeyState, zPOV, JoyZ ; Get position of the z triggers ;MsgBox % "zpov is " zPOV ;UpdatePSTable() CoordMode, Mouse, Screen MouseGetPos, MouseX, MouseY MsgBox % "Active table is " ActiveTable ". x,y=" MouseX ", " MouseY CoordMode, Mouse, Relative return ; start button Joy8:: ;MsgBox Start pressed. ;WinGetActiveTitle, PokerStarsActiveWindowTitle ;WinGetPos, tempx, tempy, tempw, temph, %PokerStarsActiveWindowTitle% ;MsgBox % tempx ", " tempy ", " tempw ", " tempw ", " temph ", " PokerStarsActiveWindowTitle ;MsgBox % "Active window is " RegisterSNGState return <font class="small">Code:</font><hr /><pre> |
|
|