StarsCash - free script for PokerStars containing all functions cash player may need.
02-10-2010
, 03:13 PM
Join Date: Aug 2009
Posts: 1,700
Try increasing number of attempts to read Pot from screen on BetPot tab, turning aero theme off may also be useful.
02-13-2010
, 03:12 PM
could you add in a way to fold the hand like side button would fold the hand ?
02-13-2010
, 03:43 PM
Join Date: Aug 2009
Posts: 1,700
Not sure if i got correctly what you want, you can bind xbutton1 or xbutton2 (side mouse buttons) to fold function.
02-14-2010
, 03:55 AM
I have read pot on 4x and now the auto fold button on xbutton everything is working pretty great, youre a great programmer and it was very generous for you to offer this ahk to the community for free
02-14-2010
, 02:26 PM
Join Date: Aug 2003
Posts: 650
Great script max, thank you for coding this!
Couple bugs - I'm playing 6max NL using the classic theme, latest PS update and latest AHK. Running Vista w/aero disabled and Starspics installed.
1) Timebank doesn't work at all w/classic theme 6max NL. I looked at your x/y click coordinates and they appear to be off for 6max NL with classic theme. I manually edited them, but I can't figure out what pixel color to put into your color checker "if" statement - depending on the table size, the pixel color keeps changing, it's not consistent. I'm doing a "Traytip, x, %col%" to see the pixel color when the timebank appears, is there a better way? Can I put more than 3 color values in the "if" statement or will that make things real slow?
FYI, everything works okay with the black theme and no modifications.
2) Betpot only works if I have a full size table or a table shrunk to maximum size. If I use the tile option to tile 9 tables on my first monitor (1920x1280) it returns a "0" value no matter what. Again, this is 6max NL.
Thanks again.
Couple bugs - I'm playing 6max NL using the classic theme, latest PS update and latest AHK. Running Vista w/aero disabled and Starspics installed.
1) Timebank doesn't work at all w/classic theme 6max NL. I looked at your x/y click coordinates and they appear to be off for 6max NL with classic theme. I manually edited them, but I can't figure out what pixel color to put into your color checker "if" statement - depending on the table size, the pixel color keeps changing, it's not consistent. I'm doing a "Traytip, x, %col%" to see the pixel color when the timebank appears, is there a better way? Can I put more than 3 color values in the "if" statement or will that make things real slow?
FYI, everything works okay with the black theme and no modifications.
2) Betpot only works if I have a full size table or a table shrunk to maximum size. If I use the tile option to tile 9 tables on my first monitor (1920x1280) it returns a "0" value no matter what. Again, this is 6max NL.
Thanks again.
02-14-2010
, 03:36 PM
Join Date: Aug 2009
Posts: 1,700
Seems Time button is being placed different on 6max and 9max tables, didn't notice that before or did recent update cause that? I'll try to make quick fix for timebank.
You can add as many "if" statements as you want, that won't affect script's work.
Do you have enlarged fonts installed?
You can add as many "if" statements as you want, that won't affect script's work.
Do you have enlarged fonts installed?
02-14-2010
, 03:59 PM
Join Date: Aug 2003
Posts: 650
Quote:
Seems Time button is being placed different on 6max and 9max tables, didn't notice that before or did recent update cause that? I'll try to make quick fix for timebank.
You can add as many "if" statements as you want, that won't affect script's work.
Do you have enlarged fonts installed?
You can add as many "if" statements as you want, that won't affect script's work.
Do you have enlarged fonts installed?
Regarding fonts, I haven't modified anything - the text size is on the default medium setting. Again, betpot works fine if my tables are default size or shrunk to the minimum, but if I auto-tile using Stars such that I have 9 tables on 1920x1280 it always returns 0.
02-14-2010
, 04:04 PM
Join Date: Aug 2009
Posts: 1,700
I can check BetPot problem through Teamviewer if you want.
02-14-2010
, 04:12 PM
Join Date: Aug 2009
Posts: 1,700
StarsCash v1.41
StarsPics (needed for BetPot function only) can be found here: http://depositfiles.com/files/40h0rmelj
Put StarsPics folder to the folder with ahk file.
Don't forget to choose correct table theme on General tab.
BetPot function won't be efficient with aero theme on, easiest way to disable aero theme just for PokerStars: rightclick PokerStarsUpdate.exe, choose Properties - Compatibility - Disable desktop composition.
- fixed Timebank problem for short tables
- fixed auto post blinds function (after recent update)
Code:
; #### StarsCash #### ; AHK version: 1.0.48.05 ; date: January 13,2010 version := "1.41" ; author: Max1mums (max1mums@overcards.com) #SingleInstance, Force #NoEnv #MaxHotkeysPerInterval 500| Settitlematchmode, 2 OnExit exitSub debug:=0 StringTrimRight, thisahk, A_ScriptName, 4 SetWorkingDir %A_ScriptDir% Menu, Tray, NoStandard Menu, Tray, Add, Settings, menugui Menu, Tray, Add Menu, Tray, Add, Reload, reload Menu, Tray, Default, Settings Menu, Tray, Add Menu, Tray, Add, Suspend, Suspend Menu, Tray, Add, Pause, TogglePause Menu, Tray, Add Menu, Tray, Add, Edit, Edit Menu, Tray, Add Menu, Tray, Add, Donate, Donation Menu, Tray, Add, Exit, ExitSub OnMessage(0x112,"WM_SYSCOMMAND") WM_SYSCOMMAND(wParam) { if (A_Gui && wParam = 0xF020) ; SC_MINIMIZE { Gui, destroy return 0 } } SetBatchLines,1ms SetWinDelay,-1 SendMode Input SysGet, xbord, 32 SysGet, border, 32 SysGet, ybord, 33 SysGet, cap, 4 SysGet, caption, 4 ; Border of the "Highlighter" border_color := "ff0000" border_size := 5 trans := 255 boost:=false ;betpot stuff stars_editbox = PokerStarsSliderEditorClass1 ddlist= ddlist.="ssnl" . "|" ddlist.="trny" . "|" ddlist.="mix" . "|" ddlist.="----" . "|" ddlist1= Loop 14 ddlist1:=ddlist1 . A_index . "|" gosub,getini Gui 11:Show, w1 1 x1 y1, PokerWindow WinGet,PokerWindowID, id, PokerWindow Gui 11:Show,hide, w1 h1 x1 y1, PokerWindow Init() ;;;;;;;;;;;;;;End of init;;;;;;;;;;;;;; settimer,HeroSeated,1103 settimer,Popupwatcher,139 if CheckWhenFree settimer,FreeCheck,77 if ClickImBack settimer,ClickBack,2033 if Timebank settimer,ClickTimebank,1555 settimer,BetPot,37 settimer,clickwithdelay,93 settimer,NewTable,67 if Highlight settimer,Highlighter,70 if activatetableundermouse settimer,activateundermouse,133 if MoveMouse settimer,MouseMove,119 if leavetable settimer,closetable,249 if suspendforchatall settimer,suspendallforchat,24 return ;----------------------------------------------------------------------------------------------------- Init() { local list,winid winget,list,list,Logged In ahk_class PokerStarsTableFrameClass loop %list% { id:=list%A_index% if seated%id% is not number { loop %list% { id:=list%A_index% seated%id%:=2 } break } } } return ;----------------------------------------------------------------------------------------------------- NewTable: IsTableNew() return IsTableNew() { local list,id winget,list,list,ahk_class PokerStarsTableFrameClass loop %list% { id:=list%A_index% if seated%id% is not number { wingetpos,xstart%id%,ystart%id%,,,ahk_id%id% if move WinMove, ahk_id%id%,, xpos,ypos if autotakeseat { if !InStr(tablequeue,id) movetolist(id,A_TickCount) } seated%id%:=1 } } } return ;----------------------------------------------------------------------------------------------------- IsWindowNew() { global oldwinid,stealfocus winget,id,id,A wingetclass,class,ahk_id%oldwinid% if id!=%oldwinid% { oldwinid:=id if stealfocus return 1 else { if class=PokerStarsTableFrameClass return 1 else return 0 } } else return 0 } ;----------------------------------------------------------------------------------------------------- IsBetBoxNew() { global oldid,PotDefPre,PotDefFlop,PotDefTurn,PotDefRiver,RoundDef,OpenDef,FixDef winget winid,id,A if (winid<>oldid) { ControlGet, Z, Visible,,PokerStarsSliderClass1, ahk_id %winid% if Z { oldid:=winid if RoundDef Roundsb:="smallblind" else Roundsb:=0.2 Pot(winid,PotDefPre A_space PotDefFlop A_space PotDefTurn A_space PotDefRiver, Roundsb, OpenDef, FixDef) } else oldid= } else { ControlGet, Z, Visible,,PokerStarsSliderClass1, ahk_id %winid% if !Z oldid= } } return ;----------------------------------------------------------------------------------------------------- IsMouseInChat(id) { wingetpos,,,w,h,ahk_id%id% coordmode,mouse,relative mousegetpos,x1,y1 mousex:=0.5000 mousey:=0.7477 relstarsclientpoint(id,mousex,mousey,0) if ((x1<mousex) and (y1>mousey)) & ((x1>0) & (y1>0) & (y1<h) & (x1<w)) return 1 else return 0 } ;----------------------------------------------------------------------------------------------------- suspendallforchat: if suspended!=on suspendall() return suspendall() { wingetclass,class,A if class=PokerStarsTableFrameClass { winget,id,id,A if IsMouseInChat(id) suspend,on else if A_isSuspended suspend,off } } return ;----------------------------------------------------------------------------------------------------- listAdd( byRef list, item, del="," ) { list:=( list!="" ? ( list . del . item ) : item ) return list } ;----------------------------------------------------------------------------------------------------- listDelItem( byRef list, item, del=",") { ifEqual, item,, return list list:=del . list . del StringReplace, list, list, %item%%del% StringTrimLeft, list, list, 1 StringTrimRight, list, list, 1 return list } ;----------------------------------------------------------------------------------------------------- movetolist(winid,time) { global tablequeue listAdd(tablequeue, winid . "-" . time) } return ;----------------------------------------------------------------------------------------------------- removefromlist(winid) { global tablequeue Loop, Parse, tablequeue, `, { if InStr(A_loopfield,winid) listDelItem(tablequeue, A_Loopfield) } } return ;----------------------------------------------------------------------------------------------------- movetolisttimebank(winid,time) { global tablequeuetimebank listAdd(tablequeuetimebank, winid . "-" . time) } return ;----------------------------------------------------------------------------------------------------- removefromlisttimebank(winid) { global tablequeuetimebank Loop, Parse, tablequeuetimebank, `, { if InStr(A_loopfield,winid) listDelItem(tablequeuetimebank, A_Loopfield) } } return ;----------------------------------------------------------------------------------------------------- clickwithdelay: clickdelay() clickdelaytimebank() return ;----------------------------------------------------------------------------------------------------- clickdelay() { global tablequeue Loop, Parse, tablequeue, `, { stringsplit,tab,A_loopfield,- if abs(tab2-A_TickCount)>500 { ClickSeats(tab1) listDelItem(tablequeue, A_Loopfield) } } } return ;----------------------------------------------------------------------------------------------------- clickdelaytimebank() { global tablequeuetimebank,interval1,BlackTheme,SlickTheme interval:=interval1*1000 Loop, Parse, tablequeuetimebank, `, { stringsplit,tab,A_loopfield,- if abs(tab2-A_TickCount)>interval { if BlackTheme { click_x :=0.5875 click_y :=0.7531 } else if SlickTheme { click_x :=0.5047 click_y :=0.8256 } else { click_x :=0.6582 click_y :=0.7729 click_x1:=0.7441 click_y1:=0.8127 } PostClickStars(click_x, click_y, tab1, 0) PostClickStars(click_x1, click_y1, tab1, 0) listDelItem(tablequeuetimebank, A_Loopfield) } } } return ;----------------------------------------------------------------------------------------------------- clickok() { ifwinexist,PokerStars ahk_class #32770 { ControlGet, Z, Visible,,Button2, PokerStars ahk_class #32770 if !z ControlGet, Z, Visible,,Button3, PokerStars ahk_class #32770 if !z controlclick,Button1,PokerStars ahk_class #32770 } } return ;----------------------------------------------------------------------------------------------------- autobuy() { global max,remembered,xbb,bbmultiplier ifwinexist, Buy-in ahk_class #32770 { winget,id,id,Buy-in ahk_class #32770 ControlGet, v, Visible,,Edit1, ahk_id %id% if v { SetControlDelay, -1 if max { Control, Check,, Button1, ahk_id %id% sleep,-1 ControlClick, OK, ahk_id %id% } if remembered { ControlClick, OK, ahk_id %id% } if xbb { parent:=DllCall("GetParent","uint",id) wingettitle,title,ahk_id %parent% stringtrimleft,hero,title,InStr(title, A_space,false,0) If ((InStr(title, "No Limit") OR InStr(title, "Pot Limit")) AND InStr(title, "Tournament") = 0) { StringMid, bb, title, InStr(title, "/") + 1, InStr(title, a_space,"", InStr(title, "/")) - InStr(title, "/") - 1 } else if (InStr(title, "No Limit") <> 0 AND InStr(title, "Tournament") <> 0) { StringMid, bb, title, InStr(title, "/", "", InStr(title, "Blinds")) + 1, InStr(title, a_space, "", InStr(title, "Blinds") + 8) - InStr(title, "/", "", InStr(title, "Blinds")) - 1 ;___so we retrieve the big blind instead } StringReplace,bb,bb,$,,1 StringReplace,bb,bb,€,,1 StringReplace,bb,bb,Ђ,,1 StringReplace,bb,bb,Ј,,1 bb*=bbmultiplier bb := Round(bb, 2) Control, Check,, Button2, ahk_id %id% sleep,-1 ControlSetText, Edit1, %bb%, ahk_id%id% ControlClick, OK, ahk_id %id% winwaitclose,ahk_id %id%,,1.5 if errorlevel ControlClick, Cancel, ahk_id %id% } } } } return ;----------------------------------------------------------------------------------------------------- Popupwatcher: if TakeSeat TakeSeat() if Buyin autobuy() if closeOKwindow clickok() return ;----------------------------------------------------------------------------------------------------- FreeCheck: IfWinExist, PokerStars, Check { SetControlDelay, -1 ControlFocus, Check Sleep, -1 ControlClick, Check Sleep, -1 ControlSend, Check, {SPACE} } return ;----------------------------------------------------------------------------------------------------- HeroSeated: IsHeroSeared() return IsHeroSeared() { local list,winid,title local col,click_x,click_y winget,list,list,ahk_class PokerStarsTableFrameClass loop %list% { winid:=list%A_index% wingettitle,title,ahk_id%winid% col:=PixelColorA(0.0115,0.6800,winid,1) if seated%winid%=1 if instr(title,"Logged In") if (instr(col,"15193294")) or (instr(col,"-0-")) or (instr(col,"16777215") or (instr(col,"65331"))) { if move { if AutoMoveBack { WinMove, ahk_id%winid%,, xstart%winid%,ystart%winid% seated%winid%:=2 } } if Autopost { if !instr(title,"fast") { click_x :=0.0142 ;click_y :=0.7224 click_y :=0.7075 PostclickStars(click_x,click_y,winid,0) } } if waitbb { click_x :=0.6629 click_y :=0.8555 PostclickStars(click_x,click_y,winid,0) } if seated%winid%!=2 seated%winid%:=3 } } } return ;----------------------------------------------------------------------------------------------------- relStarsClientPoint(id, ByRef x, ByRef y, client=1,screen=0) { global xbord,ybord,cap WinGetPos,x1,y1,w,h,ahk_id%id% w-=2*xbord h-=(2*ybord)+cap x:=floor(W*x) y:=floor(H*y) if !client { x+=xbord y+=ybord+cap } if screen { x+=x1 y+=y1 } } return ;----------------------------------------------------------------------------------------------------- PostLeftClick(x, y, table_id, activate=1, control_class="") { ; ### JUK: Send the down left click, then the mouse-up messages. ; NOTE: This is relative to the top left of the client area and NOT the top left of the ; window (ie: It *doesn't* include the title-bar like AHK's MouseClick does!!!). If activate WinActivate, ahk_id%table_id% critical,6 PostMessage, 0x201, 0x0001, ((y<<16)^x), %control_class%, ahk_id%table_id% PostMessage, 0x202 , 0, ((y<<16)^x), %control_class%, ahk_id%table_id% critical,off sleep,-1 } return ;----------------------------------------------------------------------------------------------------- PostclickStars(x,y,winid,activate=1,client=1) { relStarsClientPoint(winid, x, y,client) DllCall("SetCapture","Uint",winid) PostLeftClick(x, y, winid, activate) DllCall("ReleaseCapture") } return ;----------------------------------------------------------------------------------------------------- PixelColorA(colx,coly,id,region=0,colx1=0,coly1=0,region1=0) { global xbord,ybord,cap hdc_frame := DllCall( "GetDC", "UInt",PokerWindowID) hdc_buffer := DllCall("gdi32.dll\CreateCompatibleDC","UInt",hdc_frame) WinGetPos,,,W,H,ahk_id %id% hbm_buffer := DllCall("gdi32.dll\CreateCompatibleBitmap", "UInt",hdc_frame, "Int",w, "Int",h) DllCall( "gdi32.dll\SelectObject", "UInt",hdc_buffer, "UInt",hbm_buffer) DllCall( "PrintWindow", "UInt" , id , "UInt" , hdc_buffer , "UInt" , 0 ) WinGet,ctrls,ControlList,ahk_id %id% Loop,Parse,ctrls,`n { class:=A_LoopField ControlGet,ctrlid,Hwnd,,%class%,ahk_id %id% ControlGet,visible,Visible,,,ahk_id %ctrlid% If visible=1 DllCall("RedrawWindow","UInt",ctrlid,"UInt",0,"UInt",0,"UInt", 1|4|64|1024) } DllCall("RedrawWindow","UInt",id,"UInt",0,"UInt",0,"UInt", 1|4|64|1024) x:=floor(((W-2*xbord)*colx)) + xbord y:=floor(((H-(2*ybord)-cap)*coly)) + ybord + cap if region { loop 10 { delta:=A_index loop 10 { delta1:=A_index p := DllCall("GetPixel", "UInt", hdc_buffer, "Int", x+delta , "Int", y+delta1) ;p1:=p ;SetFormat, IntegerFast, hex ;p += 0 ;p .= "" ;SetFormat, IntegerFast, d ;pix.=p . "*" . p1 . "-" pix.=p . "-" } } } else { pix := DllCall("GetPixel", "UInt", hdc_buffer, "Int", x, "Int", y) SetFormat, IntegerFast, hex pix += 0 pix .= "" SetFormat, IntegerFast, d } if colx1 { x:=floor(((W-2*xbord)*colx1)) + xbord y:=floor(((H-(2*ybord)-cap)*coly1)) + ybord + cap if region1 { loop 10 { delta:=A_index loop 10 { delta1:=A_index p := DllCall("GetPixel", "UInt", hdc_buffer, "Int", x+delta , "Int", y+delta1) pix1.=p . "-" } } } else { pix1 := DllCall("GetPixel", "UInt", hdc_buffer, "Int", x, "Int", y) SetFormat, IntegerFast, hex pix1 += 0 pix1 .= "" SetFormat, IntegerFast, d } } if region1 pix.="*" . pix1 else if colx1 pix.="-" . pix1 sleep,1 DllCall( "gdi32.dll\DeleteObject","Uint",hbm_buffer) DllCall( "gdi32.dll\ReleaseDC","Uint",hdc_buffer) DllCall( "gdi32.dll\DeleteDC","Uint",hdc_buffer) DllCall( "gdi32.dll\ReleaseDC","Uint",hdc_frame) DllCall( "gdi32.dll\DeleteDC","Uint",hdc_frame) return pix } ;----------------------------------------------------------------------------------------------------- CompareColors(ByRef bgr1, ByRef bgr2, ByRef variation) { c1 := bgr1 & 0xff c2 := bgr2 & 0xff if (abs(c1 - c2) > variation) return false c1 := (bgr1 >> 8) & 0xff c2 := (bgr2 >> 8) & 0xff if (abs(c1 - c2) > variation) return false c1 := (bgr1 >> 16) & 0xff c2 := (bgr2 >> 16) & 0xff if (abs(c1 - c2) > variation) return false return true } ;----------------------------------------------------------------------------------------------------- CloseAllWithNoAction: settimer,ClickBack,off SetControlDelay, -1 WinGet, list, List, ahk_class PokerStarsTableFrameClass Loop, %list% { winid:=list%A_Index% wingettitle,title,ahk_id%winid% Sittingout:=PixelColorA(0.8125,0.8621,winid) If !instr(title,"Logged In") OR ((Sittingout=0x000000) OR (Sittingout=0xDFD9CE) OR (Sittingout=0xD2EBF3) OR (Sittingout=0xB3A39D) OR (Sittingout=0x9D9D9D) OR (Sittingout=0xCCCCCC) OR (Sittingout=0xDEDBCE) OR (Sittingout=0xB5A29c) OR (Sittingout=0xBDAEAD) OR (Sittingout=0x343434) OR (Sittingout=0x444444) OR (Sittingout=0x333333)) WinKill,ahk_id%winid% } WinGet, list, List, ahk_class PokerStarsTableFrameClass Loop, %list% { winid:=list%A_Index% Sittingout:=PixelColorA(0.8125,0.8621,winid) If !((Sittingout=0x000000) OR (Sittingout=0xDFD9CE) OR (Sittingout=0xD2EBF3) OR (Sittingout=0xB3A39D) OR (Sittingout=0x9D9D9D) OR (Sittingout=0xCCCCCC) OR (Sittingout=0xDEDBCE) OR (Sittingout=0xB5A29c) OR (Sittingout=0xBDAEAD) OR (Sittingout=0x343434) OR (Sittingout=0x444444) OR (Sittingout=0x333333)) { back_x:=0.0141 back_y:=0.6860 PostClickStars(back_x, back_y, winid, 0) } } sleep,300 WinGet, list, List, ahk_class PokerStarsTableFrameClass Loop, %list% { winid:=list%A_Index% Sittingout:=PixelColorA(0.8125,0.8621,winid) If ((Sittingout=0x000000) OR (Sittingout=0xDFD9CE) OR (Sittingout=0xD2EBF3) OR (Sittingout=0xB3A39D) OR (Sittingout=0x9D9D9D) OR (Sittingout=0xCCCCCC) OR (Sittingout=0xDEDBCE) OR (Sittingout=0xB5A29c) OR (Sittingout=0xBDAEAD) OR (Sittingout=0x343434) OR (Sittingout=0x444444) OR (Sittingout=0x333333)) WinKill,ahk_id%winid% } WinGet, list, List,Table ahk_class #32770 Loop, %list% { winid:=list%A_Index% ControlFocus,Button1, ahk_id%winid% Sleep, -1 ControlClick,Button1, ahk_id%winid% Sleep, -1 ControlSend,Button1, {SPACE}, ahk_id%winid% } return ;----------------------------------------------------------------------------------------------------- closeTable: LeaveTable() return LeaveTable() { settitlematchmode,2 SetControlDelay, -1 ifwinexist,Table ahk_class #32770 { winget,winid,id,Table ahk_class #32770 ControlGet, v, Visible,,Button2, ahk_id %winid% ControlGet, z, Visible,,Button3, ahk_id %winid% if (v) & (!z) { ControlFocus,Button1, ahk_id%winid% Sleep, -1 ControlClick,Button1, ahk_id%winid% Sleep, -1 ControlSend,Button1, {SPACE}, ahk_id%winid% } } } return ;----------------------------------------------------------------------------------------------------- SitOutNextAll: ;ClickImBack:=false settimer,ClickBack,off WinGet, list, List,Logged In ahk_class PokerStarsTableFrameClass Loop, %list% { Z:=list%A_Index% WinGetPos,,, W, H, ahk_id %Z% Sittingout:=PixelColorA(0.8125,0.8621,Z) If !((Sittingout=0x000000) OR (Sittingout=0xDFD9CE) OR (Sittingout=0xD2EBF3) OR (Sittingout=0xB3A39D) OR (Sittingout=0x9D9D9D) OR (Sittingout=0xCCCCCC) OR (Sittingout=0xDEDBCE) OR (Sittingout=0xB5A29c) OR (Sittingout=0xBDAEAD) OR (Sittingout=0x343434) OR (Sittingout=0x444444) OR (Sittingout=0x333333)) { back_x:=0.0141 back_y:=0.6860 PostClickStars(back_x, back_y, Z, 0) } } return ;----------------------------------------------------------------------------------------------------- RemoveSitout: ;ClickImBack:=true if ClickImBack settimer,ClickBack,1500 WinGet, list, List,Logged In ahk_class PokerStarsTableFrameClass Loop, %list% { Z:=list%A_Index% WinGetPos,,, W, H, ahk_id %Z% Sittingout:=PixelColorA(0.8125,0.8621,Z) JoinWaitingList:=PixelColorA(0.8625,0.8621,Z) If (Sittingout=0x000000) OR (Sittingout=0xDFD9CE) OR (Sittingout=0xD2EBF3) OR (Sittingout=0xB3A39D) OR (Sittingout=0x9D9D9D) OR (Sittingout=0xCCCCCC) OR (Sittingout=0xDEDBCE) OR (Sittingout=0xB5A29c) OR (Sittingout=0xBDAEAD) OR (Sittingout=0x343434) OR (Sittingout=0x444444) OR (Sittingout=0x333333) If (JoinWaitingList!=0x000000) AND (JoinWaitingList!=0xDFD9CE) AND (JoinWaitingList!=0xDEDBCE) AND (JoinWaitingList!=0x0xB5A29c) AND (JoinWaitingList!=0xBDAEAD) AND (JoinWaitingList!=0x1f1f1f) AND (JoinWaitingList!=0x343434) AND (JoinWaitingList!=0x0202020) AND (JoinWaitingList!=0xe6e6e6) AND (JoinWaitingList!=0xdddddd) AND (JoinWaitingList!=0x1e1e1e) AND (JoinWaitingList!=0xb0b0b0) { back_x :=0.7515 back_y :=0.8468 PostClickStars(back_x, back_y, Z, 0) } } return ;----------------------------------------------------------------------------------------------------- UncheckAutopostAll: sitx:=0.0126 sity:=0.7201 click_x:=sitx+0.0070 click_y:=sity+0.0070 WinGet, list, List,Logged In ahk_class PokerStarsTableFrameClass Loop, %list% { Z:=list%A_Index% wingettitle,title,ahk_id%Z% if !instr(title,"fast") { Sittingout:=PixelColorA(sitx,sity,Z,1) if (instr(Sittingout,"-0-")) ; & !(instr(Sittingout,"1710618")) ; & !(instr(Sittingout,"16777215")) { PostClickStars(click_x, click_y, Z, 0) } } } return ;----------------------------------------------------------------------------------------------------- ClickBack: imback() return ;----------------------------------------------------------------------------------------------------- imback() { winget,list,list,Logged In ahk_class PokerStarsTableFrameClass back_x:=0.8031 back_y:=0.8405 join_x:=0.8631 join_y:=0.8405 loop %list% { id:=list%A_index% col:=PixelColorA(back_x,back_y,id,1,join_x,join_y,1) stringsplit,col,col,* Sittingout:=col1 JoinWaitingList:=col2 if (instr(Sittingout,"4473924")) or (instr(Sittingout,"14670286")) or (instr(Sittingout,"-0-")) or (instr(Sittingout,"-0x0-")) if !((instr(JoinWaitingList,"3684408")) or (instr(JoinWaitingList,"4473924")) or (instr(JoinWaitingList,"14670286")) or (instr(JoinWaitingList,"-0-")) or (instr(JoinWaitingList,"-0x0-"))) { postclickstars(back_x,back_y,id,0) } } } return ;----------------------------------------------------------------------------------------------------- Toggleimback: If (ClickImBack=true) { ClickImBack:=false settimer,ClickBack,off T=Off } else { ClickImBack:=true settimer,ClickBack,1500 T=On } Gui, 12:Add, Text,, Auto Click Im Back: %T% Gui, 12:+ToolWindow Gui, 12:Show, w150 h20 Sleep, 1000 Gui, 12:Destroy return ;----------------------------------------------------------------------------------------------------- ClickTimebank: clicktime() return ;----------------------------------------------------------------------------------------------------- clicktime() { global SlickTheme,BlackTheme,tablequeuetimebank if BlackTheme { timex:=0.5775 timey:=0.7431 } else if SlickTheme { timex:=0.4920 timey:=0.7958 } else { timex:=0.6500 timey:=0.7670 timex1:=0.7341 timey1:=0.8027 } winget,list,list,Logged In ahk_class PokerStarsTableFrameClass loop %list% { id:=list%A_index% col:=PixelColorA(timex,timey,id,1,timex1,timey1,1) stringsplit,col,col,* if (instr(col1,"13484978")) or (instr(col1,"1000084")) or (instr(col1,"16777215")) or (instr(col2,"13484978")) or (instr(col2,"1000084")) or (instr(col2,"16777215")) { if !InStr(tablequeuetimebank,id) movetolisttimebank(id,A_TickCount) } else if InStr(tablequeuetimebank,id) removefromlisttimebank(id) } } return ;----------------------------------------------------------------------------------------------------- Joinwaitlist: winget,list,list, ahk_class PokerStarsTableFrameClass loop %list% { id:=list%A_index% col:=PixelColorA(0.6274,0.9352,id,1) if !(instr(col,"15921906")) & !(instr(col,"16777215")) { click_x :=0.8625 click_y :=0.8621 PostclickStars(click_x,click_y,id,0) } } return ;----------------------------------------------------------------------------------------------------- Unjoinwaitlist: winget,list,list, ahk_class PokerStarsTableFrameClass loop %list% { id:=list%A_index% col:=PixelColorA(0.6274,0.9352,id,1) if InStr(col,"15921906") or (instr(col,"16777215")) { click_x :=0.8625 click_y :=0.8621 PostclickStars(click_x,click_y,id,0) } } return ;----------------------------------------------------------------------------------------------------- JoinWaitlistlobby: ControlGet, Black, Visible,, PokerStarsButtonClass1, PokerStars Lobby If black { ControlGet, Join, Visible,, PokerStarsButtonClass4, PokerStars Lobby ControlGet, Leave, Visible,, PokerStarsButtonClass3, PokerStars Lobby If (Join=1) { ControlClick, PokerStarsButtonClass4, PokerStars Lobby SetControlDelay -1 ControlClick, Button1, Waiting List } else { If (Leave=1) ControlClick, PokerStarsButtonClass3, PokerStars Lobby } } else { ControlGet, Join, Visible,, PokerStarsButtonClass3, PokerStars Lobby ControlGet, Leave, Visible,, PokerStarsButtonClass2, PokerStars Lobby If (Join=1) { ControlClick, PokerStarsButtonClass3, PokerStars Lobby SetControlDelay -1 ControlClick, Button1, Waiting List } else { If (Leave=1) ControlClick, PokerStarsButtonClass2, PokerStars Lobby } } return ;----------------------------------------------------------------------------------------------------- JoinWaitlistlobbyGroup: joingroup(waitlists) return joingroup(waitinglists) { winget,id,id,PokerStars Lobby - ahk_class #32770 ifwinactive, ahk_id%id% { ControlGet, Black, Visible,, PokerStarsButtonClass1, ahk_id%id% If Black { joinbutton=PokerStarsButtonClass4 unjoinbutton=PokerStarsButtonClass3 } else { joinbutton=PokerStarsButtonClass3 unjoinbutton=PokerStarsButtonClass2 } list=PokerStarsListClass1 loop %waitinglists% { SetControlDelay,-1 ControlGet, Join, Visible,, %joinbutton%, ahk_id%id% If (Join=1) { controlfocus,%joinbutton%,,ahk_id%id% sleep,-1 PostLeftClick(50,25,id,0,joinbutton) } controlfocus,PokerStarsListClass1,,ahk_id%id% sleep,-1 controlsend,PokerStarsListClass1,{Down},ahk_id%id% sleep,600 } } } return ;----------------------------------------------------------------------------------------------------- MoveBackByKey: ifwinactive, ahk_class PokerStarsTableFrameClass { winget,id,id,A if (seated%id%=1) or (seated%id%=3) { wingettitle,title,ahk_id%id% seated%id%:=2 WinMove, ahk_id%id%,, xstart%id%,ystart%id% } } return ;----------------------------------------------------------------------------------------------------- TakeSeat() { ;global AutoReservedSeat,tablequeue local list,id,This_id IfWinExist, PokerStars ahk_class #32770 { WinGet, list, list, Seat Available ahk_class #32770 Loop, %list% { This_id := list%A_Index% ControlFocus, Button2, ahk_id%this_id% Sleep, -1 ControlSend, Button2, {SPACE}, ahk_id%this_id% } setwindelay,-1 if AutoReservedSeat if list>0 { ;sleep,500 ;winget,id,id,ahk_class PokerStarsTableFrameClass ;winwaitactive,ahk_class PokerStarsTableFrameClass,,1 winwait, ahk_class PokerStarsTableFrameClass,, 1 if !errorlevel { ;winget,id,id,A ;id:=winexist("ahk_class PokerStarsTableFrameClass") winget,id,id,ahk_class PokerStarsTableFrameClass ;ClickSeats(id) if !InStr(tablequeue,id) movetolist(id,A_TickCount) seated%id%:=1 } } } } return ;----------------------------------------------------------------------------------------------------- ClickSeats(id) { ;setwindelay,500 global SlickTheme if !SlickTheme { ifwinnotexist,Buy-in ahk_class #32770 Postclickstars(0.5000,0.6903,id,0) ifwinnotexist,Buy-in ahk_class #32770 Postclickstars(0.2299,0.6536,id,0) ifwinnotexist,Buy-in ahk_class #32770 Postclickstars(0.0697,0.4250,id,0) ifwinnotexist,Buy-in ahk_class #32770 Postclickstars(0.1770,0.1835,id,0) ifwinnotexist,Buy-in ahk_class #32770 Postclickstars(0.3401,0.0867,id,0) ifwinnotexist,Buy-in ahk_class #32770 Postclickstars(0.6566,0.0867,id,0) ifwinnotexist,Buy-in ahk_class #32770 Postclickstars(0.8333,0.1910,id,0) ifwinnotexist,Buy-in ahk_class #32770 Postclickstars(0.9328,0.4250,id,0) ifwinnotexist,Buy-in ahk_class #32770 Postclickstars(0.7764,0.6513,id,0) } else { Postclickstars(0.5000,0.6903,id,0) Postclickstars(0.2299,0.6536,id,0) Postclickstars(0.1028,0.5114,id,0) Postclickstars(0.1028,0.2591,id,0) Postclickstars(0.3401,0.0867,id,0) Postclickstars(0.6566,0.0867,id,0) Postclickstars(0.8876,0.2591,id,0) Postclickstars(0.8876,0.5114,id,0) Postclickstars(0.7764,0.6513,id,0) } setwindelay,-1 } return ;----------------------------------------------------------------------------------------------------- FindTableToAct: findactivetable() return ;----------------------------------------------------------------------------------------------------- findactivetable() { WinGet, l, List, ahk_class PokerStarsTableFrameClass found:=false v:=30 foldx:=0.5575 foldy:=0.9846 foldx1:=0.5063 foldy1:=0.9846 Loop, %l% { winid:=l%A_Index% ControlGet, Z, Visible,,PokerStarsSliderClass1, ahk_id %winid% If Z { WinActivate, ahk_id %winid% found:=true Break } } if !found Loop, %l% { winid:=l%A_Index% col:=PixelColorA(foldx,foldy,winid,0,foldx1,foldy1,0) stringsplit,col,col,- if comparecolors(col1,col2,v)=0 { WinActivate, ahk_id %winid% break } } } return ;----------------------------------------------------------------------------------------------------- ActivateBottomWindow: GroupActivate, StarsTables return ;----------------------------------------------------------------------------------------------------- activateundermouse: activatetableundermouse() return activatetableundermouse() { If winactive("ahk_class PokerStarsTableFrameClass") or winactive("PokerStars Lobby") { MousegetPos,,,WinID WinGetClass, class, ahk_id %WinID% WinGetTitle, title, ahk_id %WinID% if (class="PokerStarsTableFrameClass") or (instr(title,"PokerStars Lobby")) winactivate, ahk_id %WinID% } } return ;----------------------------------------------------------------------------------------------------- Cashier: IfWinExist Cashier ahk_class #32770 { WinActivate Cashier ahk_class #32770 SetControlDelay -1 ControlClick, PokerStarsButtonClass8, Cashier } else { WinActivate PokerStars Lobby WinMenuSelectItem, PokerStars Lobby,, Lobby, Cashier... } return ;----------------------------------------------------------------------------------------------------- Layout1: layx:=0.5047 layy:=0.1880 layy1:=0.0940 WinGet, WinId, ID, ahk_class PokerStarsTableFrameClass if Winid { winactivate,ahk_id%winid% if HyperSimpleTheme { relstarsclientpoint(winid,layx,layy1,0) ControlClick,x%layx% y%layy1%,ahk_id %WinID%,,,,NA } else { relstarsclientpoint(winid,layx,layy,0) ControlClick,x%layx% y%layy%,ahk_id %WinID%,,,,NA } Loop { WinWait, Options Winactivate, Options SetControlDelay, -1 ControlClick, Button13, Options,,,,NA sleep 100 Send {down 5} Send {Enter} WinWaitClose, Options,,1 If (!ErrorLevel) Break } } return ;----------------------------------------------------------------------------------------------------- Layout2: layx:=0.5047 layy:=0.1880 layy1:=0.0940 WinGet, WinId, ID, ahk_class PokerStarsTableFrameClass if Winid { winactivate,ahk_id%winid% if HyperSimpleTheme { relstarsclientpoint(winid,layx,layy1,0) ControlClick,x%layx% y%layy1%,ahk_id %WinID%,,,,NA } else { relstarsclientpoint(winid,layx,layy,0) ControlClick,x%layx% y%layy%,ahk_id %WinID%,,,,NA } Loop { WinWait, Options Winactivate, Options SetControlDelay, -1 ControlClick, Button13, Options,,,,NA sleep 100 Send {down 6} Send {Enter} WinWaitClose, Options,,1 If (!ErrorLevel) Break } } return ;----------------------------------------------------------------------------------------------------- Layout3: layx:=0.5047 layy:=0.1880 layy1:=0.0940 WinGet, WinId, ID, ahk_class PokerStarsTableFrameClass if Winid { winactivate,ahk_id%winid% if HyperSimpleTheme { relstarsclientpoint(winid,layx,layy1,0) ControlClick,x%layx% y%layy1%,ahk_id %WinID%,,,,NA } else { relstarsclientpoint(winid,layx,layy,0) ControlClick,x%layx% y%layy%,ahk_id %WinID%,,,,NA } Loop { WinWait, Options Winactivate, Options SetControlDelay, -1 ControlClick, Button13, Options,,,,NA sleep 100 Send {down 7} Send {Enter} WinWaitClose, Options,,1 If (!ErrorLevel) Break } } return ;----------------------------------------------------------------------------------------------------- Highlighter: HighLighter(1) return HighLighter(Highlight=1) { global last_table_id global border_color global border_size global trans global OldX,OldY,OldW,OldH global highlighthero foldx:=0.5575 foldx1:=0.5079 foldy:=0.9846 foldy1:=0.9846 v:=25 ifwinactive,ahk_class PokerStarsTableFrameClass { winget,id,id,A WinGetActiveStats,ActiveTitle, ActiveW, ActiveH, ActiveX, ActiveY relstarsclientpoint(id,foldx,foldy,0) pixelgetcolor,fold,foldx,foldy,ahk_id%id% relstarsclientpoint(id,foldx1,foldy1,0) pixelgetcolor,bacgr,foldx1,foldy1,ahk_id%id% if (id != last_table_id) || ((OldX <> ActiveX || OldY <> ActiveY || OldW <> ActiveW || OldH <> ActiveH)) { OldX:=ActiveX OldY:=ActiveY OldW:=ActiveW OldH:=ActiveH mouse_last:=last_table_id last_table_id:=id if(!id) { Gui, 2: Cancel Gui, 3: Cancel Gui, 4: Cancel Gui, 5: Cancel return } WinGetPos, x, y, w, h, ahk_id%id% global xbord global cap x := x + xbord y := y + xbord + cap w := w - (2*xbord) h := h - (2*xbord) - cap ;Makes Border around urgent table if (highlighthero=0) || (highlighthero=1 & comparecolors(fold,bacgr,v)=0) { ;top guinum := 2 Gui, %guinum%: +Alwaysontop +Lastfound +Owner Gui, %guinum%: Color, %border_color% WinSet, Transparent, %trans% Gui, %guinum%: -Caption Gui, %guinum%: Show, w%w% h%border_size% x%x% y%y% NoActivate ;left guinum++ Gui, %guinum%: +Alwaysontop +Lastfound +Owner Gui, %guinum%: Color, %border_color% WinSet, Transparent, %trans% Gui, %guinum%: -Caption Gui, %guinum%: Show, w%border_size% h%h% x%x% y%y% NoActivate ;bottom guinum++ Gui, %guinum%: +Alwaysontop +Lastfound +Owner Gui, %guinum%: Color, %border_color% WinSet, Transparent, %trans% Gui, %guinum%: -Caption y2 := y + h - border_size Gui, %guinum%: Show, w%w% h%border_size% x%x% y%y2% NoActivate ;right guinum++ Gui, %guinum%: +Alwaysontop +Lastfound +Owner Gui, %guinum%: Color, %border_color% WinSet, Transparent, %trans% Gui, %guinum%: -Caption x2 := x + w - border_size Gui, %guinum%: Show, w%border_size% h%h% x%x2% y%y% NoActivate } else if highlighthero last_table_id= } else if highlighthero if comparecolors(fold,bacgr,v)=1 { Gui, 2: Cancel Gui, 3: Cancel Gui, 4: Cancel Gui, 5: Cancel last_table_id= } } else { Gui, 2: Cancel Gui, 3: Cancel Gui, 4: Cancel Gui, 5: Cancel last_table_id= } } return ;----------------------------------------------------------------------------------------------------- MouseMove: MoveMouse() return MoveMouse(x_mouse=0.75, y_mouse=0.75) { if IsWindowNew() { wingetclass,class,A wingetactivetitle,title if class=PokerStarsTableFrameClass if instr(title,"Logged In") { winget,id,id,A relStarsClientPoint(id, x_mouse, y_mouse,0,1) DllCall("SetCursorPos", int, x_mouse, int, y_mouse) } } } return ;----------------------------------------------------------------------------------------------------- AlterAmount(id, dir="", frac=1, unit="") { global stars_editbox WinGetTitle, title, ahk_id%id% amount := 0 StringTrimRight, tablename, title, ( StrLen(title) - (InStr(title, " - ")-1) ) IfWinExist, ahk_id%id% ahk_group StarsTables { If ((InStr(title, "No Limit") OR InStr(title, "Pot Limit")) AND InStr(title, "Tournament") = 0) { StringMid, bb, title, InStr(title, "/") + 1, InStr(title, a_space,"", InStr(title, "/")) - InStr(title, "/") - 1 } else if (InStr(title, "No Limit") <> 0 AND InStr(title, "Tournament") <> 0) { StringMid, bb, title, InStr(title, "/", "", InStr(title, "Blinds")) + 1, InStr(title, a_space, "", InStr(title, "Blinds") + 8) - InStr(title, "/", "", InStr(title, "Blinds")) - 1 } } StringReplace,bb,bb,$,,1 StringReplace,bb,bb,Ј,,1 StringReplace,bb,bb,Ђ,,1 StringReplace,bb,bb,€,,1 ;bb++ ;bb-- sb := sb(bb) If (unit = "" or unit = "bb") { unit := bb } Else If (unit = "sb") { unit := sb } Else If (unit = "pot") { pot := 0 call := 0 hero_bet := 0 street := "pre" hero_position := "" open := 0 max := 10000000 IfWinExist, ahk_id%id% ahk_group StarsTables { PotSizeStars(id, pot, call, sb, bb, hero_bet, street, hero_position, open) } pot := ((pot + call + hero_bet) )+ call unit := pot } amount := unit * frac if (dir="down") { amount := amount - (2*amount) } a:=floor(amount) if amount-a=0 amount:=a IfWinExist, ahk_id%id% ahk_group StarsTables { ControlGetText, t, %stars_editbox%, ahk_id%id% t := t + amount if (t < 0) { t := 0 } t1 := Round(t, 2) t := Round(t, 3) if t-t1=0 t:=t1 ControlSetText, %stars_editbox%, %t%, ahk_id%id% Sleep, -1 WinSet, Redraw,, ahk_id%id% } } Pot(id, frac=1, round_bet=0.2, open_adjust="", fixblinds=0) { global debug global stars_editbox global attempts if attempts<=0 attempts:=1 pot := 0 call := 0 sb := 0 bb := 0 hero_bet := 0 street := "" hero_position := "" open := 1 max := 10000000 IfWinExist, ahk_id%id% ahk_group StarsTables { loop %attempts% { PotSizeStars(id, pot, call, sb, bb, hero_bet, street, hero_position, open) if pot>0 break sleep,20 } } Else { return } StringSplit, fr, frac, %A_SPACE% if (fr0 < 4) { times := 4 - fr0 Loop, %times% { n := 5 - A_Index fr%n% := fr%fr0% } } if (street = "pre") { frac:= Round(fr1/100,2) } else if (street = "flop") { frac:= Round(fr2/100,2) } else if (street = "turn") { frac:= Round(fr3/100,2) } else if (street = "river") { frac:= Round(fr4/100,2) } if (debug) { TrayTip, BetPot, Pot:`t`t%pot%`nCall:`t`t%call%`nHero_bet:`t%hero_bet%`n`nPosition:`t%hero_position%`n`nBlinds:`t$%sb%/$%bb%`n`nStreet:`t%street%`n`n%fr0%`n%fr1% %fr2% %fr3% %fr4%`n`n%frac%,10,17 } ; listvars if (fixblinds AND open AND street="pre") { if (hero_position = "sb" ) { pot := pot - sb call := call + sb } else if (hero_position = "bb") { pot := pot - bb call := call + bb } } pot := ((pot + call + hero_bet)* (frac)) + call if (open=1 AND open_adjust="ssnl" ) { pot := pot + bb - sb } else if (open=1 AND open_adjust="trny" ) { pot := pot - bb } else if (open=1 AND open_adjust="mix" ) { if (bb=2) { pot := pot + bb - sb } ; pot := pot + bb + sb } if(round_bet = "smallblind") { pot := Round((Floor((pot / sb)) * sb),2) } else if(round_bet = "bigblind") { pot := Round((Floor((pot / bb)) * bb),2) } else if (round_bet < 1) { places := round_bet*10 pot := Round(pot, (places)) } else if (round_bet >= 1) { pot := Floor(pot / round_bet) * round_bet } p:=floor(pot) if pot-p=0 pot:=p IfWinExist, ahk_id%id% ahk_group StarsTables { ControlSetText, %stars_editbox%, %pot%, ahk_id%id% Sleep, -1 } } PotSizeStars(id, ByRef pot, ByRef call, ByRef sb, ByRef bb, ByRef hero_bet, ByRef street, ByRef hero_position, ByRef open) { global use_old_stars_buttons, stars_editbox , ClassicTheme , HyperSimpleTheme, SlickTheme CoordMode, Pixel, Screen setwindelay,-1 if ClassicTheme { PotThemeDir := "classic" CallThemeDir := "classic" pot_x1:=0.4400 pot_x2:=0.5706 pot_y1:=0.0140 pot_y2:=0.0685 call_x1:=0.7143 call_y1:=0.9342 call_y2:=0.9802 call_x2:=0.7843 raise_x1:=0.8727 raise_y1:=0.9342 raise_y2:=0.9802 raise_x2:=0.9423 } else if HyperSimpleTheme { PotThemeDir := "hypersimple" CallThemeDir := "hypersimple" pot_x1:=0.4900 pot_x2:=0.5706 pot_y1:=0.0140 pot_y2:=0.0885 call_x1:=0.7143 call_y1:=0.9342 call_y2:=0.9802 call_x2:=0.7843 raise_x1:=0.8727 raise_y1:=0.9342 raise_y2:=0.9802 raise_x2:=0.9423 } else if SlickTheme { PotThemeDir := "slick" CallThemeDir := "slick" pot_x2:=0.5466 pot_y2:=0.1645 pot_x1:=0.4640 pot_y1:=0.0895 call_y2:=0.9802 call_y1:=0.9342 call_x2:=0.7454 call_x1:=0.6754 raise_x1:=0.8474 raise_y1:=0.9342 raise_y2:=0.9802 raise_x2:=0.9304 } else { return } if (use_old_stars_buttons) { CallThemeDir := CallThemeDir . "\old" } street := GetStreetStars(id) WinGetPos, x, y, w, h, ahk_id%id% if (w <= 526) { SizeDir := 0 } else if (w <= 621) { SizeDir := 1 } else if (w <= 736) { SizeDir := 2 } else if (w <= 875) { SizeDir := 3 } else if (w <= 1037) { SizeDir := 4 } else if (w <= 1227) { SizeDir := 5 } else { SizeDir := 6 } PicDir := "StarsPics" potPicDir := PicDir . "\" . PotThemeDir . "\pot\" . SizeDir buttonPicDir := PicDir . "\" . CallThemeDir . "\call\" . SizeDir relStarsclientPoint(id, pot_x1, pot_y1,0) relStarsclientPoint(id, pot_x2, pot_y2,0) pot := DigitSearch(pot_x1, pot_y1, pot_x2, pot_y2, id, potPicDir, "", 50) relStarsclientPoint(id, call_x1, call_y1,0) relStarsclientPoint(id, call_x2, call_y2,0) call := DigitSearch(call_x1, call_y1, call_x2, call_y2, id, buttonPicDir, "", 50) call := iif( call, call, 0 ) bb := GetBBStars(id, GameTypeStars(WinGetTitle(id))) sb := sb(bb) if (street = "pre") { ControlGetText, t, %stars_editbox%, ahk_id%id% ControlSetText, %stars_editbox%, 0, ahk_id%id% relStarsclientPoint(id, raise_x1, raise_y1,0) relStarsclientPoint(id, raise_x2, raise_y2,0) minraise := DigitSearch(raise_x1, raise_y1, raise_x2, raise_y2, id, buttonPicDir, "", 50) t := Round(t, 2) ControlSetText, %stars_editbox%, %t%, ahk_id%id% Sleep, -1 if (minraise > (2*bb)) { ;pot has been raised if (call = bb) { ;pot was minraised, and we are the BB hero_bet := bb hero_position := "bb" } else if (call < (bb*2)) { ;pot was minraised, and we are the SB hero_bet := sb hero_position := "sb" } } else if (call = bb) { ;hero is not a blind, unraised pot, do nothing } else if (call = 0) { ;unraised pot, hero is the BB hero_bet := bb hero_position := "bb" } else if (call < bb) { ;unraised pot, hero is the SB hero_bet := sb hero_position := "sb" } else { ;pot has been raised, we are not opening open := 0 } } else { ;not pre-flop, no need for open adjustment open := 0 } return } DigitSearch(startX,startY,endX,endY,win,dir,ex="",shades=1) { If ex = ex = bmp batchlines = %A_BatchLines% SetBatchLines -1 WinGetPos,Xwin,Ywin,,,ahk_id%win% CoordMode, Pixel, Screen Loop, 11 { i = %a_index% If i = 10 i = 0 else if i = 11 i = -1 lastXpos := startX + Xwin Loop { x1 := lastXpos + 1 y1 := startY + Ywin x2 := endX + Xwin y2 := endY + Ywin ImageSearch, lastXpos,, x1, y1, x2, y2, *%shades% %dir%\%i%.%ex% If ( errorLevel ) { break } p++ p%p% = %lastXpos% If i = -1 t = . else t = %i% StringReplace, xpos, lastXpos, -, _ c%xpos% = %t% } } Loop, %p% p_all := p_all "," p%a_index% Sort, p_all, N D, U Loop, Parse, p_all, `, { StringReplace, xpos, a_loopfield, -, _ amount := amount "" c%xpos% } CoordMode, Pixel, Relative SetBatchLines %batchlines% return amount } ; finds number of specified pixels in a region GetPixelCount(x1, y1, x2, y2, color, options="") { CoordMode, Pixel, Screen pixels := (x2 - x1 + 1)*(y2 - y1 + 1) If ( pixels <= 0 ) { ErrorLevel = 1 return } count = 0 x = %x1% Loop { If ( x > x2 ) { break } y = %y1% Loop { If ( y > y2 ) { break } PixelGetColor, c, x, y, %options% If ( c = color ) { count++ } y++ } x++ } return count } GetBBStars(id, game_type) { WinGetTitle, title, ahk_id%id% StringReplace,title,title,€,,1 StringReplace,title,title,Ђ,,1 StringReplace,title,title,Ј,,1 If (game_type = "NL Ring") return StrRep(StrMid(title,"/",a_space), "$") else if (game_type = "NL Tourney") return StrRep(StrMid(title,"/",a_space,InStr(title," - Blinds")),"$") } GameTypeStars(title) { If InStr(title, " - Limit Stud") return "Stud" else if ((InStr(title, "NL Hold'em") || InStr(title, " - Pot Limit Hold'em") || InStr(title, " - No Limit Hold'em") || InStr(title, "PL Hold'em")) && InStr(title, "Tournament")) return "NL Tourney" else if (InStr(title, " - No Limit Hold'em") || InStr(title, " - Pot Limit Hold'em")) return "NL Ring" else return "Limit" } sb(bb) { If bb = .25 sb := .10 else if bb = 15 sb = 10 else if bb = 0.05 sb = 0.02 else sb := bb/2 if (sb > 1) { sb := Round(sb, 0) } else { sb := Round(sb, 2) } return sb } GetStreetStars(id) { global debug CoordMode, Pixel, Screen street := "pre" x1 := 0.6168 y1 := 0.3315 x2 := 0.6660 y2 := 0.3811 relStarsClientPoint(id, x1, y1,0,1) relStarsClientPoint(id, x2, y2,0,1) If ( GetPixelCount(x1, y1, x2, y2, 0xffffff) > 10 ) { street := "river" return street } x1 := 0.5394 y1 := 0.3315 x2 := 0.5887 y2 := 0.3811 relStarsClientPoint(id, x1, y1,0,1) relStarsClientPoint(id, x2, y2,0,1) If ( GetPixelCount(x1, y1, x2, y2, 0xffffff) > 10 ) { street := "turn" return street } x1 := 0.3373 y1 := 0.3315 x2 := 0.3867 y2 := 0.3811 relStarsClientPoint(id, x1, y1,0,1) relStarsClientPoint(id, x2, y2,0,1) If ( GetPixelCount(x1, y1, x2, y2, 0xffffff) > 10 ) { street := "flop" } return street } StrRep(str,char,rep_char="",all=1) { StringReplace,str,str,%char%,%rep_char%,%all% return str } StrMid(str,str1,str2,startPos1=1,startPos2=1,caseSense=0){ If startPos1 = startPos1 = 1 If startPos2 = startPos2 = 1 StringTrimLeft,o,str,InStr(str,str1,cS,startPos1) + StrLen(str1) - 1 StringLeft,o,o,InStr(o,str2,caseSense,startPos2)-1 return o } IIf(_boolExpr, _exprTrue, _exprFalse) { If _boolExpr Return _exprTrue else return _exprFalse } WinGetTitle(win) { WinGetTitle, title, ahk_id%win% return title } FoldStars(id) { PostClickStars(0.59,0.9241,id) ; Sleep, 20 ; PostStarsClickpot(416,478,id) } CallStars(id) { PostClickStars(0.7462,0.9241,id) } RaiseStars(id) { PostClickStars(0.8860,0.9241,id) } Fold2anyStars(id) { PostClickStars(0.0158,0.6467,id) } fold: sendmode event If ActOnActiveTable WinGet, Id, ID, A else MousegetPos,,,ID wingetclass,class,ahk_id%id% if class=PokerStarsTableFrameClass { if suspendforchat { ; If ActOnActiveTable if IsMouseInChat(id) { ControlGetFocus, ctrl, ahk_id%id% ControlSend,%ctrl% , %fold%, ahk_id%id% } else FoldStars(id) } else FoldStars(id) } else { ControlGetFocus,ctrl,ahk_id%id% ControlSend,%ctrl%,%fold%,ahk_id%id% } sendmode input return call: sendmode event If ActOnActiveTable WinGet, Id, ID, A else MousegetPos,,,ID wingetclass,class,ahk_id%id% if class=PokerStarsTableFrameClass { if suspendforchat { ; If ActOnActiveTable if IsMouseInChat(id) { ControlGetFocus, ctrl, ahk_id%id% ControlSend,%ctrl% , %call%, ahk_id%id% } else callStars(id) } else callStars(id) } else { ControlGetFocus,ctrl,ahk_id%id% ControlSend,%ctrl%,%call%,ahk_id%id% } sendmode input return raise: sendmode event If ActOnActiveTable WinGet, Id, ID, A else MousegetPos,,,ID wingetclass,class,ahk_id%id% if class=PokerStarsTableFrameClass { if suspendforchat { ; If ActOnActiveTable if IsMouseInChat(id) { ControlGetFocus, ctrl, ahk_id%id% ControlSend,%ctrl% , %raise%, ahk_id%id% } else raiseStars(id) } else raiseStars(id) } else { ControlGetFocus,ctrl,ahk_id%id% ControlSend,%ctrl%,%raise%,ahk_id%id% } sendmode input return fold2any: sendmode event If ActOnActiveTable WinGet, Id, ID, A else MousegetPos,,,ID wingetclass,class,ahk_id%id% if class=PokerStarsTableFrameClass { if suspendforchat { ; If ActOnActiveTable if IsMouseInChat(id) { ControlGetFocus, ctrl, ahk_id%id% ControlSend,%ctrl% , %fold2any%, ahk_id%id% } else fold2anyStars(id) } else fold2anyStars(id) } else { ControlGetFocus,ctrl,ahk_id%id% ControlSend,%ctrl%,%fold2any%,ahk_id%id% } sendmode input return pot1: If ActOnActiveTable WinGet, id, id, A else MousegetPos,,,id if Round1 Roundsb:="smallblind" else Roundsb:=0.2 Pot(id,Pot1Pre A_space Pot1Flop A_space Pot1Turn A_space Pot1River, Roundsb, Open1, fix1) if autobet raisestars(id) return pot2: If ActOnActiveTable WinGet, id, id, A else MousegetPos,,,id if Round2 Roundsb:="smallblind" else Roundsb:=0.2 Pot(id,Pot2Pre A_space Pot2Flop A_space Pot2Turn A_space Pot2River, Roundsb, Open2, fix2) if autobet raisestars(id) return pot3: If ActOnActiveTable WinGet, id, id, A else MousegetPos,,,id if Round3 Roundsb:="smallblind" else Roundsb:=0.2 Pot(id,Pot3Pre A_space Pot3Flop A_space Pot3Turn A_space Pot3River, Roundsb, Open3, fix3) if autobet raisestars(id) return alt1: If ActOnActiveTable WinGet, id, id, A else MousegetPos,,,id if sb1 sb:="sb" else sb:="" AlterAmount(id,"up", incr1, sb) return alt2: If ActOnActiveTable WinGet, id, id, A else MousegetPos,,,id if sb2 sb:="sb" else sb:="" AlterAmount(id,"down", incr2, sb) return alt3: If ActOnActiveTable WinGet, id, id, A else MousegetPos,,,id if sb3 sb:="sb" else sb:="" AlterAmount(id,"up", incr3, sb) return alt4: If ActOnActiveTable WinGet, id, id, A else MousegetPos,,,id if sb4 sb:="sb" else sb:="" AlterAmount(id,"down", incr4, sb) return ;----------------------------------------------------------------------------------------------------- BetPot: GroupAdd, StarsTables, ahk_class PokerStarsTableFrameClass ,,, PokerStars Lobby if autopot { isbetboxnew() } return ;----------------------------------------------------------------------------------------------------- BuildGui: Gui, color, white Gui, add, tab, h490 w290, General|Time|Annoyances|Table moving|BetPot|Table hotkeys|Global hotkeys Gui, Tab, General Gui, Add, Radio, x26 y50 w180 h20 Checked%ClassicTheme% vClassicTheme, Classic Theme Gui, Add, Radio, x26 y70 w180 h20 Checked%HyperSimpleTheme% vHyperSimpleTheme, HyperSimple Theme Gui, Add, Radio, x26 y90 w180 h20 Checked%BlackTheme% vBlackTheme, Black Theme Gui, Add, Radio, x26 y110 w180 h20 Checked%SlickTheme% vSlickTheme, Slick Theme Gui, add, text, y145 x25, Highlight table Gui, add, Checkbox, y145 x100 Checked%Highlight% VHighlight Gui, Add, Radio, x126 y140 w120 h15 Checked%highlightactive% vhighlightactive, Active Gui, Add, Radio, x126 y155 w120 h15 Checked%highlighthero% vhighlighthero, With action on hero Gui, add, text, y185 x25, Move mouse to action buttons Gui, add, Checkbox, y185 x230 Checked%MoveMouse% VMoveMouse Gui, add, text, y205 x65, Move mouse from nonstars app Gui, add, Checkbox, y205 x230 Checked%stealfocus% Vstealfocus Gui, add, text, y235 x25, Suspend table hotkeys for chat/notes area Gui, add, Checkbox, y235 x230 Checked%suspendforchat% Vsuspendforchat Gui, add, text, y255 x25, Suspend all hotkeys for chat/notes area Gui, add, Checkbox, y255 x230 Checked%suspendforchatall% Vsuspendforchatall Gui, Add, Radio, x26 y280 w220 h15 Checked%ActOnActiveTable% vActOnActiveTable, Send actions to active table Gui, Add, Radio, x26 y295 w220 h15 Checked%sendundermouse% vsendundermouse, Send actions to table under mouse Gui, add, text, y315 x25, Activate table under mouse Gui, add, Checkbox, y315 x230 Checked%activatetableundermouse% Vactivatetableundermouse Gui, Add, Button, x75 y395 w55 h20 gSave,Submit Gui, Add, Button, x135 y395 w55 h20 gCancel,Cancel Gui, Tab, Global hotkeys Gui, Add, Text, x25 y105 ,Find table needing action Gui, Add, Edit, x220 y102 w50 h20 vfindtabletoact, %findtabletoact% Gui, Add, Text, x25 y125 ,Activate next table Gui, Add, Edit, x220 y122 w50 h20 vActivateBottomWindow, %ActivateBottomWindow% Gui, Add, Text, x25 y155 ,Close all tables with hero not in a hand Gui, Add, Edit, x220 y152 w50 h20 vCloseAllWithNoAction, %CloseAllWithNoAction% Gui, Add, Text, x25 y55 ,Suspend all hotkeys Gui, Add, Edit, x220 y52 w50 h20 vsuspend, %suspend% Gui, Add, Text, x25 y75 ,Pause/unpause Gui, Add, Edit, x220 y72 w50 h20 vTogglePause, %TogglePause% Gui, Add, Text, x25 y185 ,Cashier Gui, Add, Edit, x220 y182 w50 h20 vCashier, %Cashier% Gui, Add, Text, x25 y225 ,Custom layout 1 Gui, Add, Edit, x220 y222 w50 h20 vlayout1, %layout1% Gui, Add, Text, x25 y245 ,Custom layout 2 Gui, Add, Edit, x220 y242 w50 h20 vlayout2, %layout2% Gui, Add, Text, x25 y265 ,Custom layout 3 Gui, Add, Edit, x220 y262 w50 h20 vlayout3, %layout3% Gui, Add, Text, x25 y295 ,Join/unjoin Waitlist from lobby Gui, Add, Edit, x220 y292 w50 h20 vJoinWaitlistlobby, %JoinWaitlistlobby% Gui, Add, Text, x25 y315 ,Join Gui, Add, Edit, x50 y312 w20 h20 vwaitlists, %waitlists% Gui, Add, Text, x70 y315 ,waitlists counting from selected Gui, Add, Edit, x220 y312 w50 h20 vJoinWaitlistlobbyGroup, %JoinWaitlistlobbyGroup% Gui, Add, Button, x75 y415 w55 h20 gSave,Submit Gui, Add, Button, x135 y415 w55 h20 gCancel,Cancel Gui, Tab, Table moving Gui, add, text, y55 x25, Move new table Gui, add, Checkbox, y55 x120 Checked%move% Vmove Gui, add, text, y75 x35, to position Gui, Add, Text, x25 y95 w120 h20 , x Gui, Add, Edit, x50 y95 w50 h20 vxpos, %xpos% Gui, Add, Text, x25 y115 ,y Gui, Add, Edit, x50 y115 w50 h20 vypos, %ypos% Gui, add, Checkbox, y145 x180 Checked%automoveback% Vautomoveback Gui, add, text, y145 x25,Move table back automatically Gui, Add, Text, x25 y165 ,Move table back manually Gui, Add, Edit, x180 y162 w50 h20 vmovebackByKey, %movebackByKey% Gui, Add, Button, x75 y315 w55 h20 gSave,Submit Gui, Add, Button, x135 y315 w55 h20 gCancel,Cancel Gui, Tab, Annoyances Gui, add, Checkbox, y55 x190 Checked%Autopost% VAutopost Gui, add, text, y55 x25,Auto post blinds Gui, add, Checkbox, y75 x190 Checked%Waitbb% VWaitbb Gui, add, text, y75 x25,Uncheck wait for big blind Gui, add, Checkbox, y100 x190 Checked%CheckWhenFree% VCheckWhenFree Gui, add, text, y100 x25,Never fold for free Gui, add, Checkbox, y120 x250 Checked%closeOKwindow% VcloseOKwindow Gui, add, text, y120 x25,Close PokerStars windows with just OK button Gui, add, Checkbox, y160 x90 Checked%Buyin% VBuyin Gui, add, text, y160 x25,Auto Buy-in Gui, Add, Radio, x120 y150 w100 h20 Checked%max% vmax, Maximum Gui, Add, Radio, x120 y170 w120 h20 Checked%remembered% vremembered, Remembered/default Gui, Add, Radio, x120 y190 w20 h20 Checked%xbb% vxbb Gui, Add, Edit, x140 y190 w30 h20 vbbmultiplier, %bbmultiplier% Gui, Add, Text, x170 y193,BB Gui, add, Checkbox, y220 x190 Checked%TakeSeat% VTakeSeat Gui, add, text, y220 x25,Auto Take Seat (from waiting list) Gui, add, Checkbox, y240 x190 Checked%AutoReservedSeat% VAutoReservedSeat Gui, add, text, y240 x55,Auto take reserved seat Gui, add, Checkbox, y265 x190 Checked%autoTakeSeat% VautoTakeSeat Gui, add, text, y265 x25,Auto Seat on new table Gui, add, Checkbox, y290 x190 Checked%leavetable% Vleavetable Gui, add, text, y290 x25,Auto leaving table confirmation Gui, Add, Button, x75 y365 w55 h20 gSave,Submit Gui, Add, Button, x135 y365 w55 h20 gCancel,Cancel Gui, Tab, Time Gui, add, Checkbox, y50 x220 Checked%ClickImBack% VClickImBack Gui, add, text, y50 x25,Click Im Back automatically Gui, Add, Text, x25 y70 ,Toggle Click Im Back Gui, Add, Edit, x220 y67 w50 h20 vToggleImBack, %ToggleImBack% Gui, add, Checkbox, y100 x180 Checked%Timebank% VTimebank Gui, add, text, y100 x25,Click Timebank automatically Gui, add, Text, w220 y115 x25, Time delay for pressing Time button Gui, add, DropDownList, w40 y107 x220 vInterval1, %ddlist1% Gui, Add, Text, x25 y150 ,Sitout on all tables Gui, Add, Edit, x220 y147 w50 h20 vSitOutNextAll, %SitOutNextAll% Gui, Add, Text, x25 y175 ,Remove sitout on all tables Gui, Add, Edit, x220 y172 w50 h20 vRemoveSitout, %RemoveSitout% Gui, Add, Text, x25 y220 ,Join waiting list on all tables Gui, Add, Edit, x220 y217 w50 h20 vjoinwaitlist, %joinwaitlist% Gui, Add, Text, x25 y245 ,Unjoin waiting list on all tables Gui, Add, Edit, x220 y242 w50 h20 vunjoinwaitlist, %unjoinwaitlist% Gui, Add, Text, x25 y275 ,Uncheck auto post blinds on all tables Gui, Add, Edit, x220 y272 w50 h20 vUncheckAutopostAll, %UncheckAutopostAll% Gui, Add, Button, x75 y415 w55 h20 gSave,Submit Gui, Add, Button, x135 y415 w55 h20 gCancel,Cancel Gui, Tab, BetPot Gui, add, Checkbox, y55 x180 Checked%autopot% Vautopot Gui, add, text, y55 x25,Auto put bet into bet box Gui, Add, Text, x15 y70 ,Pre* Gui, Add, Edit, x15 y85 w25 h20 vPotDefPre, %PotDefPre% Gui, Add, Text, x45 y70 ,Flop* Gui, Add, Edit, x45 y85 w25 h20 vPotDefFlop, %PotDefFlop% Gui, Add, Text, x75 y70 ,Turn* Gui, Add, Edit, x75 y85 w25 h20 vPotDefTurn, %PotDefTurn% Gui, Add, Text, x105 y70 ,River* Gui, Add, Edit, x105 y85 w25 h20 vPotDefRiver, %PotDefRiver% Gui, Add, Text, x140 y70 ,Open Gui, add, DropDownList, w45 y85 x140 vOpenDef, %ddlist% Gui, Add, Text, x175 y70 ,Round(sb) Gui, add, Checkbox, y85 x200 Checked%RoundDef% VRoundDef Gui, Add, Text, x230 y70 ,Fix blinds Gui, add, Checkbox, y85 x250 Checked%FixDef% VFixDef Gui, Add, Edit, x60 y107 w80 h20 vpot1, %pot1% Gui, Add, Text, x15 y110 ,Pot1 Gui, Add, Text, x15 y130 ,Pre* Gui, Add, Edit, x15 y145 w25 h20 vPot1Pre, %Pot1Pre% Gui, Add, Text, x45 y130 ,Flop* Gui, Add, Edit, x45 y145 w25 h20 vPot1Flop, %Pot1Flop% Gui, Add, Text, x75 y130 ,Turn* Gui, Add, Edit, x75 y145 w25 h20 vPot1Turn, %Pot1Turn% Gui, Add, Text, x105 y130 ,River* Gui, Add, Edit, x105 y145 w25 h20 vPot1River, %Pot1River% Gui, Add, Text, x140 y130 ,Open Gui, add, DropDownList, w45 y145 x140 vOpen1, %ddlist% Gui, Add, Text, x175 y130 ,Round(sb) Gui, add, Checkbox, y145 x200 Checked%Round1% VRound1 Gui, Add, Text, x230 y130 ,Fix blinds Gui, add, Checkbox, y145 x250 Checked%Fix1% VFix1 Gui, Add, Edit, x60 y167 w80 h20 vpot2, %pot2% Gui, Add, Text, x15 y170 ,Pot2 Gui, Add, Edit, x15 y190 w25 h20 vPot2Pre, %Pot2Pre% Gui, Add, Edit, x45 y190 w25 h20 vPot2Flop, %Pot2Flop% Gui, Add, Edit, x75 y190 w25 h20 vPot2Turn, %Pot2Turn% Gui, Add, Edit, x105 y190 w25 h20 vPot2River, %Pot2River% Gui, add, DropDownList, w45 y190 x140 vOpen2, %ddlist% Gui, add, Checkbox, y190 x200 Checked%Round2% VRound2 Gui, add, Checkbox, y190 x250 Checked%Fix2% VFix2 Gui, Add, Edit, x60 y212 w80 h20 vpot3, %pot3% Gui, Add, Text, x15 y215 ,Pot3 Gui, Add, Edit, x15 y235 w25 h20 vPot3Pre, %Pot3Pre% Gui, Add, Edit, x45 y235 w25 h20 vPot3Flop, %Pot3Flop% Gui, Add, Edit, x75 y235 w25 h20 vPot3Turn, %Pot3Turn% Gui, Add, Edit, x105 y235 w25 h20 vPot3River, %Pot3River% Gui, add, DropDownList, w45 y235 x140 vOpen3, %ddlist% Gui, add, Checkbox, y235 x200 Checked%Round3% VRound3 Gui, add, Checkbox, y235 x250 Checked%Fix3% VFix3 Gui, add, Checkbox, y260 x210 Checked%autobet% Vautobet Gui, add, text, y260 x55,Additionally press bet button Gui, Add, Edit, x80 y282 w40 h20 vincr1, %incr1% Gui, Add, Text, x15 y285 ,Increase by Gui, Add, Radio, x125 y280 w40 h15 Checked%bb1% vbb1,bb Gui, Add, Radio, x125 y295 w40 h15 Checked%sb1% vsb1,sb Gui, Add, Edit, x190 y282 w80 h20 valt1, %alt1% Gui, Add, Edit, x80 y312 w40 h20 vincr2, %incr2% Gui, Add, Text, x15 y315 ,Decrease by Gui, Add, Radio, x125 y310 w40 h15 Checked%bb2% vbb2,bb Gui, Add, Radio, x125 y325 w40 h15 Checked%sb2% vsb2,sb Gui, Add, Edit, x190 y312 w80 h20 valt2, %alt2% Gui, Add, Edit, x80 y342 w40 h20 vincr3, %incr3% Gui, Add, Text, x15 y345 ,Increase by Gui, Add, Radio, x125 y340 w40 h15 Checked%bb3% vbb3,bb Gui, Add, Radio, x125 y355 w40 h15 Checked%sb3% vsb3,sb Gui, Add, Edit, x190 y342 w80 h20 valt3, %alt3% Gui, Add, Edit, x80 y372 w40 h20 vincr4, %incr4% Gui, Add, Text, x15 y375 ,Decrease by Gui, Add, Radio, x125 y370 w40 h15 Checked%bb4% vbb4,bb Gui, Add, Radio, x125 y385 w40 h15 Checked%sb4% vsb4,sb Gui, Add, Edit, x190 y372 w80 h20 valt4, %alt4% Gui, Add, Text, x15 y410 ,Attempts to read Pot amount from screen Gui, Add, Edit, x230 y407 w25 h20 vattempts, %attempts% Gui, Add, Text, x15 y440 ,* Pot percent Gui, Add, Button, x75 y465 w55 h20 gSave,Submit Gui, Add, Button, x135 y465 w55 h20 gCancel,Cancel Gui, Tab, Table hotkeys Gui, Add, Edit, x180 y67 w50 h20 vfold, %fold% Gui, Add, Text, x25 y70 ,Fold Gui, Add, Edit, x180 y87 w50 h20 vcall, %call% Gui, Add, Text, x25 y90 ,Check/Call Gui, Add, Edit, x180 y107 w50 h20 vraise, %raise% Gui, Add, Text, x25 y110 ,Bet/Raise Gui, Add, Edit, x180 y127 w50 h20 vfold2any, %fold2any% Gui, Add, Text, x25 y130 ,Fold to any Gui, Add, Button, x75 y315 w55 h20 gSave,Submit Gui, Add, Button, x135 y315 w55 h20 gCancel,Cancel gosub,getini Gui, show, w306, %thisahk% Return ;----------------------------------------------------------------------------------------------------- GetIni: IfNotExist, %thisahk%.ini gosub, CreateIni IniRead, ClassicTheme,%thisahk%.ini, Options, ClassicTheme,0 IniRead, HyperSimpleTheme,%thisahk%.ini, Options, HyperSimpleTheme,0 IniRead, SlickTheme,%thisahk%.ini, Options, SlickTheme,0 IniRead, BlackTheme,%thisahk%.ini, Options, BlackTheme,0 IniRead, Highlight, %thisahk%.ini, Settings, Highlight, 0 IniRead, highlighthero, %thisahk%.ini, Options, highlighthero, 0 IniRead, highlightactive, %thisahk%.ini, Options, highlightactive, 0 IniRead, MoveMouse, %thisahk%.ini, Settings, MoveMouse, 0 IniRead, stealfocus, %thisahk%.ini, Settings, stealfocus, 0 IniRead, suspendforchat, %thisahk%.ini, Settings, suspendforchat, 0 IniRead, suspendforchatall, %thisahk%.ini, Settings, suspendforchatall, 0 IniRead, ActOnActiveTable, %thisahk%.ini, Options, ActOnActiveTable, 0 IniRead, sendundermouse, %thisahk%.ini, Options, sendundermouse, 0 IniRead, activatetableundermouse, %thisahk%.ini, Settings, activatetableundermouse, 0 IniRead, ActivateBottomWindow, %thisahk%.ini, Hotkeys, ActivateBottomWindow,%A_Space% if ActivateBottomWindow Hotkey, %ActivateBottomWindow%,ActivateBottomWindow IniRead, findtabletoact, %thisahk%.ini, Hotkeys, findtabletoact,%A_Space% if findtabletoact Hotkey, %findtabletoact%,findtabletoact IniRead, suspend, %thisahk%.ini, Hotkeys, suspend,%A_Space% if suspend Hotkey, %suspend%,suspend IniRead, TogglePause, %thisahk%.ini, Hotkeys, TogglePause,%A_Space% if TogglePause Hotkey, %TogglePause%,TogglePause IniRead, CloseAllWithNoAction, %thisahk%.ini, Hotkeys, CloseAllWithNoAction,%A_Space% if CloseAllWithNoAction Hotkey, %CloseAllWithNoAction%,CloseAllWithNoAction IniRead, Cashier, %thisahk%.ini, Hotkeys, Cashier,%A_Space% if Cashier Hotkey, %Cashier%,Cashier IniRead, layout1, %thisahk%.ini, Hotkeys, layout1,%A_Space% if layout1 Hotkey, %layout1%,layout1 IniRead, layout2, %thisahk%.ini, Hotkeys, layout2,%A_Space% if layout2 Hotkey, %layout2%,layout2 IniRead, layout3, %thisahk%.ini, Hotkeys, layout3,%A_Space% if layout3 Hotkey, %layout3%,layout3 IniRead, JoinWaitlistlobby, %thisahk%.ini, Hotkeys, JoinWaitlistlobby,%A_Space% if JoinWaitlistlobby Hotkey, %JoinWaitlistlobby%,JoinWaitlistlobby IniRead, JoinWaitlistlobbyGroup, %thisahk%.ini, Hotkeys, JoinWaitlistlobbyGroup,%A_Space% if JoinWaitlistlobbyGroup Hotkey, %JoinWaitlistlobbyGroup%,JoinWaitlistlobbyGroup IniRead, waitlists, %thisahk%.ini, Settings, waitlists, 0 IniRead, ClickImBack, %thisahk%.ini, Settings, ClickImBack, 0 IniRead, Toggleimback, %thisahk%.ini, Hotkeys, Toggleimback,%A_Space% IniRead, TakeSeat, %thisahk%.ini, Settings, TakeSeat, 0 IniRead, autoTakeSeat, %thisahk%.ini, Settings, autoTakeSeat, 0 IniRead, AutoReservedSeat, %thisahk%.ini, Settings, AutoReservedSeat, 0 IniRead, Timebank, %thisahk%.ini, Settings, Timebank, 0 IniRead, Interval1, %thisahk%.ini, Settings, Interval1 StringReplace, ddlist1, ddlist1, %interval1%, %Interval1%| GuiControl, , Interval1, |%ddlist1% StringReplace, ddlist1, ddlist1, %interval1%|, %Interval1% IniRead, Autopost, %thisahk%.ini, Settings, Autopost, 0 IniRead, Waitbb, %thisahk%.ini, Settings, Waitbb, 0 IniRead, CheckWhenFree, %thisahk%.ini, Settings, CheckWhenFree, 0 IniRead, checkbb, %thisahk%.ini, Settings, checkbb, 0 IniRead, uncheckbb, %thisahk%.ini, Settings, uncheckbb, 0 IniRead, closeOKwindow, %thisahk%.ini, Settings, closeOKwindow, 0 IniRead, Buyin, %thisahk%.ini, Settings, Buyin, 0 IniRead, max, %thisahk%.ini, Settings, max, 0 IniRead, remembered, %thisahk%.ini, Settings, remembered, 0 IniRead, xbb, %thisahk%.ini, Settings, xbb, 0 IniRead, bbmultiplier, %thisahk%.ini, Variables, bbmultiplier,0 IniRead, SitOutNextAll, %thisahk%.ini, Hotkeys, SitOutNextAll,%A_Space% IniRead, RemoveSitout, %thisahk%.ini, Hotkeys, RemoveSitout,%A_Space% IniRead, joinwaitlist, %thisahk%.ini, Hotkeys, joinwaitlist,%A_Space% IniRead, unjoinwaitlist, %thisahk%.ini, Hotkeys, unjoinwaitlist,%A_Space% IniRead, UncheckAutopostAll, %thisahk%.ini, Hotkeys, UncheckAutopostAll,%A_Space% if SitOutNextAll Hotkey, %SitOutNextAll%,SitOutNextAll if RemoveSitout Hotkey, %RemoveSitout%,RemoveSitout if joinwaitlist Hotkey, %joinwaitlist%,joinwaitlist if Unjoinwaitlist Hotkey, %Unjoinwaitlist%,Unjoinwaitlist if UncheckAutopostAll Hotkey, %UncheckAutopostAll%,UncheckAutopostAll If Toggleimback { HotKey, IfWinActive Hotkey, %Toggleimback%, Toggleimback } IniRead, leavetable, %thisahk%.ini, Settings, leavetable,0 IniRead, move, %thisahk%.ini, Settings, move, 0 IniRead, automoveback, %thisahk%.ini, Settings, automoveback, 0 IniRead, movebackByKey, %thisahk%.ini, Hotkeys, movebackByKey,%A_Space% IniRead, ypos, %thisahk%.ini, Variables, ypos,0 IniRead, xpos, %thisahk%.ini, Variables, xpos,0 if MoveBackByKey Hotkey, %MoveBackByKey%,MoveBackByKey IniRead, OpenDef, %thisahk%.ini, BetPotSettings, OpenDef StringReplace, ddlist, ddlist, %OpenDef%, %OpenDef%| GuiControl, , OpenDef, |%ddlist% StringReplace, ddlist, ddlist, %OpenDef%|, %OpenDef% IniRead, RoundDef, %thisahk%.ini, BetPotSettings, RoundDef, 0 IniRead, FixDef, %thisahk%.ini, BetPotSettings, FixDef, 0 IniRead, PotDefPre, %thisahk%.ini, BetPotSettings, PotDefPre, 0 IniRead, PotDefFlop, %thisahk%.ini, BetPotSettings, PotDefFlop, 0 IniRead, PotDefTurn, %thisahk%.ini, BetPotSettings, PotDefTurn, 0 IniRead, PotDefRiver, %thisahk%.ini, BetPotSettings, PotDefRiver, 0 IniRead, Open1, %thisahk%.ini, BetPotSettings, Open1 StringReplace, ddlist, ddlist, %Open1%, %Open1%| GuiControl, , Open1, |%ddlist% StringReplace, ddlist, ddlist, %Open1%|, %Open1% IniRead, Round1, %thisahk%.ini, BetPotSettings, Round1, 0 IniRead, Fix1, %thisahk%.ini, BetPotSettings, Fix1, 0 IniRead, Pot1Pre, %thisahk%.ini, BetPotSettings, Pot1Pre, 0 IniRead, Pot1Flop, %thisahk%.ini, BetPotSettings, Pot1Flop, 0 IniRead, Pot1Turn, %thisahk%.ini, BetPotSettings, Pot1Turn, 0 IniRead, Pot1River, %thisahk%.ini, BetPotSettings, Pot1River, 0 IniRead, pot1, %thisahk%.ini, BetPotHotkeys, pot1,%A_Space% if pot1 { ;HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass HotKey, IfWinActive Hotkey, %pot1%,pot1 } IniRead, Open2, %thisahk%.ini, BetPotSettings, Open2 StringReplace, ddlist, ddlist, %Open2%, %Open2%| GuiControl, , Open2, |%ddlist% StringReplace, ddlist, ddlist, %Open2%|, %Open2% IniRead, Round2, %thisahk%.ini, BetPotSettings, Round2, 0 IniRead, Fix2, %thisahk%.ini, BetPotSettings, Fix2, 0 IniRead, Pot2Pre, %thisahk%.ini, BetPotSettings, Pot2Pre, 0 IniRead, Pot2Flop, %thisahk%.ini, BetPotSettings, Pot2Flop, 0 IniRead, Pot2Turn, %thisahk%.ini, BetPotSettings, Pot2Turn, 0 IniRead, Pot2River, %thisahk%.ini, BetPotSettings, Pot2River, 0 IniRead, pot2, %thisahk%.ini, BetPotHotkeys, pot2,%A_Space% if pot2 { ;HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass HotKey, IfWinActive Hotkey, %pot2%,pot2 } IniRead, Open3, %thisahk%.ini, BetPotSettings, Open3 StringReplace, ddlist, ddlist, %Open3%, %Open3%| GuiControl, , Open3, |%ddlist% StringReplace, ddlist, ddlist, %Open3%|, %Open3% IniRead, Round3, %thisahk%.ini, BetPotSettings, Round3, 0 IniRead, Fix3, %thisahk%.ini, BetPotSettings, Fix3, 0 IniRead, Pot3Pre, %thisahk%.ini, BetPotSettings, Pot3Pre, 0 IniRead, Pot3Flop, %thisahk%.ini, BetPotSettings, Pot3Flop, 0 IniRead, Pot3Turn, %thisahk%.ini, BetPotSettings, Pot3Turn, 0 IniRead, Pot3River, %thisahk%.ini, BetPotSettings, Pot3River, 0 IniRead, pot3, %thisahk%.ini, BetPotHotkeys, pot3,%A_Space% if pot3 { ;HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass HotKey, IfWinActive Hotkey, %pot3%,pot3 } IniRead, incr1, %thisahk%.ini, BetPotSettings, incr1, 0 IniRead, bb1, %thisahk%.ini, BetPotSettings, bb1, 0 IniRead, sb1, %thisahk%.ini, BetPotSettings, sb1, 0 IniRead, alt1, %thisahk%.ini, BetPotHotkeys, alt1, %A_Space% if alt1 { HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass Hotkey, %alt1%,alt1 } IniRead, incr2, %thisahk%.ini, BetPotSettings, incr2, 0 IniRead, bb2, %thisahk%.ini, BetPotSettings, bb2, 0 IniRead, sb2, %thisahk%.ini, BetPotSettings, sb2, 0 IniRead, alt2, %thisahk%.ini, BetPotHotkeys, alt2, %A_Space% if alt2 { HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass Hotkey, %alt2%,alt2 } IniRead, incr3, %thisahk%.ini, BetPotSettings, incr3, 0 IniRead, bb3, %thisahk%.ini, BetPotSettings, bb3, 0 IniRead, sb3, %thisahk%.ini, BetPotSettings, sb3, 0 IniRead, alt3, %thisahk%.ini, BetPotHotkeys, alt3, %A_Space% if alt3 { HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass Hotkey, %alt3%,alt3 } IniRead, incr4, %thisahk%.ini, BetPotSettings, incr4, 0 IniRead, bb4, %thisahk%.ini, BetPotSettings, bb4, 0 IniRead, sb4, %thisahk%.ini, BetPotSettings, sb4, 0 IniRead, alt4, %thisahk%.ini, BetPotHotkeys, alt4, %A_Space% if alt4 { HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass Hotkey, %alt4%,alt4 } IniRead, autopot, %thisahk%.ini, BetPotSettings, autopot, 0 IniRead, autobet, %thisahk%.ini, BetPotSettings, autobet, 0 IniRead, attempts, %thisahk%.ini, Variables, attempts, 0 IniRead, fold, %thisahk%.ini, Hotkeys, fold,%A_Space% IniRead, call, %thisahk%.ini, Hotkeys, call,%A_Space% IniRead, raise, %thisahk%.ini, Hotkeys, raise,%A_Space% IniRead, fold2any, %thisahk%.ini, Hotkeys, fold2any,%A_Space% if fold { ;HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass HotKey, IfWinActive Hotkey, %fold%,fold } if call { ;HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass HotKey, IfWinActive Hotkey, %call%,call } if raise { ;HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass HotKey, IfWinActive Hotkey, %raise%,raise } if fold2any { ;HotKey, IfWinActive, ahk_class PokerStarsTableFrameClass HotKey, IfWinActive Hotkey, %fold2any%,fold2any } Return ;----------------------------------------------------------------------------------------------------- MakeIni: If ClassicTheme IniWrite, %ClassicTheme%, %thisahk%.ini, Options, ClassicTheme If HyperSimpleTheme IniWrite, %HyperSimpleTheme%, %thisahk%.ini, Options, HyperSimpleTheme If SlickTheme IniWrite, %SlickTheme%, %thisahk%.ini, Options, SlickTheme If BlackTheme IniWrite, %BlackTheme%, %thisahk%.ini, Options, BlackTheme IniWrite, %Highlight%, %thisahk%.ini, Settings, Highlight if highlighthero IniWrite, %highlighthero%, %thisahk%.ini, Options, highlighthero if highlightactive IniWrite, %highlightactive%, %thisahk%.ini, Options, highlightactive IniWrite, %MoveMouse%, %thisahk%.ini, Settings, MoveMouse IniWrite, %stealfocus%, %thisahk%.ini, Settings, stealfocus IniWrite, %suspendforchat%, %thisahk%.ini, Settings, suspendforchat IniWrite, %suspendforchatall%, %thisahk%.ini, Settings, suspendforchatall if ActOnActiveTable IniWrite, %ActOnActiveTable%, %thisahk%.ini, Options, ActOnActiveTable if sendundermouse IniWrite, %sendundermouse%, %thisahk%.ini, Options, sendundermouse IniWrite, %activatetableundermouse%, %thisahk%.ini, Settings, activatetableundermouse if ActivateBottomWindow IniWrite, %ActivateBottomWindow%, %thisahk%.ini, Hotkeys, ActivateBottomWindow if findtabletoact IniWrite, %findtabletoact%, %thisahk%.ini, Hotkeys, findtabletoact if suspend IniWrite, %suspend%, %thisahk%.ini, Hotkeys, suspend if TogglePause IniWrite, %TogglePause%, %thisahk%.ini, Hotkeys, TogglePause if CloseAllWithNoAction IniWrite, %CloseAllWithNoAction%, %thisahk%.ini, Hotkeys, CloseAllWithNoAction if Cashier IniWrite, %Cashier%, %thisahk%.ini, Hotkeys, Cashier if layout1 IniWrite, %layout1%, %thisahk%.ini, Hotkeys, layout1 if layout2 IniWrite, %layout2%, %thisahk%.ini, Hotkeys, layout2 if layout3 IniWrite, %layout3%, %thisahk%.ini, Hotkeys, layout3 if JoinWaitlistlobby IniWrite, %JoinWaitlistlobby%, %thisahk%.ini, Hotkeys, JoinWaitlistlobby if JoinWaitlistlobbyGroup IniWrite, %JoinWaitlistlobbyGroup%, %thisahk%.ini, Hotkeys, JoinWaitlistlobbyGroup IniWrite, %waitlists%, %thisahk%.ini, Settings, waitlists IniWrite, %ClickImBack%, %thisahk%.ini, Settings, ClickImBack IniWrite, %TakeSeat%, %thisahk%.ini, Settings, TakeSeat IniWrite, %autoTakeSeat%, %thisahk%.ini, Settings, autoTakeSeat IniWrite, %AutoReservedSeat%, %thisahk%.ini, Settings, AutoReservedSeat IniWrite, %Timebank%, %thisahk%.ini, Settings, Timebank IniWrite, %Interval1%, %thisahk%.ini, Settings, Interval1 IniWrite, %Autopost%, %thisahk%.ini, Settings, Autopost IniWrite, %Waitbb%, %thisahk%.ini, Settings, Waitbb IniWrite, %closeOKwindow%, %thisahk%.ini, Settings, closeOKwindow IniWrite, %CheckWhenFree%, %thisahk%.ini, Settings, CheckWhenFree IniWrite, %Buyin%, %thisahk%.ini, Settings, Buyin if max IniWrite, %max%, %thisahk%.ini, Settings, max if remembered IniWrite, %remembered%, %thisahk%.ini, Settings, remembered if xbb IniWrite, %xbb%, %thisahk%.ini, Settings, xbb IniWrite, %bbmultiplier%, %thisahk%.ini, Variables, bbmultiplier if SitOutNextAll IniWrite, %SitOutNextAll%, %thisahk%.ini, Hotkeys, SitOutNextAll if RemoveSitout IniWrite, %RemoveSitout%, %thisahk%.ini, Hotkeys, RemoveSitout if joinwaitlist IniWrite, %joinwaitlist%, %thisahk%.ini, Hotkeys, joinwaitlist if Unjoinwaitlist IniWrite, %unjoinwaitlist%, %thisahk%.ini, Hotkeys, unjoinwaitlist if UncheckAutopostAll IniWrite, %UncheckAutopostAll%, %thisahk%.ini, Hotkeys, UncheckAutopostAll if Toggleimback IniWrite, %Toggleimback%, %thisahk%.ini, Hotkeys, Toggleimback IniWrite, %leavetable%, %thisahk%.ini, Settings, leavetable IniWrite, %move%, %thisahk%.ini, Settings, move IniWrite, %automoveback%, %thisahk%.ini, Settings, automoveback if moveback IniWrite, %moveback%, %thisahk%.ini, Hotkeys, moveback if MoveBackByKey IniWrite, %MoveBackByKey%, %thisahk%.ini, Hotkeys, MoveBackByKey IniWrite, %ypos%, %thisahk%.ini, Variables, ypos IniWrite, %xpos%, %thisahk%.ini, Variables, xpos IniWrite, %OpenDef%, %thisahk%.ini, BetPotSettings, OpenDef IniWrite, %RoundDef%, %thisahk%.ini, BetPotSettings, RoundDef IniWrite, %FixDef%, %thisahk%.ini, BetPotSettings, FixDef IniWrite, %PotDefPre%, %thisahk%.ini, BetPotSettings, PotDefPre IniWrite, %PotDefFlop%, %thisahk%.ini, BetPotSettings, PotDefFlop IniWrite, %PotDefTurn%, %thisahk%.ini, BetPotSettings, PotDefTurn IniWrite, %PotDefRiver%, %thisahk%.ini, BetPotSettings, PotDefRiver IniWrite, %Open1%, %thisahk%.ini, BetPotSettings, Open1 IniWrite, %Round1%, %thisahk%.ini, BetPotSettings, Round1 IniWrite, %Fix1%, %thisahk%.ini, BetPotSettings, Fix1 IniWrite, %Pot1Pre%, %thisahk%.ini, BetPotSettings, Pot1Pre IniWrite, %Pot1Flop%, %thisahk%.ini, BetPotSettings, Pot1Flop IniWrite, %Pot1Turn%, %thisahk%.ini, BetPotSettings, Pot1Turn IniWrite, %Pot1River%, %thisahk%.ini, BetPotSettings, Pot1River if pot1 IniWrite, %pot1%, %thisahk%.ini, BetPotHotkeys, pot1 IniWrite, %Open2%, %thisahk%.ini, BetPotSettings, Open2 IniWrite, %Round2%, %thisahk%.ini, BetPotSettings, Round2 IniWrite, %Fix2%, %thisahk%.ini, BetPotSettings, Fix2 IniWrite, %Pot2Pre%, %thisahk%.ini, BetPotSettings, Pot2Pre IniWrite, %Pot2Flop%, %thisahk%.ini, BetPotSettings, Pot2Flop IniWrite, %Pot2Turn%, %thisahk%.ini, BetPotSettings, Pot2Turn IniWrite, %Pot2River%, %thisahk%.ini, BetPotSettings, Pot2River if pot2 IniWrite, %pot2%, %thisahk%.ini, BetPotHotkeys, pot2 IniWrite, %Open3%, %thisahk%.ini, BetPotSettings, Open3 IniWrite, %Round3%, %thisahk%.ini, BetPotSettings, Round3 IniWrite, %Fix3%, %thisahk%.ini, BetPotSettings, Fix3 IniWrite, %Pot3Pre%, %thisahk%.ini, BetPotSettings, Pot3Pre IniWrite, %Pot3Flop%, %thisahk%.ini, BetPotSettings, Pot3Flop IniWrite, %Pot3Turn%, %thisahk%.ini, BetPotSettings, Pot3Turn IniWrite, %Pot3River%, %thisahk%.ini, BetPotSettings, Pot3River if pot3 IniWrite, %pot3%, %thisahk%.ini, BetPotHotkeys, pot3 IniWrite, %incr1%, %thisahk%.ini, BetPotSettings, incr1 if bb1 IniWrite, %bb1%, %thisahk%.ini, BetPotSettings, bb1 if sb1 IniWrite, %sb1%, %thisahk%.ini, BetPotSettings, sb1 if alt1 IniWrite, %alt1%, %thisahk%.ini, BetPotHotkeys, alt1 IniWrite, %incr2%, %thisahk%.ini, BetPotSettings, incr2 if bb2 IniWrite, %bb2%, %thisahk%.ini, BetPotSettings, bb2 if sb2 IniWrite, %sb2%, %thisahk%.ini, BetPotSettings, sb2 if alt2 IniWrite, %alt2%, %thisahk%.ini, BetPotHotkeys, alt2 IniWrite, %incr3%, %thisahk%.ini, BetPotSettings, incr3 if bb3 IniWrite, %bb3%, %thisahk%.ini, BetPotSettings, bb3 if sb3 IniWrite, %sb3%, %thisahk%.ini, BetPotSettings, sb3 if alt3 IniWrite, %alt3%, %thisahk%.ini, BetPotHotkeys, alt3 IniWrite, %incr4%, %thisahk%.ini, BetPotSettings, incr4 if bb4 IniWrite, %bb4%, %thisahk%.ini, BetPotSettings, bb4 if sb4 IniWrite, %sb4%, %thisahk%.ini, BetPotSettings, sb4 if alt4 IniWrite, %alt4%, %thisahk%.ini, BetPotHotkeys, alt4 IniWrite, %autopot%, %thisahk%.ini, BetPotSettings, autopot IniWrite, %autobet%, %thisahk%.ini, BetPotSettings, autobet IniWrite, %attempts%, %thisahk%.ini, Variables, attempts if fold IniWrite, %fold%, %thisahk%.ini, Hotkeys, fold if call IniWrite, %call%, %thisahk%.ini, Hotkeys, call if raise IniWrite, %raise%, %thisahk%.ini, Hotkeys, raise if fold2any IniWrite, %fold2any%, %thisahk%.ini, Hotkeys, fold2any Return ;----------------------------------------------------------------------------------------------------- CreateIni: HyperSimpleTheme:=1 ClassicTheme:=0 SlickTheme:=0 BlackTheme:=0 Highlight:=0 highlightactive:=1 highlighthero:=0 MoveMouse:=0 stealfocus:=1 ActOnActiveTable:=1 sendundermouse:=0 activatetableundermouse:=0 suspendforchat:=0 suspendforchatall:=0 waitlists:=5 TakeSeat:=0 autoTakeSeat:=0 AutoReservedSeat:=0 Timebank:=0 Interval1:=1 Autopost:=0 Waitbb:=0 closeOKwindow:=1 CheckWhenFree:=1 Buyin:=0 remembered:=1 bbmultiplier:=50 ClickImBack:=0 leavetable:=0 move:=0 automoveback:=0 xpos:=100 ypos:=100 autopot:=0 autobet:=0 OpenDef=ssnl Open1=ssnl Open2=trny Open3=---- RoundDef:=1 Round1:=1 Round2:=1 Round3:=1 fixDef:=1 fix1:=1 fix2:=1 fix3:=1 PotDefPre:=75 PotDefFlop:=75 PotDefTurn:=66 PotDefRiver:=66 Pot1Pre:=75 Pot1Flop:=75 Pot1Turn:=66 Pot1River:=66 Pot2Pre:=100 Pot2Flop:=80 Pot2Turn:=80 Pot2River:=80 Pot3Pre:=999 Pot3Flop:=100 Pot3Turn:=100 Pot3River:=100 Pot1=mbutton Pot2=xbutton1 Pot3=xbutton2 incr1:=1 incr2:=1 incr3:=1 incr4:=1 bb1:=1 sb1:=0 bb2:=1 sb2:=0 bb3:=0 sb3:=1 bb4:=0 sb4:=1 alt1=wheelup alt2=wheeldown alt3=^wheelup alt4=^wheeldown attempts:=1 gosub, MakeIni gosub, buildgui return ;----------------------------------------------------------------------------------------------------- GuiClose: gosub, cancel return ;----------------------------------------------------------------------------------------------------- menuGui: gosub, getini winget,id,id, %thisahk% ahk_class AutoHotkeyGUI if !DllCall( "IsWindowVisible", "UInt",id) gosub, buildgui else winactivate,ahk_id%id% Gui, Submit,nohide return ;----------------------------------------------------------------------------------------------------- reload: reload return ;----------------------------------------------------------------------------------------------------- Save: Gui, Submit FileDelete, %thisahk%.ini gosub, MakeIni Reload return ;----------------------------------------------------------------------------------------------------- Cancel: Gui, Destroy Return ;----------------------------------------------------------------------------------------------------- TogglePause: pause,toggle return ;----------------------------------------------------------------------------------------------------- Suspend: suspend if A_IsSuspended=0 { suspended=Off } else { suspended=On } Gui, 13:Add, Text,,Suspend: %suspended% Gui, 13:+ToolWindow Gui, 13:Show, w150 h20 Sleep, 1500 Gui, 13:Destroy return ;----------------------------------------------------------------------------------------------------- Edit: edit return ;----------------------------------------------------------------------------------------------------- donation: WinMenuSelectItem, PokerStars Lobby,, Requests, Transfer Funds... WinWait, Transfer Funds ahk_class #32770, , 10 WinGet, tf, id ControlFocus, Edit2, ahk_id%tf% ControlSetText, Edit2, Max1mums ControlFocus, Edit1, ahk_id%tf% Sleep, -1 ControlSetText, Edit1, GuiControl, Disable, Donate return ;----------------------------------------------------------------------------------------------------- exitSub: exitApp return ;-----------------------------------------------------------------------------------------------------
Put StarsPics folder to the folder with ahk file.
Don't forget to choose correct table theme on General tab.
BetPot function won't be efficient with aero theme on, easiest way to disable aero theme just for PokerStars: rightclick PokerStarsUpdate.exe, choose Properties - Compatibility - Disable desktop composition.
02-15-2010
, 01:44 PM
Join Date: May 2007
Posts: 21
hi Max1mums can you explain "clase all tables with hero not in hand" function?? For exemple, if i want to play only 6 tables and push the key for this fuction, starcash will kill the tables where i'm not playing in? If not it'll be possible something that kills tables?
thanks in advance!!!
thanks in advance!!!
02-15-2010
, 02:23 PM
Join Date: Aug 2009
Posts: 1,700
This function will check sitout next hand checkbox on all tables and close tables with i'm back button visible then (it will be visible with hero not in a hand only).
02-15-2010
, 04:50 PM
Since the latest update I seem to be posting out of position at some tables. My configuration is below, I'm playing fullring tables.

