Open Side Menu Go to the Top
Register
StarsCash - free script for PokerStars containing all functions cash player may need. StarsCash - free script for PokerStars containing all functions cash player may need.

02-17-2010 , 10:40 AM
No, i'm not using tableninja, what should "Set Table Aside" hotkey do, just move table to specified position or something else?
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
02-17-2010 , 01:36 PM
Quote:
Originally Posted by Max1mums
No, i'm not using tableninja, what should "Set Table Aside" hotkey do, just move table to specified position or something else?
Yes. But I found what I needed. Will wait for "wait for big blind" for normal tables feature.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
02-17-2010 , 04:38 PM
Max,

Great script. The unjoin all does not seem to be working for me. Also, can you have a setting for the number of tables to open? I play 24, but when I get all 24 open it keeps trying to open more.

Thanks,

jpack.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
02-17-2010 , 06:35 PM
Quote:
Originally Posted by Max1mums
Thois, that function was taken from StarsHotkeys as is, thanks for your idea though )
Oh OK
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
02-18-2010 , 08:40 AM
Very nice program, I was wondering is there a way to sort the stacked tables in alphabetical order?
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
02-19-2010 , 09:34 AM
I'll try to add your requests by small portions. I haven't been able to test these new options thoroughly so post here if anything has to be fixed.

StarsCash v1.42
  • Added option to limit total number of tables (will check "remove me from all other waitlists" and press "No" in Seat available window, will auto close manually opened table with limit reached)
  • Added option to press "wait for big blind" button on normal speed tables automatically

Code:
; #### StarsCash ####

; AHK version: 1.0.48.05
; date: February 19,2010
  version := "1.42"
; 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
if clickWaitbb
settimer,clickbb,1211

return
;-----------------------------------------------------------------------------------------------------
Init()
{
local list,id
winget,list,list,ahk_class PokerStarsTableFrameClass  ;Logged In 
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
 {
  if (limit=0) || ((limit=1) & (list<=totalnumber))
  {
   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
  }
  else
  if ((limit=1) & (list>totalnumber))
  winclose,ahk_id%id%
 }
}
}
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
;-----------------------------------------------------------------------------------------------------
clickbb:
clickwaitbb()
return

