Open Side Menu Go to the Top
Register
Full Tilt Timebank Clicker Tool (Stacked): Free Full Tilt Timebank Clicker Tool (Stacked): Free

12-18-2009 , 11:25 AM
ill be working on that today although aero/off prob. wont help but we'll see...
maybe i can do something w/ the graphics card
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-18-2009 , 01:51 PM
Turning aero theme off removes flicker for me (W7) without changing process priority.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-19-2009 , 03:46 PM
Can anyone test my fulltilt timebank clicker version for creating lags/flicker?
Code:
#SingleInstance, Force
#NoEnv
Settitlematchmode, 2
OnExit exitSub

time_x:=0.9093
time_y:=0.7200
t1:=0xdedbde
v:=25
once:=true

loop
{
ifwinnotexist,FullTiltPoker ahk_class QWidget
{
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, High
  SetAffinity(FTP)
}
}
else
{
Process, Exist, FullTiltPoker.exe
Process, Priority, %FTP%, Normal
sleep,10000
reload
}
if once
{
id:=WinExist("Logged In ahk_class QWidget","","Full Tilt")
if id
{
t2:=PixelColorA(time_x,time_y,id)
once:=false
}
}
check(time_x,time_y)
sleep,1000
}

;-----------------------------------------------------------------------------------------------------
check(tx,ty)
{
global time_x,time_y,t1,t2,v
winget,listft,list,Logged In ahk_class QWidget,,Full Tilt
loop %listft%
{
id:=listft%A_index%
t:=PixelColorA(time_x,time_y,id)
if (CompareColors(t,t1,v)=false) & (CompareColors(t,t2,v)=false)
{
relFTClientPoint(id, tx, ty)
DllCall("SetCapture","Uint",id)
PostLeftDoubleClick(tx, ty, id, 0)
DllCall("ReleaseCapture")
}
}
}
return
;-----------------------------------------------------------------------------------------------------
relFTClientPoint(id, ByRef x, ByRef y)
{
 SysGet, xbord, 32 
 SysGet, ybord, 33
 SysGet, cap, 4
 WinGetPos, , , w, h, ahk_id%id%
 w := w - (2*xbord)
 h := h - (2*ybord) - cap
 Transform, X, Floor, W*x
 Transform, Y, Floor, H*y
}
return
;-----------------------------------------------------------------------------------------------------
PostLeftDoubleClick(x, y, table_id, activate=1) {
; ### Max1mums: Send the double left click, then the mouse-up messages,
; some windows can get activated on the down left click so we will use
; left doubleclick instead, don't use on objects which have any functions
; binded to doubleclick unless you want to make doubleclick on them
; 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%
PostMessage, 0x203 , 0, ((y<<16)^x), , ahk_id%table_id% ; without 0x001 as lparam which is Lbutton down
PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
}
return
;-----------------------------------------------------------------------------------------------------
PixelColorA(colxa,colya,id)
{
critical
SysGet, xbord, 32
SysGet, ybord, 33
SysGet, cap, 4
; Set up a DC
hdc_frame := DllCall( "GetDC", UInt, id )
hdc_buffer := DllCall("gdi32.dll\CreateCompatibleDC", UInt,  hdc_frame)
WinGetPos, X, Y, 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 )
WinGetPos, X, Y, W, H, ahk_id %id%
;Dllcall("Invalidatergn", "uint", id, "uint",Dllcall("SetWindowRgn", "uint", id, "uint",DllCall("gdi32.dll", "uint", "setRectRgn", "uint", x, "uint", y, "uint", w, "uint", h), "uint", 1), "uint", 1)
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
    {
;     ControlGetPos,ctrlx,ctrly,ctrlw,ctrlh,%class%,ahk_id %id%
;     Dllcall("Invalidatergn", "uint", ctrlid, "uint",Dllcall("SetWindowRgn", "uint", ctrlid, "uint",DllCall("gdi32.dll", "uint", "setRectRgn", "uint", ctrlx, "uint", ctrly, "uint", ctrlw, "uint", ctrlh), "uint", 1), "uint", 1)
;     WinSet, Redraw, , ahk_id%ctrlid% 
      DllCall("RedrawWindow",uint,ctrlid,uint,0,uint,0,uint, 1|16|32|64|2048)
    }
}
;WinSet, Redraw, , ahk_id%id%
DllCall("RedrawWindow",uint,id,uint,0,uint,0,uint, 1|16|32|64|1024) 
w := w - (2*xbord)
h := h - (2*ybord) - cap
Transform, x, Floor, W*colxa + xbord
Transform, y, Floor, H*colya + ybord + cap
pix := DllCall("GetPixel", UInt, hdc_buffer, Int, x , Int, y) 
SetFormat, IntegerFast, hex
pix += 0  ; (Sets Var which previously contained 11 to be 0xb)
pix .= "" ; Necessary due to the "fast" mode.
SetFormat, IntegerFast, d
DllCall( "gdi32.dll\DeleteObject", "uint", hbm_buffer )
DllCall( "gdi32.dll\ReleaseDC"    , "uint", hdc_frame )
DllCall( "gdi32.dll\DeleteDC"    , "uint", hdc_frame )
DllCall( "gdi32.dll\DeleteDC"    , "uint", hdc_buffer )
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
}
;-----------------------------------------------------------------------------------------------------
SetAffinity(pid, cpu=1)
{
  h := DllCall("OpenProcess", "UInt", 0x1F0FFF, "Int", false, "UInt", pid)
  DllCall("SetProcessAffinityMask", "UInt", h, "UInt", cpu)
  DllCall("CloseHandle", "UInt" h)
  return
}
;-----------------------------------------------------------------------------------------------------
exitSub:
  Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, Normal
  SetAffinity(FTP)
}
exitApp
;-----------------------------------------------------------------------------------------------------
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-20-2009 , 10:18 AM
Does this work for cascaded tiles and a mix of pot limit and No limit full ring.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-20-2009 , 11:55 AM
Should work for any FT table and any table position.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-21-2009 , 04:24 PM
Added option to choose time delay for pressing Time button, added GUI.
Code:
#SingleInstance, Force
#NoEnv
Settitlematchmode, 2
OnExit exitSub