02-15-2010
, 05:13 PM
Join Date: Aug 2009
Posts: 1,700
Posting out of position? What does that mean? )
02-15-2010
, 05:21 PM
When I take a seat at a new table its posting my blind immediately rather than waiting for the big blind. Its not happening at every table but quite a few.
02-15-2010
, 05:28 PM
Join Date: Aug 2009
Posts: 1,700
Does it happen on random table or on fast/normal?
02-15-2010
, 05:50 PM
Just tried a few tables now, the problem seems to occur at normal speed tables only.
02-16-2010
, 09:54 AM
Join Date: Apr 2007
Posts: 935
For the sitting out detection:
Why do you do an extra pixelsearch for existance of the "Join Waiting List" button?
Isnt it better to just read the table's title bar for "Logged In as", if its in there, there can't be a "Join Waiting List" button (because the player is sitting at the table already) and the player can only be sitting out if there's "Logged In as" in the title bar.
Correct me if Im wrong.
Why do you do an extra pixelsearch for existance of the "Join Waiting List" button?
Isnt it better to just read the table's title bar for "Logged In as", if its in there, there can't be a "Join Waiting List" button (because the player is sitting at the table already) and the player can only be sitting out if there's "Logged In as" in the title bar.
Correct me if Im wrong.
02-16-2010
, 09:56 AM
Join Date: Aug 2009
Posts: 1,700
Thois, that function was taken from StarsHotkeys as is, thanks for your idea though )
02-17-2010
, 07:12 AM
Join Date: Oct 2009
Posts: 50
I joint normal speed FR cash table from waiting list, auto take seat and I want script to click "wait for big blind" but then it is my turn to post big blind I want to do it manualy or sit out (e.g. there are lots of short stackers)
02-17-2010
, 07:59 AM
Join Date: Aug 2009
Posts: 1,700
You should uncheck "auto post blinds" option then, i didn't see any "wait for big blinds" checkbox on normal speed tables so script can't click it for you.
02-17-2010
, 08:17 AM
Join Date: Oct 2009
Posts: 50
how didn't You see?

02-17-2010
, 08:21 AM
Join Date: Aug 2009
Posts: 1,700
That is button and not checkbox, how should i determine if that is "wait for bb" button or "check/call" button? Anyway you can turn auto post off and deal with it manually.
02-17-2010
, 08:29 AM
Join Date: Oct 2009
Posts: 50
Thank You, now I understand. Not very familiar with scripts. Because those 3 buttons shows everytime You join normal speed table I thougt it is possible to write a script for clicking the middle one. Table Ninja does it but also it checks "auto post blinds" which I don't need.
02-17-2010
, 08:53 AM
Join Date: Aug 2009
Posts: 1,700
I guess it can be determined as "wait for bb" if button is there but slider is not visible, maybe i'll add such option to the next version.
02-17-2010
, 09:27 AM
Join Date: Oct 2009
Posts: 50
That would be great.
Max1mums, are You familiar with TableNinja? They have this "Set Table Aside Hotkeys". Could You add this to Your script?
Max1mums, are You familiar with TableNinja? They have this "Set Table Aside Hotkeys". Could You add this to Your script?
Feedback is used for internal purposes. LEARN MORE
Powered by:
Hand2Note
Copyright ©2008-2022, Hand2Note Interactive LTD