clickwaitbb()
{
global HyperSimpleTheme,ClassicTheme,SlickTheme,BlackTheme
winget,list,list,Logged In ahk_class PokerStarsTableFrameClass
loop %list%
{
 id:=list%A_index%
 wingettitle,title,ahk_id%id%
 ControlGet,vis,Visible,,PokerStarsSliderClass1,ahk_id%id%
 if !instr(title,"fast") & (vis!=1)
 {
  waitx1:=0.6962
  waity1:=0.9747
  waitx2:=0.6962
  waity2:=0.9908
  v:=30
  col:=PixelColorA(waitx1,waity1,id,0,waitx2,waity2,0)
  stringsplit,col,col,-
  if comparecolors(col1,col2,v)=0
  PostclickStars(waitx1,waity1,id,0)
 }
}
}
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
 winget, tablelist,list,ahk_class PokerStarsTableFrameClass
 Loop, %list%
 {
  This_id := list%A_Index%
  if tablelist<%totalnumber%
  {
   ControlFocus, Button2, ahk_id%this_id%
   Sleep, -1
   ControlSend, Button2, {SPACE}, ahk_id%this_id% 
  }
  else
  {
   Control, Check,,Button1, ahk_id%this_id% 
   Sleep, -1
   ControlSend, Button3, {SPACE}, ahk_id%this_id% 
  }
 }
 if tablelist<%totalnumber%
 {
 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, Text, x26 y345 ,Limit total number of tables to
Gui, Add, Edit, x170 y342 w30 h20 vtotalnumber, %totalnumber%
Gui, add, Checkbox, y345 x230 Checked%limit% Vlimit

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 x220 Checked%Autopost% VAutopost
Gui, add, text, y55 x25,Auto post blinds
Gui, add, Checkbox, y75 x220 Checked%Waitbb% VWaitbb
Gui, add, text, y75 x25,Uncheck wait for big blind (fast tables)
Gui, add, Checkbox, y95 x220 Checked%clickWaitbb% VclickWaitbb
Gui, add, text, y95 x25,Press wait for big blind (nonfast tables)
Gui, add, Checkbox, y120 x220 Checked%CheckWhenFree% VCheckWhenFree
Gui, add, text, y120 x25,Never fold for free

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, Checkbox, y320 x250 Checked%closeOKwindow% VcloseOKwindow
Gui, add, text, y320 x25,Close PokerStars windows with just OK button

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, totalnumber, %thisahk%.ini, Variables, totalnumber, 0
IniRead, limit, %thisahk%.ini, Settings, limit, 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, clickWaitbb, %thisahk%.ini, Settings, clickWaitbb, 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
IniWrite, %totalnumber%, %thisahk%.ini, Variables, totalnumber
IniWrite, %limit%, %thisahk%.ini, Settings, limit
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, %clickWaitbb%, %thisahk%.ini, Settings, clickWaitbb
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
limit:=0
totalnumber:=24
waitlists:=5
TakeSeat:=0
autoTakeSeat:=0
AutoReservedSeat:=0
Timebank:=0
Interval1:=1
Autopost:=0
Waitbb:=0
clickWaitbb:=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
;-----------------------------------------------------------------------------------------------------
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.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
02-24-2010 , 10:18 AM
this scrypt is almost perfect, the only thing that i don't like is that when i reach the maximum number of tables i want, ant the next table pop-up inmediately i unjoin all the waiting list, it's possible to solve this? thanks Max1mums, great job!!!
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
02-24-2010 , 10:22 AM
So you don't want to unjoin from all waitlists with total limit reached, what's the point?
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
02-24-2010 , 07:46 PM
the point is that i play shortstack then i enter and exit a lot of the tables. do you understand? then when i reach my confortable level of tables, in some minutes may be i close one table and open another one. I hope you can nderstand my explanation, my english is not very good at the moment.

Thanks for your quick response and for all you work!!
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
02-26-2010 , 03:08 AM
Thanks for the program Max1mus you have done a great job on it, makes multitabling so much easier. One feature I would suggest is a Hotkey to check the 'sit out next blind' box. This option only appears on the fast tables.

Thanks!
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-01-2010 , 04:34 AM
I've got problem with "Added option to press "wait for big blind" button on normal speed tables automatically"
Then new table pops up it sometimes presses, "call". Stacked. Hyper Simple.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-01-2010 , 06:37 AM
It shouldn't be pressed with betting slider not visible but if you say that it does... PM me screenshot of your table with Call button visible please. Are you sure that Call button is being pressed and not Wait for big blind?
Can anyone else confirm that problem?

Last edited by Max1mums; 03-01-2010 at 06:54 AM.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-01-2010 , 07:11 AM
Don't use this function then or use with caution, i wasn't sure if there was a safe way of implementing it.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-01-2010 , 01:31 PM
I will try it more later and report.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-01-2010 , 04:20 PM
I am testing and i have a problem with tha bet pot i choose ssnl but the bet size is 3BB + 1BB* limpers instead of 4bb+ 1(bb) *limpers
I tired to change the script but i couldn´t...
I wanto 4bb + 1bb *limpers how can i change that...
Thanks!!
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-01-2010 , 04:46 PM
Set pre to 100.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-01-2010 , 07:54 PM
Quote:
Originally Posted by Max1mums
It shouldn't be pressed with betting slider not visible but if you say that it does... PM me screenshot of your table with Call button visible please. Are you sure that Call button is being pressed and not Wait for big blind?
Can anyone else confirm that problem?
had the same problem, it happens when somebody open shove, so theres no bet slider just call or fold.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-02-2010 , 12:23 AM
Quote:
Originally Posted by Max1mums
Set pre to 100.
This works great, sometimes when i am in the bb and there is one limper it puts
45 in the box instead of 50
Another problem is the option "Uncheck Auto post blinds in all tables" is not working
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-02-2010 , 01:03 AM
This happened to me also. I was on the button, UTG+2 raised, MP re-raised all-in and apparently I insta-called. Didn't even get the chance to fold.

I'm using the latest version of your script and AutoHotKey with the "Slick" theme.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-02-2010 , 06:47 AM
I will remove this option then, don't see any way to determine if that is Call button or Wait for big blind button, maybe you guys have any ideas?
javirap, try checking/unchecking fix blinds option, auto post blinds checkbox was moved after recent update, i'll fix it.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-02-2010 , 07:41 AM
Please don't remove that option, is very usefull and only fails when you are in the bb and then you must adjust de amount but is a very very useful option
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-02-2010 , 08:15 AM
StarsCash 1.43
Fixed all functions with use of sitout/autopost checkboxes, uncheck autopost all function will press sitout next blind additionally on normal speed tables now, wait for bb function for normal speed tables was removed until i find a safe way of implementing it.

Code:
; #### StarsCash ####

; AHK version: 1.0.48.05
; date: March 02,2010
  version := "1.43"
; 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
if clickWaitbb
settimer,clickbb,1211

return
;-----------------------------------------------------------------------------------------------------
Init()
{
local list,id
winget,list,list,ahk_class PokerStarsTableFrameClass  ;Logged In 
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
 {
  if (limit=0) || ((limit=1) & (list<=totalnumber))
  {
   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
  }
  else
  if ((limit=1) & (list>totalnumber))
  winclose,ahk_id%id%
 }
}
}
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
;-----------------------------------------------------------------------------------------------------
clickbb:
clickwaitbb()
return

