![]() |
|
#31
|
|||
|
|||
|
[ QUOTE ]
Any chance of turning this into an Iwitness type script? [/ QUOTE ] I 2nd that... |
|
#32
|
|||
|
|||
|
Hi All,
I made some modifications to the script so it will only open certain types of tables. I think it works well but have not tested it thoroughly. Anybody want to host it? Or can I just copy it into here? Sorry I am very new to this AHK stuff. -Mike |
|
#33
|
|||
|
|||
|
Here is the modified sections of the code:
The early declarations I modified to: [ QUOTE ] ;================================================= =============================== ; This is the number of tables you wish to mine (Full Tilt Poker allows 16 tables). NumTablesRequired = 16 ;Change this number to define the maximum number of tables you will try to keep open. ; Change this number for the type of L/NL Limit you want to observe. (2 for Heads up, 6 for 6 max, 9 for full ring). NumSeats = 6 ;Change this number for the minimum amount of players seated you want to observe. NumPlayers = 4 ;Change this to Type of Table desired NL, Limit, or CAP NL Limit = NL ;Change this to Stakes Desired Ex: $2/$4 Stakes = $1/$2 ;================================================= ====================================== [/ QUOTE ] I also changed the Open Tables function: [ QUOTE ] OpenTables: ;make a list of all the Full Tilt tables, excluding Lobby WinGet, id, List, Limit Hold'em, , Full Tilt Poker ;make a list of all the Full Tilt tables ControlGet, AllTablesAvail, List, , SysListView323, ahk_id%lobby_id% ;used below to close closed tables (no longer in the list box) ; Lets see if we want to close any tables. Loop, %id% { StringTrimRight, Window, id%A_Index%, 0 ; See if this window is open in another user area, if so lets close it. WinGetTitle, String, ahk_id%Window% StringSplit, StringArray, String, - StringTrimRight, StringArray1, StringArray1, 1 if IsTableOpenInAnotherArea(StringArray1) = 1 { WinClose, ahk_id%Window% WinWaitClose, ahk_id%Window%, , 3 } Else { IfNotInString, AllTablesAvail, %StringArray1% { WinClose, ahk_id%Window% WinWaitClose, ahk_id%Window%, , 3 } } } ; Lets see if open tables still qualify, if not close them. GoSub, IsTableLessNumPlayersSeated ; If we still have >= n tables open allready, lets not bother. WinGet, NumTables, List, Limit Hold'em, , Full Tilt Poker If (NumTables >= NumTablesRequired) return ; Set the focus to the topmost row. ControlFocus, SysListView323, ahk_id%lobby_id% ;set focus to the ListView ControlGet, count, List, Count, SysListView323, ahk_id%lobby_id% ;used below to break if we reach the end of the list before we find n tables ControlGet, focused, List, Count Focused, SysListView323, ahk_id%lobby_id% ;we want to select the topmost row, ; Send %focused%/15 amount of PGUP keystrokes to get to the top of the list. focused /= 15 Loop, %focused% ControlSend, SysListView323, {PgUp}, ahk_id%lobby_id% ; Open the tables. Loop { ; Save the index. ListIndex = %a_index% ; loop ; { ControlGet, Row, List, Focused, SysListView323, ahk_id%lobby_id% StringSplit, RowArray, Row, %A_Tab% ; Fields (columns) in each row are delimited by tabs (A_Tab). StringSplit, NumSeated, RowArray5, / RatioSeated := NumSeated1 / NumSeated2 ; ;becasue of the large number of tables there may be a lag ; ;we need to verify the list has kept up with the script ; TableName = %RowArray2% ; sleep 300 ; If TableName = %RowArray2% ; break ; ListVars ; Pause ; } IfWinNotExist %RowArray2% { If IsTableOpenInAnotherArea(RowArray2) = 0 { ; IfNotInString, RowArray4, CAP NL ;Had to keep this as CAP NL tables were randomly opening otherwise If RowArray4 = %Limit% { if RowArray3 = %Stakes% { if NumSeated2 = %NumSeats% { ; ListVars ; Pause IfGreaterOrEqual, RatioSeated, % NumPlayers / NumSeats { ControlSend, SysListView323, {Enter}, ahk_id%lobby_id% If ErrorLevel = 0 NumTables++ } } } } } } ControlSend, SysListView323, {DOWN}, ahk_id%lobby_id% ;move to the next table If (NumTables >= NumTablesRequired OR ListIndex > count) ;if we reach 16 tables or the end of the list, break ; break } ; Sleep to make sure they open and then, update the table names. ;Sleep, 1000 GoSub, UpdateTableNames return ;================================================= =================================== [/ QUOTE ] And Finally I modified the IsTableLessNumPlayersSeated function. [ QUOTE ] IsTableLessNumPlayersSeated: { ; ; Set the focus to the topmost row. ControlFocus, SysListView323, ahk_id%lobby_id% ;set focus to the ListView ControlGet, count, List, Count, SysListView323, ahk_id%lobby_id% ;used below to break if we reach the end of the list before we find n tables ControlGet, focused, List, Count Focused, SysListView323, ahk_id%lobby_id% ;we want to select the topmost row, ; If we have 0 tables open allready, lets not bother. WinGet, NumTables, List, Limit Hold'em, , Full Tilt Poker If (NumTables = 0) return ; ; Send %focused% / 15 amount of PGUP keystrokes to get to the top of the list. focused /= 15 Loop, %focused% { ControlSend, SysListView323, {PgUp}, ahk_id%lobby_id% ;move to the next table } Loop { ControlGet, Row, List, Focused, SysListView323, ahk_id%lobby_id% StringSplit, RowArray, Row, %A_Tab% ; Fields (columns) in each row are delimited by tabs (A_Tab) If RowArray4 = %Limit% { if RowArray3 = %Stakes% { break } } ControlSend, SysListView323, {DOWN}, ahk_id%lobby_id% ;move to the next table If (ListIndex > count) ;if we reach the end of the list, break ; break } ; Check NumPlayers Loop { ; Save the index. ListIndex = %a_index% ControlGet, Row, List, Focused, SysListView323, ahk_id%lobby_id% StringSplit, RowArray, Row, %A_Tab% ; Fields (columns) in each row are delimited by tabs (A_Tab). StringSplit, NumSeated, RowArray5, / RatioSeated := NumSeated1 / NumSeated2 IfWinExist %RowArray2% { ifLess, RatioSeated, % NumPlayers / NumSeats { WinClose, %RowArray2% WinWaitClose, %RowArray2%, , 3 } } ControlSend, SysListView323, {DOWN}, ahk_id%lobby_id% ;move to the next table If (ListIndex > count) ;if we reach 16 tables or the end of the list, break ; break } ; Sleep to make sure they close and then, update the table names. ;Sleep, 1000 GoSub, UpdateTableNames return [/ QUOTE ] -Mike |
|
#34
|
|||
|
|||
|
used your section changes above and it opened my specified tables no problem. Still waiting to see if closes tables as well that fall out of my criterion.
EDIT: looks like it is closing tables as well. Do the hand history files disappear when the tables are closed? Or will PT get a chance to download them if I have it downloading every 1 min? This is going to be great! Thanks gentlemen! |
|
#35
|
|||
|
|||
|
[ QUOTE ]
Here is the modified sections of the code: The early declarations I modified to: [ QUOTE ] ;================================================= =============================== ; This is the number of tables you wish to mine (Full Tilt Poker allows 16 tables). NumTablesRequired = 16 ;Change this number to define the maximum number of tables you will try to keep open. ; Change this number for the type of L/NL Limit you want to observe. (2 for Heads up, 6 for 6 max, 9 for full ring). NumSeats = 6 ;Change this number for the minimum amount of players seated you want to observe. NumPlayers = 4 ;Change this to Type of Table desired NL, Limit, or CAP NL Limit = NL ;Change this to Stakes Desired Ex: $2/$4 Stakes = $1/$2 ;================================================= ====================================== [/ QUOTE ] im new with this ahk script. lets say i want to do two diferent limits stakes (example 5/10LHE and 10/20LHE.Also observe all the 3 different tables types(example Hu, 6max, 9max) how would i change the script too? thanks |
|
#36
|
|||
|
|||
|
[ QUOTE ]
used your section changes above and it opened my specified tables no problem. Still waiting to see if closes tables as well that fall out of my criterion. EDIT: looks like it is closing tables as well. Do the hand history files disappear when the tables are closed? Or will PT get a chance to download them if I have it downloading every 1 min? This is going to be great! Thanks gentlemen! [/ QUOTE ] I didn't change the timing at all, so I believe it verifies the tables every 3 minutes or so. This should be long enough for PT at every minute. Glad it worked! -Mike |
|
#37
|
|||
|
|||
|
[ QUOTE ]
Here is the modified sections of the code: The early declarations I modified to: [ QUOTE ] ;================================================= =============================== ; This is the number of tables you wish to mine (Full Tilt Poker allows 16 tables). NumTablesRequired = 16 ;Change this number to define the maximum number of tables you will try to keep open. ; Change this number for the type of L/NL Limit you want to observe. (2 for Heads up, 6 for 6 max, 9 for full ring). NumSeats = 6 ;Change this number for the minimum amount of players seated you want to observe. NumPlayers = 4 ;Change this to Type of Table desired NL, Limit, or CAP NL Limit = NL ;Change this to Stakes Desired Ex: $2/$4 Stakes = $1/$2 ;================================================= ====================================== [/ QUOTE ] im new with this ahk script. lets say i want to do two diferent limits stakes (example 5/10LHE and 10/20LHE.Also observe all the 3 different tables types(example Hu, 6max, 9max) how would i change the script too? thanks [/ QUOTE ] To check all table types just remove the If statement [ QUOTE ] if NumSeated2 = %NumSeats% [/ QUOTE ] and the appropriate {}. To do multiple Stakes is certainly possible, however I would need to become more proficient in this language to understand how. Basically Stakes would have to become an array and the line: [ QUOTE ] if RowArray3 = %Stakes% [/ QUOTE ] Would become an Or statement of all of the stakes in the array. If someone wants to figure out how to do that in this language it might be a good addition. I might be able to look into it later but not within the next couple of days. -Mike |
|
#38
|
|||
|
|||
|
the changes are fantastic
|
|
#39
|
|||
|
|||
|
I don't know, I'm sure I'm messing something up, but I keep getting line errors.
Can someone upload the updated file to the site? |
|
#40
|
|||
|
|||
|
[ QUOTE ]
I don't know, I'm sure I'm messing something up, but I keep getting line errors. Can someone upload the updated file to the site? [/ QUOTE ] |
![]() |
|
|