StringTrimRight, thisahk, A_ScriptName, 4
SetWorkingDir %A_ScriptDir%

Menu, Tray, NoStandard
Menu, Tray, Add, Settings, menugui
Menu, Tray, Add, Reload, reload
Menu, Tray, Default, Settings
Menu, Tray, Add, Exit, ExitSub

boost:=false

SysGet, xbord, 32
SysGet, ybord, 33
SysGet, cap, 4

time_x:=0.9093
time_y:=0.7200
t1:=0xdedbde
v:=25
once:=true
tablequeue=
ddlist=
Loop 14
ddlist:=ddlist . A_index . "|"
gosub,getini

if flicker1
{
ifwinnotexist,FullTiltPoker ahk_class QWidget
{
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, High
}
}
else
{
Process, Priority, FullTiltPoker.exe, Normal
sleep,10000
reload
}
}
else
{
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, Normal
}
}

if flicker2
{
Process, Exist, AutoHotkey.exe
if (ErrorLevel)
{
  Ahk := ErrorLevel
;  SetAffinity(Ahk,0)
 SetAffinity(Ahk)
}
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
;  SetAffinity(FTP,0)
 SetAffinity(FTP)
}
}


;;;;;;;;;;;;End of init;;;;;;;;;;;;;;


settimer,clickwithdelay,100

loop
{
if once
{
id:=WinExist("Logged In ahk_class QWidget","","Full Tilt")
if id
{
t2:=PixelColorA(time_x,time_y,id)
once:=false
}
}
check(time_x,time_y)
sleep,500
}