clickwaitbb()
{
global HyperSimpleTheme,ClassicTheme,SlickTheme,BlackTheme
winget,list,list,Logged In ahk_class PokerStarsTableFrameClass
loop %list%
{
 id:=list%A_index%
 wingettitle,title,ahk_id%id%
 ControlGet,vis,Visible,,PokerStarsSliderClass1,ahk_id%id%
 if !instr(title,"fast") & (vis!=1)
 {
  waitx1:=0.6962
  waity1:=0.9747
  waitx2:=0.6962
  waity2:=0.9908
  v:=30
  col:=PixelColorA(waitx1,waity1,id,0,waitx2,waity2,0)
  stringsplit,col,col,-
  if comparecolors(col1,col2,v)=0
  PostclickStars(waitx1,waity1,id,0)
 }
}
}
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,mini=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 mini
regiondim:=5
else
regiondim:=10
if region
{
loop %regiondim%
{
delta:=A_index
loop %regiondim%
{
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 %regiondim%
{
delta:=A_index
loop %regiondim%
{
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))
 {
  if SlickTheme
  {
   back_x:=0.0146
   back_y:=0.7148
  }
  else
  {
   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
if SlickTheme
{
sitx:=0.0115
sity:=0.7342
}
else
{
sitx:=0.0131
sity:=0.7000
}
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,0,0,0,1)
  if (instr(Sittingout,"-0-"))  ; & !(instr(Sittingout,"1710618"))  ; & !(instr(Sittingout,"16777215"))
  {
   PostClickStars(click_x, click_y, Z, 0) 
  }
 }  
 else
 {
  Sittingout:=PixelColorA(sitx,sity,Z,1,0,0,0,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%
Sittingout:=PixelColorA(back_x,back_y,id,1)
;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,,Logged In
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)
 }
;sleep,50
}
return
;-----------------------------------------------------------------------------------------------------
Unjoinwaitlist:
winget,list,list, ahk_class PokerStarsTableFrameClass,,Logged In
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)
 }
;sleep,50
}
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
 winget, tablelist,list,ahk_class PokerStarsTableFrameClass
 Loop, %list%
 {
  This_id := list%A_Index%
  if tablelist<%totalnumber%
  {
   ControlFocus, Button2, ahk_id%this_id%
   Sleep, -1
   ControlSend, Button2, {SPACE}, ahk_id%this_id% 
  }
  else
  {
   Control, Check,,Button1, ahk_id%this_id% 
   Sleep, -1
   ControlSend, Button3, {SPACE}, ahk_id%this_id% 
  }
 }
 if tablelist<%totalnumber%
 {
 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%
send {%fold%}
}
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%
send {%call%}
}
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%
send {%raise%}
}
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%
send {%fold2any%}
}
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, Text, x26 y345 ,Limit total number of tables to
Gui, Add, Edit, x170 y342 w30 h20 vtotalnumber, %totalnumber%
Gui, add, Checkbox, y345 x230 Checked%limit% Vlimit

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 x220 Checked%Autopost% VAutopost
Gui, add, text, y55 x25,Auto post blinds
Gui, add, Checkbox, y75 x220 Checked%Waitbb% VWaitbb
Gui, add, text, y75 x25,Uncheck wait for big blind (fast tables)
;Gui, add, Checkbox, y95 x220 Checked%clickWaitbb% VclickWaitbb
;Gui, add, text, y95 x25,Press wait for big blind (nonfast tables)
Gui, add, Checkbox, y120 x220 Checked%CheckWhenFree% VCheckWhenFree
Gui, add, text, y120 x25,Never fold for free

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, Checkbox, y320 x250 Checked%closeOKwindow% VcloseOKwindow
Gui, add, text, y320 x25,Close PokerStars windows with just OK button

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
Gui, Add, Text, x25 y290 ,and press Sit out next blind on all tables
Gui, Add, Edit, x220 y280 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, totalnumber, %thisahk%.ini, Variables, totalnumber, 0
IniRead, limit, %thisahk%.ini, Settings, limit, 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, clickWaitbb, %thisahk%.ini, Settings, clickWaitbb, 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
IniWrite, %totalnumber%, %thisahk%.ini, Variables, totalnumber
IniWrite, %limit%, %thisahk%.ini, Settings, limit
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, %clickWaitbb%, %thisahk%.ini, Settings, clickWaitbb
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
limit:=0
totalnumber:=24
waitlists:=5
TakeSeat:=0
autoTakeSeat:=0
AutoReservedSeat:=0
Timebank:=0
Interval1:=1
Autopost:=0
Waitbb:=0
clickWaitbb:=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
;-----------------------------------------------------------------------------------------------------
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.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-02-2010 , 08:17 AM
javirap,this function presses call button instead of wait for bb, just can't let it be this way. I've just commented lines 2350 and 2351, you can uncomment them manually if you still want to use that function.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-02-2010 , 10:05 AM
it is interesting how tableninja manages to work out correctly "wait for bb" for normal tables, maybe because it's not ahk script :/
StarsCash - free script for PokerStars containing all functions cash player may need. Quote
03-02-2010 , 10:56 AM
Why are you so sure that tableninja is not written on AHK? Programming language doesn't matter here, i need to find correct way to differentiate call button from wait for bb button, betting slider is not visible for wait bb button but it is not visible in allin situations for call button too so there must be some other thing to check, maybe check if cards were dealt to hero or so, make your suggestions.
StarsCash - free script for PokerStars containing all functions cash player may need. Quote

      
m