;-----------------------------------------------------------------------------------------------------
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
;-----------------------------------------------------------------------------------------------------
clickwithdelay:
Loop, Parse, tablequeue, `,
{
interval:=interval1*1000
stringsplit,tab,A_loopfield,-
if abs(tab2-A_TickCount)>interval
{
tx:=time_x
ty:=time_y
relFTClientPoint(tab1, tx, ty)
DllCall("SetCapture","Uint",tab1)
PostLeftDoubleClick(tx, ty, tab1, 0)
DllCall("ReleaseCapture")
listDelItem(tablequeue, A_Loopfield) 
}
}
return
;-----------------------------------------------------------------------------------------------------
check(tx,ty)
{
global time_x,time_y,t1,t2,v,tablequeue
winget,listft,list,Logged In ahk_class QWidget,,Full Tilt
loop %listft%
{
id:=listft%A_index%
t:=PixelColorA(time_x,time_y,id)
if (CompareColors(t,t1,v)=false) & (CompareColors(t,t2,v)=false)
{
if !InStr(tablequeue,id)
{
time:=A_TickCount
movetolist(id,time)
}
}
else
if InStr(tablequeue,id)
removefromlist(id)
}
}
return
;-----------------------------------------------------------------------------------------------------
relFTClientPoint(id, ByRef x, ByRef y)
{
global xbord,ybord,cap
WinGetPos, , , w, h, ahk_id%id%
x:=floor(W-2*xbord)*x
y:=floor(H-(2*ybord)-cap)*y
}
return
;-----------------------------------------------------------------------------------------------------
PostLeftDoubleClick(x, y, table_id, activate=1) {
; ### Max1mums: Send the double left click, then the mouse-up messages,
; some windows can get activated on the down left click so we will use
; left doubleclick instead, don't use on objects which have any functions
; binded to doubleclick unless you want to make doubleclick on them
; 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%
PostMessage, 0x203 , 0, ((y<<16)^x), , ahk_id%table_id% ; without 0x001 as lparam which is Lbutton down
PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
}
return
;-----------------------------------------------------------------------------------------------------
PixelColorA(colxa,colya,id)
{
global boost,xbord,ybord,cap
if boost
critical,6
setwindelay, -1
hdc_frame := DllCall( "GetDC", "UInt", id )
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|16|32|64|2048)
}
DllCall("RedrawWindow","UInt",id,"UInt",0,"UInt",0,"UInt", 1|16|32|64|1024) 
x:=floor(((W-2*xbord)*colxa) + xbord)
y:=floor(((H-(2*ybord)-cap)*colya) + ybord + cap)
pix := DllCall("GetPixel", UInt, hdc_buffer, "Int", x, "Int", y) 
SetFormat, IntegerFast, hex
pix += 0
pix .= ""
SetFormat, IntegerFast, d
DllCall( "gdi32.dll\DeleteObject", "Uint", hbm_buffer )
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdc_frame )
DllCall( "gdi32.dll\DeleteDC", "Uint", hdc_frame )
DllCall( "gdi32.dll\DeleteDC", "Uint", hdc_buffer )
if boost
{
critical,off
sleep,-1
}
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
}
;-----------------------------------------------------------------------------------------------------
SetAffinity(pid, cpu=1)
{
  h := DllCall("OpenProcess", "UInt", 0x1F0FFF, "Int", false, "UInt", pid)
  DllCall("SetProcessAffinityMask", "UInt", h, "UInt", cpu)
  DllCall("CloseHandle", "UInt" h)
  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
}
;-----------------------------------------------------------------------------------------------------
BuildGui:
Gui, color, white
Gui, font, cOlive
;Gui, add, tab, h340 w240, General|Advanced Settings
Gui, add, tab, h340 w240, General
Gui, add, Text, w200 y45 x15, Time delay for pressing Time button 
Gui, add, DropDownList, w50 y40 x190  vInterval1, %ddlist%
Gui, add, text,cRed y105 x85, Use these options
Gui, add, text,cRed y120 x50, if you experience flicker problem
Gui, add, Checkbox, y140 x60 Checked%flicker1% Vflicker1
Gui, add, text, y155 x25,set FullTilt process
Gui, add, text, y170 x25,priority to high
Gui, add, Checkbox, y140 x180 Checked%flicker2% Vflicker2
Gui, add, text, y155 x125,set affinity to cpu1 only
Gui, add, text, y170 x125,for FullTilt process 
Gui, add, text, y185 x125,(Dual-core/HT cpu) 
Gui, add, text, y215 x25,Turning aero theme (Vista/W7) might help
Gui, add, text, y230 x25,if these settings don't work
Gui, Add, Button, x75 y260 w55 h20 gSave,Submit
Gui, Add, Button, x135 y260 w55 h20 gCancel,Cancel
Gosub, GetIni
Gui, show, w256, %thisahk%
Return
;-----------------------------------------------------------------------------------------------------
GetIni:
IfNotExist, %thisahk%.ini
gosub, CreateIni
IniRead, Interval1, %thisahk%.ini, Settings, Interval1
StringReplace, ddlist, ddlist, %interval1%, %Interval1%|
GuiControl, , Interval1, |%ddlist%
StringReplace, ddlist, ddlist, %interval1%|, %Interval1%
IniRead, flicker1, %thisahk%.ini, Settings, flicker1, 0
IniRead, flicker2, %thisahk%.ini, Settings, flicker2, 0
Return
;-----------------------------------------------------------------------------------------------------
MakeIni:
IniWrite, %Interval1%, %thisahk%.ini, Settings, Interval1
IniWrite, %flicker1%, %thisahk%.ini, Settings, flicker1
IniWrite, %flicker2%, %thisahk%.ini, Settings, flicker2
Return
;-----------------------------------------------------------------------------------------------------
CreateIni:
flicker1:=false
flicker2:=false
Interval1:=1
gosub, MakeIni
return
;-----------------------------------------------------------------------------------------------------
GuiClose:
gosub, cancel
return
;-----------------------------------------------------------------------------------------------------
menuGui:
gosub, getini
gosub, buildgui
Gui, Submit,nohide
return
;-----------------------------------------------------------------------------------------------------
reload:
reload
return
;-----------------------------------------------------------------------------------------------------
Save:
Gui, Submit
FileDelete, %thisahk%.ini
gosub, MakeIni
Reload
return
;-----------------------------------------------------------------------------------------------------
Cancel:
Gui, Destroy
Return
;-----------------------------------------------------------------------------------------------------
exitSub:
if flicker
{
  Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, Normal
  SetAffinity(FTP)
}
}
FileDelete, %thisahk%.ini
gosub, makeini
exitApp
return
;-----------------------------------------------------------------------------------------------------
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-22-2009 , 07:29 AM
Well anyone, does it work fine?
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-22-2009 , 12:04 PM
I'm willing to try it out ... so the Time Bank Clicker is a separate app from the Poker Companion program? Do they work together just fine?
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-22-2009 , 12:49 PM
It's my own version, not a part of anything and it is absolutely free, just leave your opinion about script's work for me.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-24-2009 , 01:42 PM
Added auto "I'm back" option, added hotkeys for quick register/unregister (join/unjoin waiting list for cash tables).
Code:
#SingleInstance, Force
#NoEnv
Settitlematchmode, 2
OnExit exitSub

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, Exit, ExitSub

boost:=false

SysGet, xbord, 32
SysGet, ybord, 33
SysGet, cap, 4

time_x:=0.9093
time_y:=0.7200
time_x1:=0.8808
t1:=0xdedbde
v:=25
back_x:=0.6534
back_y:=0.9862
back_x1:=0.5859
back1:=0x181818
v1:=10
once:=true
tablequeue=
ddlist=
Loop 14
ddlist:=ddlist . A_index . "|"
gosub,getini

ifwinnotexist,FullTiltPoker ahk_class QWidget
{
if flicker1
{
winwait,Logged In ahk_class QWidget
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, High
}
}
else
{
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, Normal
}
}
if flicker2
{
winwait,Logged In ahk_class QWidget
Process, Exist, AutoHotkey.exe
if (ErrorLevel)
{
  Ahk := ErrorLevel
;  SetAffinity(Ahk,0)
 SetAffinity(Ahk)
}
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
;  SetAffinity(FTP,0)
 SetAffinity(FTP)
}
}
}


;;;;;;;;;;;;End of init;;;;;;;;;;;;;;


settimer,clickwithdelay,100

loop
{
if once
Colorinit()

check()
sleep,500
}

;-----------------------------------------------------------------------------------------------------
Colorinit()
{
local id,t,col
id:=WinExist("Logged In ahk_class QWidget","","Full Tilt")
if id
{
t:=PixelColorA(time_x,time_y,time_x1,time_y,id)
stringsplit,col,t,-
if (CompareColors(col1,col2,v1)=false)
t2:=col2
else
t2:=col1
t:=PixelColorA(back_x,back_y,back_x1,back_y,id)
stringsplit,col,t,-
if (CompareColors(col1,col2,v1)=false)
back2:=col2
else
back2:=col1
once:=false
}
}
return
;-----------------------------------------------------------------------------------------------------
check()
{
local listft,id,t,col
winget,listft,list,Logged In ahk_class QWidget,,Full Tilt
loop %listft%
{
id:=listft%A_index%
t:=PixelColorA(time_x,time_y,back_x,back_y,id)
stringsplit,col,t,-
if (CompareColors(col1,t1,v)=false) & (CompareColors(col1,t2,v)=false)
{
if !InStr(tablequeue,id)
movetolist(id,A_TickCount)
}
else
if InStr(tablequeue,id)
removefromlist(id)
if dealmein
if (CompareColors(col2,back1,v1)=false) & (CompareColors(col2,back2,v1)=false)
PostclickFT(back_x,back_y,id,0)
}
}
return
;-----------------------------------------------------------------------------------------------------
relFTClientPoint(id, ByRef x, ByRef y, client=1)
{
global xbord,ybord,cap
WinGetPos,,,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
}
}
return
;-----------------------------------------------------------------------------------------------------
PostLeftDoubleClick(x, y, table_id, activate=1) {
; ### Max1mums: Send the double left click, then the mouse-up messages,
; some windows can get activated on the down left click so we will use
; left doubleclick instead, don't use on objects which have any functions
; binded to doubleclick unless you want to make doubleclick on them
; 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%
PostMessage, 0x203 , 0, ((y<<16)^x), , ahk_id%table_id% ; without 0x001 as lparam which is Lbutton down
PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
}
return
;-----------------------------------------------------------------------------------------------------
PostclickFT(x,y,winid,activate=1)
{
relFTClientPoint(winid, x, y)
DllCall("SetCapture","Uint",winid)
PostLeftDoubleClick(x, y, winid, activate)
DllCall("ReleaseCapture")
}
return
;-----------------------------------------------------------------------------------------------------
clickwithdelay:
Loop, Parse, tablequeue, `,
{
interval:=interval1*1000
stringsplit,tab,A_loopfield,-
if abs(tab2-A_TickCount)>interval
{
PostclickFT(time_x,time_y,tab1,0)
listDelItem(tablequeue, A_Loopfield) 
}
}
return
;-----------------------------------------------------------------------------------------------------
PixelColorA(colxa,colya,back_x,back_y,id)
{
global boost,xbord,ybord,cap
if boost
critical,6
setwindelay, -1
hdc_frame := DllCall( "GetDC", "UInt", id )
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|16|32|64|2048)
}
DllCall("RedrawWindow","UInt",id,"UInt",0,"UInt",0,"UInt", 1|16|32|64|1024) 
x:=floor(((W-2*xbord)*colxa) + xbord)
y:=floor(((H-(2*ybord)-cap)*colya) + ybord + cap)
pix := DllCall("GetPixel", "UInt", hdc_buffer, "Int", x, "Int", y) 
x:=floor(((W-2*xbord)*back_x) + xbord)
y:=floor(((H-(2*ybord)-cap)*back_y) + ybord + cap)
pixback:=DllCall("GetPixel", "UInt", hdc_buffer, "Int", x, "Int", y) 
SetFormat, IntegerFast, hex
pix += 0
pix .= ""
pixback += 0
pixback .= ""
SetFormat, IntegerFast, d
pix.="-" . pixback
DllCall( "gdi32.dll\DeleteObject", "Uint", hbm_buffer )
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdc_frame )
DllCall( "gdi32.dll\DeleteDC", "Uint", hdc_frame )
DllCall( "gdi32.dll\DeleteDC", "Uint", hdc_buffer )
if boost
{
critical,off
sleep,-1
}
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
}
;-----------------------------------------------------------------------------------------------------
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
;-----------------------------------------------------------------------------------------------------
SetAffinity(pid, cpu=1)
{
  h := DllCall("OpenProcess", "UInt", 0x1F0FFF, "Int", false, "UInt", pid)
  DllCall("SetProcessAffinityMask", "UInt", h, "UInt", cpu)
  DllCall("CloseHandle", "UInt" h)
  return
}
;-----------------------------------------------------------------------------------------------------
register:
ifwinactive, ahk_class QWidget
{
winget,id,id, A
wingettitle,title,ahk_id%id%
if instr(title,"Full Tilt Poker -")
{
reg_x :=0.9080
reg_y :=0.7357
PostclickFT(reg_x,reg_y,id,0)
winwait,Tournament Buy-in ahk_class QWidget,,4
if !errorlevel
{
sleep,50
winget,id,id,Tournament Buy-in ahk_class QWidget
wingetpos,,,,h,ahk_id%id%
reg_x :=0.3608
if h<240
reg_y :=0.4876
else
reg_y :=0.4193
PostclickFT(reg_x,reg_y,id,0)
ifwinExist,Full Tilt Poker - Tournament ahk_class QWidget
winclose,Full Tilt Poker - Tournament ahk_class QWidget
}
}
}
return
;-----------------------------------------------------------------------------------------------------
unregister:
ifwinactive, ahk_class QWidget
{
winget,id,id, A
wingettitle,title,ahk_id%id%
if instr(title,"Full Tilt Poker -")
{
reg_x:=0.9080
reg_y:=0.6709
PostclickFT(reg_x,reg_y,id,0)
winwait,Full Tilt Poker - Tournament ahk_class QWidget,,4
if not errorlevel
{
winget,id,id, Full Tilt Poker - Tournament ahk_class QWidget
reg_x :=0.8876
reg_y :=0.0776
PostclickFT(reg_x,reg_y,id,0)
winwait,Tournament Buy-in ahk_class QWidget,,0.5
if not errorlevel
{
winclose,Tournament Buy-in ahk_class QWidget
ifwinexist, Full Tilt Poker - Tournament ahk_class QWidget
winclose, Full Tilt Poker - Tournament ahk_class QWidget
}
else
{
winwait, Full Tilt Poker ahk_class QWidget,,4
if not errorlevel
winclose,Full Tilt Poker ahk_class QWidget
ifwinexist, Full Tilt Poker - Tournament ahk_class QWidget
winclose, Full Tilt Poker - Tournament ahk_class QWidget
}
}
}
}
return
;-----------------------------------------------------------------------------------------------------
BuildGui:
Gui, color, white
Gui, font, cOlive
;Gui, add, tab, h340 w240, General|Advanced Settings
Gui, add, tab, h340 w240, General
Gui, add, Text, w200 y45 x15, Time delay for pressing Time button 
Gui, add, DropDownList, w50 y40 x190  vInterval1, %ddlist%
Gui, add, text, y65 x15, Click "Deal me in" automatically 
Gui, add, Checkbox, y65 x170 Checked%dealmein% Vdealmein
Gui, Add, Text, x15 y85 ,Register (join/unjoin waiting list for cash tables)
Gui, Add, Edit, x15 y100 w100 h20 vregister, %register%
Gui, Add, Text, x15 y120 ,Unregister
Gui, Add, Edit, x15 y135 w100 h20 vunregister, %unregister%

Gui, add, text,cRed y165 x85, Use these options
Gui, add, text,cRed y180 x50, if you experience flicker problem
Gui, add, Checkbox, y200 x60 Checked%flicker1% Vflicker1
Gui, add, text, y215 x25,set FullTilt process
Gui, add, text, y230 x25,priority to high
Gui, add, Checkbox, y200 x180 Checked%flicker2% Vflicker2
Gui, add, text, y215 x125,set affinity to cpu1 only
Gui, add, text, y230 x125,for FullTilt process 
Gui, add, text, y245 x125,(Dual-core/HT cpu) 
Gui, add, text, y275 x25,Turning aero theme off (Vista/W7) might help
Gui, add, text, y290 x25,if these settings don't work
Gui, Add, Button, x75 y315 w55 h20 gSave,Submit
Gui, Add, Button, x135 y315 w55 h20 gCancel,Cancel
Gosub, GetIni
Gui, show, w256, %thisahk%
Return
;-----------------------------------------------------------------------------------------------------
GetIni:
IfNotExist, %thisahk%.ini
gosub, CreateIni
IniRead, Interval1, %thisahk%.ini, Settings, Interval1
StringReplace, ddlist, ddlist, %interval1%, %Interval1%|
GuiControl, , Interval1, |%ddlist%
StringReplace, ddlist, ddlist, %interval1%|, %Interval1%
IniRead, flicker1, %thisahk%.ini, Settings, flicker1, 0
IniRead, flicker2, %thisahk%.ini, Settings, flicker2, 0
IniRead, dealmein, %thisahk%.ini, Settings, dealmein, 0
IniRead, register, %thisahk%.ini, Settings, register,%A_Space%
IniRead, unregister, %thisahk%.ini, Settings, unregister,%A_Space%
if register
Hotkey, %register%,register
if unregister
Hotkey, %unregister%,unregister
Return
;-----------------------------------------------------------------------------------------------------
MakeIni:
IniWrite, %Interval1%, %thisahk%.ini, Settings, Interval1
IniWrite, %flicker1%, %thisahk%.ini, Settings, flicker1
IniWrite, %flicker2%, %thisahk%.ini, Settings, flicker2
IniWrite, %dealmein%, %thisahk%.ini, Settings, dealmein
if register
IniWrite, %register%, %thisahk%.ini, Settings, register
if unregister
IniWrite, %unregister%, %thisahk%.ini, Settings, unregister
Return
;-----------------------------------------------------------------------------------------------------
CreateIni:
flicker1:=false
flicker2:=false
Interval1:=1
dealmein:=1
register=^r
unregister=^u
gosub, MakeIni
return
;-----------------------------------------------------------------------------------------------------
GuiClose:
gosub, cancel
return
;-----------------------------------------------------------------------------------------------------
menuGui:
gosub, getini
gosub, buildgui
Gui, Submit,nohide
return
;-----------------------------------------------------------------------------------------------------
reload:
reload
return
;-----------------------------------------------------------------------------------------------------
Save:
Gui, Submit
FileDelete, %thisahk%.ini
gosub, MakeIni
Reload
return
;-----------------------------------------------------------------------------------------------------
Cancel:
Gui, Destroy
Return
;-----------------------------------------------------------------------------------------------------
exitSub:
if flicker1
{
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, Normal
;  SetAffinity(FTP)
}
}
FileDelete, %thisahk%.ini
gosub, makeini
exitApp
return
;-----------------------------------------------------------------------------------------------------
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-28-2009 , 03:24 PM
Added toggle "i'm back" hotkey, added hotkeys for join/unjoin waiting list on all open tables.
Code:
#SingleInstance, Force
#NoEnv
Settitlematchmode, 2
OnExit exitSub

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, Exit, ExitSub

boost:=false

SysGet, xbord, 32
SysGet, ybord, 33
SysGet, cap, 4

time_x:=0.9093
time_y:=0.7200
time_x1:=0.8808
t1:=0xdedbde
v:=25
back_x:=0.6534
back_y:=0.9862
back_x1:=0.5859
back1:=0x181818
v1:=5
join_x:=0.6158
join_y:=0.9292
join_x1:=0.8261
join:=0xffffff
v2:=5
once:=true
tablequeue=
ddlist=
Loop 14
ddlist:=ddlist . A_index . "|"
gosub,getini

ifwinnotexist,FullTiltPoker ahk_class QWidget
{
if flicker1
{
winwait,Logged In ahk_class QWidget
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, High
}
}
else
{
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, Normal
}
}
if flicker2
{
winwait,Logged In ahk_class QWidget
Process, Exist, AutoHotkey.exe
if (ErrorLevel)
{
  Ahk := ErrorLevel
;  SetAffinity(Ahk,0)
 SetAffinity(Ahk)
}
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
;  SetAffinity(FTP,0)
 SetAffinity(FTP)
}
}
}


;;;;;;;;;;;;End of init;;;;;;;;;;;;;;


settimer,clickwithdelay,100

loop
{
if once
Colorinit()

check()
sleep,500
}

;-----------------------------------------------------------------------------------------------------
Colorinit()
{
local id,t,col
id:=WinExist("Logged In ahk_class QWidget","","Full Tilt")
if id
{
once:=false
t:=PixelColorA(time_x,time_y,time_x1,time_y,join_x,id)
stringsplit,col,t,-
if (CompareColors(col1,col2,v1)=false)
{
t2:=col2
once:=true
}
else
t2:=col1
t:=PixelColorA(back_x,back_y,back_x1,back_y,join_x,id)
stringsplit,col,t,-
if (CompareColors(col1,col2,v1)=false)
{
back2:=col2
once:=true
}
else
back2:=col1
}
}
return
;-----------------------------------------------------------------------------------------------------
check()
{
local listft,id,t,col
winget,listft,list,Logged In ahk_class QWidget,,Full Tilt
loop %listft%
{
id:=listft%A_index%
t:=PixelColorA(time_x,time_y,back_x,back_y,join_x,id)
stringsplit,col,t,-
if (CompareColors(col1,t1,v)=false) & (CompareColors(col1,t2,v)=false)
{
if !InStr(tablequeue,id)
movetolist(id,A_TickCount)
}
else
if InStr(tablequeue,id)
removefromlist(id)
if dealmein
if (CompareColors(col2,back1,v1)=false) & (CompareColors(col2,back2,v1)=false) & (CompareColors(col3,back2,v)=true)
PostclickFT(back_x,back_y,id,0)
}
}
return
;-----------------------------------------------------------------------------------------------------
relFTClientPoint(id, ByRef x, ByRef y, client=1)
{
global xbord,ybord,cap
WinGetPos,,,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
}
}
return
;-----------------------------------------------------------------------------------------------------
PostLeftDoubleClick(x, y, table_id, activate=1) {
; ### Max1mums: Send the double left click, then the mouse-up messages,
; some windows can get activated on the down left click so we will use
; left doubleclick instead, don't use on objects which have any functions
; binded to doubleclick unless you want to make doubleclick on them
; 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, 0x203 , 0, ((y<<16)^x), , ahk_id%table_id% ; without 0x001 as lparam which is Lbutton down
PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
critical,off
sleep,-1
}
return
;-----------------------------------------------------------------------------------------------------
PostclickFT(x,y,winid,activate=1,client=1)
{
relFTClientPoint(winid, x, y,client)
DllCall("SetCapture","Uint",winid)
PostLeftDoubleClick(x, y, winid, activate)
DllCall("ReleaseCapture")
}
return
;-----------------------------------------------------------------------------------------------------
clickwithdelay:
Loop, Parse, tablequeue, `,
{
interval:=interval1*1000
stringsplit,tab,A_loopfield,-
if abs(tab2-A_TickCount)>interval
{
PostclickFT(time_x,time_y,tab1,0)
listDelItem(tablequeue, A_Loopfield) 
}
}
return
;-----------------------------------------------------------------------------------------------------
PixelColorA(colx,coly,backx,backy,joinx,id,region=0)
{
global boost,xbord,ybord,cap
if boost
critical,6
setwindelay, -1
hdc_frame := DllCall( "GetDC", "UInt", id )
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 )
DllCall("RedrawWindow","UInt",id,"UInt",0,"UInt",0,"UInt", 1|16|32|64|1024) 
x:=floor(((W-2*xbord)*colx) + xbord)
y:=floor(((H-(2*ybord)-cap)*coly) + ybord + cap)
pix1=
pix1 := DllCall("GetPixel", "UInt", hdc_buffer, "Int", x, "Int", y) 
x:=floor(((W-2*xbord)*backx) + xbord)
y:=floor(((H-(2*ybord)-cap)*backy) + ybord + cap)
pix2:=DllCall("GetPixel", "UInt", hdc_buffer, "Int", x, "Int", y) 
x:=floor(((W-2*xbord)*joinx) + xbord)
pix3:=DllCall("GetPixel", "UInt", hdc_buffer, "Int", x, "Int", y) 
SetFormat, IntegerFast, hex
pix1 += 0
pix1 .= ""
pix2 += 0
pix2 .= ""
pix3 += 0
pix3 .= ""
SetFormat, IntegerFast, d
pix1.="-" . pix2 . "-" . pix3
if region
{
x:=floor(((W-2*xbord)*joinx) + xbord)
y:=floor(((H-(2*ybord)-cap)*backy) + ybord + cap)
pix1.="*"
loop 70
{
delta:=A_index
loop 15
{
delta1:=A_index
p := DllCall("GetPixel", "UInt", hdc_buffer, "Int", x+delta , "Int", y+delta1)
pix1.=p . "-"
}
}
}
DllCall( "gdi32.dll\DeleteObject", "Uint", hbm_buffer )
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdc_frame )
DllCall( "gdi32.dll\DeleteDC", "Uint", hdc_frame )
DllCall( "gdi32.dll\DeleteDC", "Uint", hdc_buffer )
if boost
{
critical,off
sleep,-1
}
return pix1
}
;-----------------------------------------------------------------------------------------------------
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
}
;-----------------------------------------------------------------------------------------------------
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
;-----------------------------------------------------------------------------------------------------
SetAffinity(pid, cpu=1)
{
  h := DllCall("OpenProcess", "UInt", 0x1F0FFF, "Int", false, "UInt", pid)
  DllCall("SetProcessAffinityMask", "UInt", h, "UInt", cpu)
  DllCall("CloseHandle", "UInt" h)
  return
}
;-----------------------------------------------------------------------------------------------------
register:
ifwinactive, ahk_class QWidget
{
winget,id,id, A
wingettitle,title,ahk_id%id%
if instr(title,"Full Tilt Poker -")
{
reg_x :=0.9080
reg_y :=0.7357
PostclickFT(reg_x,reg_y,id,0)
winwait,Tournament Buy-in ahk_class QWidget,,4
if !errorlevel
{
sleep,50
winget,id,id,Tournament Buy-in ahk_class QWidget
wingetpos,,,,h,ahk_id%id%
reg_x :=0.3608
if h<240
reg_y :=0.4876
else
reg_y :=0.4193
PostclickFT(reg_x,reg_y,id,0)
ifwinExist,Full Tilt Poker - Tournament ahk_class QWidget
winclose,Full Tilt Poker - Tournament ahk_class QWidget
}
}
}
return
;-----------------------------------------------------------------------------------------------------
unregister:
ifwinactive, ahk_class QWidget
{
winget,id,id, A
wingettitle,title,ahk_id%id%
if instr(title,"Full Tilt Poker -")
{
reg_x:=0.9080
reg_y:=0.6709
PostclickFT(reg_x,reg_y,id,0)
winwait,Full Tilt Poker - Tournament ahk_class QWidget,,4
if not errorlevel
{
winget,id,id, Full Tilt Poker - Tournament ahk_class QWidget
reg_x :=0.8876
reg_y :=0.0776
PostclickFT(reg_x,reg_y,id,0)
winwait,Tournament Buy-in ahk_class QWidget,,0.5
if not errorlevel
{
winclose,Tournament Buy-in ahk_class QWidget
ifwinexist, Full Tilt Poker - Tournament ahk_class QWidget
winclose, Full Tilt Poker - Tournament ahk_class QWidget
}
else
{
winwait, Full Tilt Poker ahk_class QWidget,,4
if not errorlevel
winclose,Full Tilt Poker ahk_class QWidget
ifwinexist, Full Tilt Poker - Tournament ahk_class QWidget
winclose, Full Tilt Poker - Tournament ahk_class QWidget
}
}
}
}
return
;-----------------------------------------------------------------------------------------------------
Toggledealmein:
If (dealmein=true) {
	dealmein:=false
	T=Off
}
else {
	dealmein:=true
	T=On
}
Gui, 2:Add, Text,, Auto Deal me in: %T%
Gui, 2:+ToolWindow
Gui, 2:Show, w150 h20
Sleep, 1000
Gui, 2:Destroy
return
;-----------------------------------------------------------------------------------------------------
Joinwaitlist:
winget,listft,list,Logged In ahk_class QWidget,,Full Tilt
loop %listft%
{
id:=listft%A_index%
t:=PixelColorA(join_x,back_y,back_x,join_y,join_x1,id,1)
stringsplit,st,t,*
stringsplit,col,st1,-
if (CompareColors(col1,back1,v1)=false) & (CompareColors(col1,back2,v1)=false)
if !instr(st2,"16777215") & !instr(st2,"67284200") & !instr(st2,"111670350") & !instr(st2,"148766710")
PostclickFT(back_x,back_y,id,0)
}
return
;-----------------------------------------------------------------------------------------------------
Unjoinwaitlist:
winget,listft,list,Logged In ahk_class QWidget,,Full Tilt
loop %listft%
{
id:=listft%A_index%
t:=PixelColorA(join_x,back_y,join_x1,join_y,join_x1,id,1)
stringsplit,st,t,*
stringsplit,col,st1,-
if (CompareColors(col1,back1,v1)=false) & (CompareColors(col1,back2,v1)=false)
if instr(st2,"16777215")  or instr(st2,"67284200") or instr(st2,"111670350") or instr(st2,"148766710")
PostclickFT(back_x,back_y,id,0)
}
return
;-----------------------------------------------------------------------------------------------------
BuildGui:
Gui, color, white
Gui, font, cOlive
Gui, add, tab, h340 w240, General|Advanced Settings
Gui, Tab, General
Gui, add, Text, w200 y45 x15, Time delay for pressing Time button 
Gui, add, DropDownList, w50 y40 x190  vInterval1, %ddlist%
Gui, add, text, y65 x15, Click "Deal me in" automatically 
Gui, add, Checkbox, y65 x170 Checked%dealmein% Vdealmein
Gui, Add, Text, x15 y85 w120 h20 , Toggle Deal me in
Gui, Add, Edit, x180 y82 w50 h20 vToggledealmein, %Toggledealmein%
Gui, add, text,cRed y165 x85, Use these options
Gui, add, text,cRed y180 x50, if you experience flicker problem
Gui, add, Checkbox, y200 x60 Checked%flicker1% Vflicker1
Gui, add, text, y215 x25,set FullTilt process
Gui, add, text, y230 x25,priority to high
Gui, add, Checkbox, y200 x180 Checked%flicker2% Vflicker2
Gui, add, text, y215 x125,set affinity to cpu1 only
Gui, add, text, y230 x125,for FullTilt process 
Gui, add, text, y245 x125,(Dual-core/HT cpu) 
Gui, add, text, y275 x25,Turning aero theme off (Vista/W7) might help
Gui, add, text, y290 x25,if these settings don't work
Gui, Add, Button, x75 y315 w55 h20 gSave,Submit
Gui, Add, Button, x135 y315 w55 h20 gCancel,Cancel
Gui, Tab, Advanced Settings

Gui, Add, Text, x15 y35 ,Register
Gui, Add, Edit, x180 y32 w50 h20 vregister, %register%
Gui, Add, Text, x15 y52 ,(join/unjoin waiting list for cash tables)
Gui, Add, Text, x15 y75 ,Unregister
Gui, Add, Edit, x180 y72 w50 h20 vunregister, %unregister%
Gui, Add, Text, x15 y100 ,Join waiting list on all tables
Gui, Add, Edit, x180 y97 w50 h20 vjoinwaitlist, %joinwaitlist%
Gui, Add, Text, x15 y125 ,Unjoin waiting list on all tables
Gui, Add, Edit, x180 y122 w50 h20 vunjoinwaitlist, %unjoinwaitlist%

Gui, Add, Button, x75 y315 w55 h20 gSave,Submit
Gui, Add, Button, x135 y315 w55 h20 gCancel,Cancel
Gosub, GetIni
Gui, show, w256, %thisahk%
Return
;-----------------------------------------------------------------------------------------------------
GetIni:
IfNotExist, %thisahk%.ini
gosub, CreateIni
IniRead, Interval1, %thisahk%.ini, Settings, Interval1
StringReplace, ddlist, ddlist, %interval1%, %Interval1%|
GuiControl, , Interval1, |%ddlist%
StringReplace, ddlist, ddlist, %interval1%|, %Interval1%
IniRead, flicker1, %thisahk%.ini, Settings, flicker1, 0
IniRead, flicker2, %thisahk%.ini, Settings, flicker2, 0
IniRead, dealmein, %thisahk%.ini, Settings, dealmein, 0
IniRead, register, %thisahk%.ini, Settings, register,%A_Space%
IniRead, unregister, %thisahk%.ini, Settings, unregister,%A_Space%
IniRead, joinwaitlist, %thisahk%.ini, Settings, joinwaitlist,%A_Space%
IniRead, Unjoinwaitlist, %thisahk%.ini, Settings, Unjoinwaitlist,%A_Space%
if register
Hotkey, %register%,register
if unregister
Hotkey, %unregister%,unregister
if joinwaitlist
Hotkey, %joinwaitlist%,joinwaitlist
if Unjoinwaitlist
Hotkey, %Unjoinwaitlist%,Unjoinwaitlist
IniRead, Toggledealmein, %thisahk%.ini, Settings, Toggledealmein,%A_Space%
If Toggledealmein
{
HotKey, IfWinActive, ahk_class QWidget
Hotkey, %Toggledealmein%, Toggledealmein
}
Return
;-----------------------------------------------------------------------------------------------------
MakeIni:
IniWrite, %Interval1%, %thisahk%.ini, Settings, Interval1
IniWrite, %flicker1%, %thisahk%.ini, Settings, flicker1
IniWrite, %flicker2%, %thisahk%.ini, Settings, flicker2
IniWrite, %dealmein%, %thisahk%.ini, Settings, dealmein
if register
IniWrite, %register%, %thisahk%.ini, Settings, register
if unregister
IniWrite, %unregister%, %thisahk%.ini, Settings, unregister
if joinwaitlist
IniWrite, %joinwaitlist%, %thisahk%.ini, Settings, joinwaitlist
if Unjoinwaitlist
IniWrite, %Unjoinwaitlist%, %thisahk%.ini, Settings, Unjoinwaitlist
if Toggledealmein
IniWrite, %Toggledealmein%, %thisahk%.ini, Settings, Toggledealmein
Return
;-----------------------------------------------------------------------------------------------------
CreateIni:
flicker1:=false
flicker2:=false
Interval1:=1
dealmein:=1
register=^r
unregister=^u
gosub, MakeIni
return
;-----------------------------------------------------------------------------------------------------
GuiClose:
gosub, cancel
return
;-----------------------------------------------------------------------------------------------------
menuGui:
gosub, getini
gosub, buildgui
Gui, Submit,nohide
return
;-----------------------------------------------------------------------------------------------------
reload:
reload
return
;-----------------------------------------------------------------------------------------------------
Save:
Gui, Submit
FileDelete, %thisahk%.ini
gosub, MakeIni
Reload
return
;-----------------------------------------------------------------------------------------------------
Cancel:
Gui, Destroy
Return
;-----------------------------------------------------------------------------------------------------
exitSub:
if flicker1
{
Process, Exist, FullTiltPoker.exe
if (ErrorLevel)
{
  FTP := ErrorLevel
  Process, Priority, %FTP%, Normal
;  SetAffinity(FTP)
}
}
FileDelete, %thisahk%.ini
gosub, makeini
exitApp
return
;-----------------------------------------------------------------------------------------------------
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-28-2009 , 04:07 PM
I tried it out, Max...


Quadcore Q6600, Vista x64, Aero theme.

It worked well (just the timer script), but I noticed that my timebank sometimes just never showed up. I tried running this w/ TableNinja and turning off the timebank in TN and just used yours. Not sure if that was caused by something else or the script (timebank just never showing up). Also, definitely had the flicker as well, although it was removed w/ the two checkboxes.

Will try to test it out some more.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
12-28-2009 , 04:11 PM
Quote:
Originally Posted by SirFelixCat
It worked well (just the timer script), but I noticed that my timebank sometimes just never showed up.
Don't think that could be caused by script or TN.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-01-2010 , 05:20 PM
Thanks for the script it works nicely. There is a flicker sometimes but it doesn't bother me.

One issue I'm experiencing is when I join a new table, take a seat, it will choose to "play now" which means it will post a dead blind. I'd rather wait for the BB.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-01-2010 , 05:46 PM
Script doesn't turn that option on or off for you.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-01-2010 , 05:50 PM
Strange I must have messed up somewhere then. Will give it another try and see what happens.

edit: could you please explain all 6 settings in the INI file?

[Settings]
Interval1=1
flicker1=0
flicker2=0
dealmein=1
register=^r
unregister=^u
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-01-2010 , 06:00 PM
These settings are being generated by script, you can't change them. But i can explain: Interval1 is time delay before pressing Time button, flicker1 sets fulltilt.exe priority to high if set to 1, flicker2 sets fulltilt.exe affinity to cpu1 only if set to 1, dealmein will automatically deal you in if set to 1, register and unregister are hotkeys for quick registration; there could also be joinwaitlist,Unjoinwaitlist,Toggledealmein in latest version, i guess there is no need to explain what they do.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-03-2010 , 04:03 PM
I have doublechecked now and the problem I described DOES happens when the AHK is running (and only then).

I recorded it and I can post a video if you want, but I don't think this is needed. The problem is exactly as stated.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-03-2010 , 04:25 PM
Are you under Vista/W7? I've never run into that problem, will try to check it out though.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-03-2010 , 04:54 PM
Max1mums, can this work on microgamming prima tables, if not can iu do a AHK for click the timer bank in this room?

I can find some guys to donate for this work
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-03-2010 , 04:57 PM
What do you need exactly, timebank clicker and what else?
btw here is Prima betpot from me http://forumserver.twoplustwo.com/45...l#post15800499

Last edited by Max1mums; 01-03-2010 at 05:10 PM.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-03-2010 , 07:09 PM
for me only the timebank clicker, i come from a latinamerican forum and i know some people who plays in prima and they have the same petition can iu send me a PM for the exactly details to the donation
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-03-2010 , 07:21 PM
Enable PMing first then ) Let me look if it will work with prima soft first.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-03-2010 , 07:47 PM
Maximums i cant enable pm, if iu want send me a email with the details
Full Tilt Timebank Clicker Tool (Stacked): Free Quote
01-03-2010 , 09:45 PM
thanks4giving, still can't recreate your problem, i believe script can press that button for you though, PM me your video so that i could see exact situation.
Full Tilt Timebank Clicker Tool (Stacked): Free Quote

      
m