Open Side Menu Go to the Top
Register
EnetCash - free AHK script for Enet network EnetCash - free AHK script for Enet network

01-09-2013 , 02:32 PM
Moderators, pls move to Free Software
Some utility functions for Enet (not only cash). Script worked in Cristal Poker room. I hope it will in others. Inspired by FTCash from Max1mums.
  • Table highlighter (tables that require action)
  • Timebank clicker (with specified delay)
  • Table hotkeys: Fold, Check/Call, Bet/Raise/CallAny (AHK syntax)
  • Global hotkeys: Sitout on all tables, suspend, pause
  • Autoclick Check in "Check or Fold" pop-up
I suppose all functions work with any table position.

If the tables was covered with a white veil and it doesn't react, select it (try in taskbar) and press ALT+F4

I recommend AHK Version 1.0.48.05 (http://www.autohotkey.net) as the fastest.

Vista/Win 7 users: run script as admin (installing autohotkey program as admin is easiest), turn "Aero" off.

Code:
; *** EnetCash ***
; version 0.9
#SingleInstance, Force
#NoEnv
#Persistent
Settitlematchmode, 2
setwindelay,-1
OnExit exitSub

StringTrimRight, thisahk, A_ScriptName, 4
SetWorkingDir %A_ScriptDir%

time_x:=0.8824
time_y:=0.9272
fold_x:=0.4970
fold_y:=0.8654
call_x:=0.6502
call_y:=0.8654
raise_x:=0.8103
raise_y:=0.8654
sitout_x:=0.7140
sitout_y:=0.9808
act_x:=0.4869
act_y:=0.8325

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

OnMessage(0x112,"WM_SYSCOMMAND")
WM_SYSCOMMAND(wParam)
{
  if (A_Gui && wParam = 0xF020) ; SC_MINIMIZE
  {
    Gui, destroy
    return 0
  }
}

; Border of the "Highlighter"
border_color := "FF0000"
border_size := 5

gosub,getini

winwait,Welcome to EnetPoker ahk_class QWidget

; Set up a window to "paste to".
Gui, 99: Show, w1 h1 x1 y1, PokerWindow
WinGet,PokerWindowID, id, PokerWindow
; Set up a DC
hdc_frame := DllCall( "GetDC", UInt, PokerWindowID )
hdc_buffer := DllCall("gdi32.dll\CreateCompatibleDC", UInt,  hdc_frame)
hbm_buffer := DllCall("gdi32.dll\CreateCompatibleBitmap", UInt,hdc_frame, Int,A_ScreenWidth, Int,A_ScreenHeight)
DllCall( "gdi32.dll\SelectObject", UInt,hdc_buffer, UInt,hbm_buffer)
Gui, 99: Show,hide, w1 h1 x1 y1, PokerWindow

if Timebank
	{
	settimer,clickwithdelay,250
	settimer,clicktime,334
	}
if Highlight
	settimer,Highlighter,334
if Autocheck
	settimer,clickcheck,334
return
;-----------------------------------------------------------------------------------------------------
Highlighter:
HighLighterA()
return

HighLighterA() 
{
global highlightlist
global border_color,border_size,act_x,act_y
winget,list,list,Limit ahk_class QWidget
loop %list%
{
id:=list%A_index% 
if DllCall( "IsWindowVisible", "UInt",id)
	{
	WinGetPos, x, y, w, h, ahk_id%id%
	if InStr(highlightlist,id)
		Loop, Parse, highlightlist, `,
			{
			if InStr(A_loopfield,id)
				{
				stringsplit,tab,A_loopfield,-
				if !((x=tab3) & (y=tab4) & (w=tab5) & (h=tab6))
					{
					Gui, %tab2%: Destroy
					listDelItem(highlightlist, A_Loopfield) 
					}
				}
			}
	pix:=PixelColorA(act_x,act_y,id)
	if (pix&255 = pix>>8&255)&(pix&255 = pix>>16&255)
		{
		if !InStr(highlightlist,id)
			{
			col:=border_color
			t:=border_size-1
			free:=freeGui()
			listAdd(highlightlist, id . "-" . free . "-" . x . "-" . y  . "-" . w  . "-" . h)
			region:="0-0 " . w . "-0 " . w . "-" . h . " 0-" . h . " 0-0 " . t . "-" . t . " " . w-t . "-" . t . " " . w-t . "-" . h-t . " " . t . "-" . h-t . " " . t . "-" . t
			Gui,%free%: +lastfound +alwaysOnTop -caption +owner
			gui,%free%:color,%col%
			Gui,%free%: Show, x%x% y%y% w%w% h%h% hide
			WinSet, Region, % region
			Gui,%free%: Show, noActivate
			}
		}
	else
		{
		if InStr(highlightlist,id)
		Loop, Parse, highlightlist, `,
			{
				if InStr(A_loopfield,id)
					{
					stringsplit,tab,A_loopfield,-
					Gui, %tab2%: Destroy
					listDelItem(highlightlist, A_Loopfield) 
					}
			}
		} 
	} 
}
}


freeGui() { 
Loop 97 { 
    Gui, %a_index%: +lastfoundExist 
    If ! WinExist() 
      return a_index 
  } 
} 
;-----------------------------------------------------------------------------------------------------
Clickcheck:
Clickcheck()
return

Clickcheck()
{
ControlSend,,{Space},Check or Fold
}
;-----------------------------------------------------------------------------------------------------
clicktime:
clicktime()
return

clicktime()
{
global tablequeue,time_x,time_y
winget,listenet,list,Limit ahk_class QWidget
loop %listenet%
{
id:=listenet%A_index%
pix1:=PixelColorA(time_x,time_y,id)
if (pix1>>16 > 60)
	{
	if !InStr(tablequeue,id)
		movetolist(id,A_TickCount)
	}
else
	if InStr(tablequeue,id)
		removefromlist(id)
}
}
;-----------------------------------------------------------------------------------------------------
clickwithdelay:
clickdelay()
return

clickdelay()
{
global tablequeue,interval1,time_x,time_y
Loop, Parse, tablequeue, `,
{
stringsplit,tab,A_loopfield,-
if A_TickCount-tab2>interval1
{
PostclickEnet(time_x,time_y,tab1)
listDelItem(tablequeue, A_Loopfield) 
}
}
}
;-----------------------------------------------------------------------------------------------------
PixelColorA(x,y,id)
{
global hdc_buffer
relClientPoint(x,y,id)
DllCall("PrintWindow", "UInt" , id , "UInt" , hdc_buffer , "UInt" , 0)
DllCall("RedrawWindow","UInt",id,"UInt",0,"UInt",0,"UInt", 1|16|32|64|1024)
pix := DllCall("GetPixel", "UInt", hdc_buffer, "Int", x, "Int", y)
DllCall("gdi32.dll\ReleaseDC", "Uint", hdc_buffer)
return pix
}
;-----------------------------------------------------------------------------------------------------
relClientPoint(ByRef x, ByRef y, id)
{
WinGetPos,,,w,h,ahk_id%id%
x:=floor(w*x)
y:=floor(h*y)
}
;-----------------------------------------------------------------------------------------------------
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)
}
;-----------------------------------------------------------------------------------------------------
removefromlist(winid)
{
global tablequeue
Loop, Parse, tablequeue, `,
{
if InStr(A_loopfield,winid)
listDelItem(tablequeue, A_Loopfield)
}
}

;-----------------------------------------------------------------------------------------------------
PostclickEnet(x,y,winid)
{
relClientPoint(x,y,winid)
DllCall("SetCapture","Uint",winid)
critical,6
PostMessage, 0x201, 1, ((y<<16)^x), , ahk_id%winid%
PostMessage, 0x202, 0, ((y<<16)^x), , ahk_id%winid%
critical,off
sleep,-1
DllCall("ReleaseCapture")
}
;-----------------------------------------------------------------------------------------------------
Fold:
Fold()
Return

Fold()
{
global fold_x,fold_y
MousegetPos,,,id
wingetclass,class,ahk_id%id%
wingettitle,title,ahk_id%id%
if (class="QWidget") & (instr(title, "Limit")>0)
	PostclickEnet(fold_x,fold_y,id)
else
	{
	suspend,on
	send {%A_ThisHotkey%}
	suspend,off
	}
}
;-----------------------------------------------------------------------------------------------------
Call:
Call()
Return

Call()
{
global call_x,call_y
MousegetPos,,,id
wingetclass,class,ahk_id%id%
wingettitle,title,ahk_id%id%
if (class="QWidget") & (instr(title, "Limit")>0)
	PostclickEnet(call_x,call_y,id)
else
	{
	suspend,on
	send {%A_ThisHotkey%}
	suspend,off
	}
}
;-----------------------------------------------------------------------------------------------------
Raise:
Raise()
Return

Raise()
{
global raise_x,raise_y
MousegetPos,,,id
wingetclass,class,ahk_id%id%
wingettitle,title,ahk_id%id%
if (class="QWidget") & (instr(title, "Limit")>0)
	PostclickEnet(raise_x,raise_y,id)
else
	{
	suspend,on
	send {%A_ThisHotkey%}
	suspend,off
	}
}
;-----------------------------------------------------------------------------------------------------
SitOutNextAll:
Sitout()
Return

Sitout()
{
global sitout_x,sitout_y
winget,listenet,list,Limit ahk_class QWidget
loop %listenet%
	{
	id:=listenet%A_index%
	pix1:=PixelColorA(sitout_x,sitout_y,id)
	If (pix1&255 > 50)
		PostclickEnet(sitout_x,sitout_y,id)
	}
}
;-----------------------------------------------------------------------------------------------------
BuildGui:
Gui, color, white
Gui, add, tab, h330 w300, General|Global hotkeys|Table hotkeys|Time

Gui, Tab, General

Gui, add, text, y120 x36, Highlighter on
Gui, add, Checkbox, y120 x270 Checked%Highlight% VHighlight
Gui, add, text, y140 x36, Autoclick Check in "Check or Fold" pop-up
Gui, add, Checkbox, y140 x270 Checked%Autocheck% VAutocheck

Gui, Add, Button, x95 y300 w55 h20 gSave,Submit
Gui, Add, Button, x155 y300 w55 h20 gCancel,Cancel

Gui, Tab, Global hotkeys

Gui, Add, Text, x25 y75 ,Suspend all hotkeys
Gui, Add, Edit, x220 y75 w50 h20 vsuspend, %suspend%
Gui, Add, Text, x25 y95 ,Pause/unpause
Gui, Add, Edit, x220 y95 w50 h20 vTogglePause, %TogglePause%

Gui, Add, Button, x95 y300 w55 h20 gSave,Submit
Gui, Add, Button, x155 y300 w55 h20 gCancel,Cancel

Gui, Tab, Time

Gui, add, Checkbox, y75 x200 Checked%Timebank% VTimebank
Gui, add, text, y75 x25,Click Timebank automatically
Gui, add, Text, w200 y95 x25, Time delay for pressing Time button, ms
Gui, add, Edit, w40 y90 x220 vInterval1, %interval1%
Gui, Add, Text, x25 y180 ,Sitout on all tables
Gui, Add, Edit, x180 y177 w50 h20 vSitOutNextAll, %SitOutNextAll%

Gui, Add, Button, x95 y300 w55 h20 gSave,Submit
Gui, Add, Button, x155 y300 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/CallAny
Gui, Add, Button, x95 y300 w55 h20 gSave,Submit
Gui, Add, Button, x155 y300 w55 h20 gCancel,Cancel

Gosub, GetIni
Gui, show, w316, %thisahk%
Return
;-----------------------------------------------------------------------------------------------------
GetIni:
IfNotExist, %thisahk%.ini
gosub, CreateIni

IniRead, Highlight, %thisahk%.ini, Settings, Highlight, 0
IniRead, Autocheck, %thisahk%.ini, Settings, Autocheck, 1

IniRead, Interval1, %thisahk%.ini, Settings, Interval1,0

IniRead, Timebank, %thisahk%.ini, Settings, Timebank, 0
IniRead, SitOutNextAll, %thisahk%.ini, Hotkeys, SitOutNextAll,%A_Space%
if SitOutNextAll
Hotkey, %SitOutNextAll%,SitOutNextAll

IniRead, suspend, %thisahk%.ini, Hotkeys, suspend,%A_Space%
if suspend
{
HotKey, IfWinActive
Hotkey, %suspend%,suspend
}
IniRead, TogglePause, %thisahk%.ini, Hotkeys, TogglePause,%A_Space%
if TogglePause
{
HotKey, IfWinActive
Hotkey, %TogglePause%,TogglePause
}
IniRead, fold, %thisahk%.ini, Hotkeys, fold,%A_Space%
if fold
Hotkey, %fold%,fold
IniRead, call, %thisahk%.ini, Hotkeys, call,%A_Space%
if call
Hotkey, %call%,call
IniRead, raise, %thisahk%.ini, Hotkeys, raise,%A_Space%
if raise
Hotkey, %raise%,raise
Return
;-----------------------------------------------------------------------------------------------------
MakeIni:
If ClassicTheme
IniWrite, %ClassicTheme%, %thisahk%.ini, Options, ClassicTheme
IniWrite, %Highlight%, %thisahk%.ini, Settings, Highlight
IniWrite, %Autocheck%, %thisahk%.ini, Settings, Autocheck
IniWrite, %Interval1%, %thisahk%.ini, Settings, Interval1
IniWrite, %Timebank%, %thisahk%.ini, Settings, Timebank
if SitOutNextAll
IniWrite, %SitOutNextAll%, %thisahk%.ini, Hotkeys, SitOutNextAll
if suspend
IniWrite, %suspend%, %thisahk%.ini, Hotkeys, suspend
if TogglePause
IniWrite, %TogglePause%, %thisahk%.ini, Hotkeys, TogglePause

if fold
IniWrite, %fold%, %thisahk%.ini, Hotkeys, fold
if call
IniWrite, %call%, %thisahk%.ini, Hotkeys, call
if raise
IniWrite, %raise%, %thisahk%.ini, Hotkeys, raise
Return
;-----------------------------------------------------------------------------------------------------
CreateIni:
Highlight:=0
Autocheck:=1
Interval1:=7000
Timebank:=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:
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdc_buffer )
DllCall( "gdi32.dll\DeleteDC","Uint",hdc_buffer)
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdcdef_buffer )
DllCall( "gdi32.dll\DeleteDC","Uint",hdcdef_buffer)
DllCall( "gdi32.dll\DeleteObject","Uint",hbm_buffer)
reload
return
;-----------------------------------------------------------------------------------------------------
Save:
Gui, Submit
FileDelete, %thisahk%.ini
gosub, MakeIni
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdc_buffer )
DllCall( "gdi32.dll\DeleteDC","Uint",hdc_buffer)
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdcdef_buffer )
DllCall( "gdi32.dll\DeleteDC","Uint",hdcdef_buffer)
DllCall( "gdi32.dll\DeleteObject","Uint",hbm_buffer)
Reload
return
;-----------------------------------------------------------------------------------------------------
Cancel:
Gui, Destroy
Return
;-----------------------------------------------------------------------------------------------------
TogglePause:
pause,toggle
return
;-----------------------------------------------------------------------------------------------------
Suspend:
suspend
if A_IsSuspended=0
{
 suspended=Off
}
else
{
 suspended=On
}
Gui, 98:Add, Text,,Suspend: %suspended%
Gui, 98:+ToolWindow
Gui, 98:Show, w150 h20
Sleep, 1500
Gui, 98:Destroy
return
;-----------------------------------------------------------------------------------------------------
Edit:
edit
return
;-----------------------------------------------------------------------------------------------------
exitSub:
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",hdcdef_buffer)
DllCall( "gdi32.dll\DeleteDC","Uint",hdcdef_buffer)
exitApp
return

Last edited by Bobo Fett; 01-10-2013 at 07:16 PM. Reason: Not allowed.
EnetCash - free AHK script for Enet network Quote
01-27-2013 , 12:32 PM
Excuse my ignorance, but how do I set this up?
EnetCash - free AHK script for Enet network Quote
01-28-2013 , 11:02 AM
software-forum-faq
If some features do not work, make screenshots of the table at this point (paint nicks), I will try to adjust the code for your room.
EnetCash - free AHK script for Enet network Quote
01-21-2014 , 12:43 AM
thanks!
EnetCash - free AHK script for Enet network Quote
02-20-2014 , 06:08 PM
Hi!
Can u tell why is this white veil happens? is there any way to fix it?
It happens like once per minute. Pretty annoying
EnetCash - free AHK script for Enet network Quote
02-20-2015 , 02:45 PM
İs this still working?
EnetCash - free AHK script for Enet network Quote
03-26-2015 , 02:14 AM
Quote:
Originally Posted by FatYje8n
Moderators, pls move to Free Software
Some utility functions for Enet (not only cash). Script worked in Cristal Poker room. I hope it will in others. Inspired by FTCash from Max1mums.
  • Table highlighter (tables that require action)
  • Timebank clicker (with specified delay)
  • Table hotkeys: Fold, Check/Call, Bet/Raise/CallAny (AHK syntax)
  • Global hotkeys: Sitout on all tables, suspend, pause
  • Autoclick Check in "Check or Fold" pop-up
I suppose all functions work with any table position.

If the tables was covered with a white veil and it doesn't react, select it (try in taskbar) and press ALT+F4

I recommend AHK Version 1.0.48.05 (http://www.autohotkey.net) as the fastest.

Vista/Win 7 users: run script as admin (installing autohotkey program as admin is easiest), turn "Aero" off.

Code:
; *** EnetCash ***
; version 0.9
#SingleInstance, Force
#NoEnv
#Persistent
Settitlematchmode, 2
setwindelay,-1
OnExit exitSub

StringTrimRight, thisahk, A_ScriptName, 4
SetWorkingDir %A_ScriptDir%

time_x:=0.8824
time_y:=0.9272
fold_x:=0.4970
fold_y:=0.8654
call_x:=0.6502
call_y:=0.8654
raise_x:=0.8103
raise_y:=0.8654
sitout_x:=0.7140
sitout_y:=0.9808
act_x:=0.4869
act_y:=0.8325

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

OnMessage(0x112,"WM_SYSCOMMAND")
WM_SYSCOMMAND(wParam)
{
  if (A_Gui && wParam = 0xF020) ; SC_MINIMIZE
  {
    Gui, destroy
    return 0
  }
}

; Border of the "Highlighter"
border_color := "FF0000"
border_size := 5

gosub,getini

winwait,Welcome to EnetPoker ahk_class QWidget

; Set up a window to "paste to".
Gui, 99: Show, w1 h1 x1 y1, PokerWindow
WinGet,PokerWindowID, id, PokerWindow
; Set up a DC
hdc_frame := DllCall( "GetDC", UInt, PokerWindowID )
hdc_buffer := DllCall("gdi32.dll\CreateCompatibleDC", UInt,  hdc_frame)
hbm_buffer := DllCall("gdi32.dll\CreateCompatibleBitmap", UInt,hdc_frame, Int,A_ScreenWidth, Int,A_ScreenHeight)
DllCall( "gdi32.dll\SelectObject", UInt,hdc_buffer, UInt,hbm_buffer)
Gui, 99: Show,hide, w1 h1 x1 y1, PokerWindow

if Timebank
	{
	settimer,clickwithdelay,250
	settimer,clicktime,334
	}
if Highlight
	settimer,Highlighter,334
if Autocheck
	settimer,clickcheck,334
return
;-----------------------------------------------------------------------------------------------------
Highlighter:
HighLighterA()
return

HighLighterA() 
{
global highlightlist
global border_color,border_size,act_x,act_y
winget,list,list,Limit ahk_class QWidget
loop %list%
{
id:=list%A_index% 
if DllCall( "IsWindowVisible", "UInt",id)
	{
	WinGetPos, x, y, w, h, ahk_id%id%
	if InStr(highlightlist,id)
		Loop, Parse, highlightlist, `,
			{
			if InStr(A_loopfield,id)
				{
				stringsplit,tab,A_loopfield,-
				if !((x=tab3) & (y=tab4) & (w=tab5) & (h=tab6))
					{
					Gui, %tab2%: Destroy
					listDelItem(highlightlist, A_Loopfield) 
					}
				}
			}
	pix:=PixelColorA(act_x,act_y,id)
	if (pix&255 = pix>>8&255)&(pix&255 = pix>>16&255)
		{
		if !InStr(highlightlist,id)
			{
			col:=border_color
			t:=border_size-1
			free:=freeGui()
			listAdd(highlightlist, id . "-" . free . "-" . x . "-" . y  . "-" . w  . "-" . h)
			region:="0-0 " . w . "-0 " . w . "-" . h . " 0-" . h . " 0-0 " . t . "-" . t . " " . w-t . "-" . t . " " . w-t . "-" . h-t . " " . t . "-" . h-t . " " . t . "-" . t
			Gui,%free%: +lastfound +alwaysOnTop -caption +owner
			gui,%free%:color,%col%
			Gui,%free%: Show, x%x% y%y% w%w% h%h% hide
			WinSet, Region, % region
			Gui,%free%: Show, noActivate
			}
		}
	else
		{
		if InStr(highlightlist,id)
		Loop, Parse, highlightlist, `,
			{
				if InStr(A_loopfield,id)
					{
					stringsplit,tab,A_loopfield,-
					Gui, %tab2%: Destroy
					listDelItem(highlightlist, A_Loopfield) 
					}
			}
		} 
	} 
}
}


freeGui() { 
Loop 97 { 
    Gui, %a_index%: +lastfoundExist 
    If ! WinExist() 
      return a_index 
  } 
} 
;-----------------------------------------------------------------------------------------------------
Clickcheck:
Clickcheck()
return

Clickcheck()
{
ControlSend,,{Space},Check or Fold
}
;-----------------------------------------------------------------------------------------------------
clicktime:
clicktime()
return

clicktime()
{
global tablequeue,time_x,time_y
winget,listenet,list,Limit ahk_class QWidget
loop %listenet%
{
id:=listenet%A_index%
pix1:=PixelColorA(time_x,time_y,id)
if (pix1>>16 > 60)
	{
	if !InStr(tablequeue,id)
		movetolist(id,A_TickCount)
	}
else
	if InStr(tablequeue,id)
		removefromlist(id)
}
}
;-----------------------------------------------------------------------------------------------------
clickwithdelay:
clickdelay()
return

clickdelay()
{
global tablequeue,interval1,time_x,time_y
Loop, Parse, tablequeue, `,
{
stringsplit,tab,A_loopfield,-
if A_TickCount-tab2>interval1
{
PostclickEnet(time_x,time_y,tab1)
listDelItem(tablequeue, A_Loopfield) 
}
}
}
;-----------------------------------------------------------------------------------------------------
PixelColorA(x,y,id)
{
global hdc_buffer
relClientPoint(x,y,id)
DllCall("PrintWindow", "UInt" , id , "UInt" , hdc_buffer , "UInt" , 0)
DllCall("RedrawWindow","UInt",id,"UInt",0,"UInt",0,"UInt", 1|16|32|64|1024)
pix := DllCall("GetPixel", "UInt", hdc_buffer, "Int", x, "Int", y)
DllCall("gdi32.dll\ReleaseDC", "Uint", hdc_buffer)
return pix
}
;-----------------------------------------------------------------------------------------------------
relClientPoint(ByRef x, ByRef y, id)
{
WinGetPos,,,w,h,ahk_id%id%
x:=floor(w*x)
y:=floor(h*y)
}
;-----------------------------------------------------------------------------------------------------
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)
}
;-----------------------------------------------------------------------------------------------------
removefromlist(winid)
{
global tablequeue
Loop, Parse, tablequeue, `,
{
if InStr(A_loopfield,winid)
listDelItem(tablequeue, A_Loopfield)
}
}

;-----------------------------------------------------------------------------------------------------
PostclickEnet(x,y,winid)
{
relClientPoint(x,y,winid)
DllCall("SetCapture","Uint",winid)
critical,6
PostMessage, 0x201, 1, ((y<<16)^x), , ahk_id%winid%
PostMessage, 0x202, 0, ((y<<16)^x), , ahk_id%winid%
critical,off
sleep,-1
DllCall("ReleaseCapture")
}
;-----------------------------------------------------------------------------------------------------
Fold:
Fold()
Return

Fold()
{
global fold_x,fold_y
MousegetPos,,,id
wingetclass,class,ahk_id%id%
wingettitle,title,ahk_id%id%
if (class="QWidget") & (instr(title, "Limit")>0)
	PostclickEnet(fold_x,fold_y,id)
else
	{
	suspend,on
	send {%A_ThisHotkey%}
	suspend,off
	}
}
;-----------------------------------------------------------------------------------------------------
Call:
Call()
Return

Call()
{
global call_x,call_y
MousegetPos,,,id
wingetclass,class,ahk_id%id%
wingettitle,title,ahk_id%id%
if (class="QWidget") & (instr(title, "Limit")>0)
	PostclickEnet(call_x,call_y,id)
else
	{
	suspend,on
	send {%A_ThisHotkey%}
	suspend,off
	}
}
;-----------------------------------------------------------------------------------------------------
Raise:
Raise()
Return

Raise()
{
global raise_x,raise_y
MousegetPos,,,id
wingetclass,class,ahk_id%id%
wingettitle,title,ahk_id%id%
if (class="QWidget") & (instr(title, "Limit")>0)
	PostclickEnet(raise_x,raise_y,id)
else
	{
	suspend,on
	send {%A_ThisHotkey%}
	suspend,off
	}
}
;-----------------------------------------------------------------------------------------------------
SitOutNextAll:
Sitout()
Return

Sitout()
{
global sitout_x,sitout_y
winget,listenet,list,Limit ahk_class QWidget
loop %listenet%
	{
	id:=listenet%A_index%
	pix1:=PixelColorA(sitout_x,sitout_y,id)
	If (pix1&255 > 50)
		PostclickEnet(sitout_x,sitout_y,id)
	}
}
;-----------------------------------------------------------------------------------------------------
BuildGui:
Gui, color, white
Gui, add, tab, h330 w300, General|Global hotkeys|Table hotkeys|Time

Gui, Tab, General

Gui, add, text, y120 x36, Highlighter on
Gui, add, Checkbox, y120 x270 Checked%Highlight% VHighlight
Gui, add, text, y140 x36, Autoclick Check in "Check or Fold" pop-up
Gui, add, Checkbox, y140 x270 Checked%Autocheck% VAutocheck

Gui, Add, Button, x95 y300 w55 h20 gSave,Submit
Gui, Add, Button, x155 y300 w55 h20 gCancel,Cancel

Gui, Tab, Global hotkeys

Gui, Add, Text, x25 y75 ,Suspend all hotkeys
Gui, Add, Edit, x220 y75 w50 h20 vsuspend, %suspend%
Gui, Add, Text, x25 y95 ,Pause/unpause
Gui, Add, Edit, x220 y95 w50 h20 vTogglePause, %TogglePause%

Gui, Add, Button, x95 y300 w55 h20 gSave,Submit
Gui, Add, Button, x155 y300 w55 h20 gCancel,Cancel

Gui, Tab, Time

Gui, add, Checkbox, y75 x200 Checked%Timebank% VTimebank
Gui, add, text, y75 x25,Click Timebank automatically
Gui, add, Text, w200 y95 x25, Time delay for pressing Time button, ms
Gui, add, Edit, w40 y90 x220 vInterval1, %interval1%
Gui, Add, Text, x25 y180 ,Sitout on all tables
Gui, Add, Edit, x180 y177 w50 h20 vSitOutNextAll, %SitOutNextAll%

Gui, Add, Button, x95 y300 w55 h20 gSave,Submit
Gui, Add, Button, x155 y300 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/CallAny
Gui, Add, Button, x95 y300 w55 h20 gSave,Submit
Gui, Add, Button, x155 y300 w55 h20 gCancel,Cancel

Gosub, GetIni
Gui, show, w316, %thisahk%
Return
;-----------------------------------------------------------------------------------------------------
GetIni:
IfNotExist, %thisahk%.ini
gosub, CreateIni

IniRead, Highlight, %thisahk%.ini, Settings, Highlight, 0
IniRead, Autocheck, %thisahk%.ini, Settings, Autocheck, 1

IniRead, Interval1, %thisahk%.ini, Settings, Interval1,0

IniRead, Timebank, %thisahk%.ini, Settings, Timebank, 0
IniRead, SitOutNextAll, %thisahk%.ini, Hotkeys, SitOutNextAll,%A_Space%
if SitOutNextAll
Hotkey, %SitOutNextAll%,SitOutNextAll

IniRead, suspend, %thisahk%.ini, Hotkeys, suspend,%A_Space%
if suspend
{
HotKey, IfWinActive
Hotkey, %suspend%,suspend
}
IniRead, TogglePause, %thisahk%.ini, Hotkeys, TogglePause,%A_Space%
if TogglePause
{
HotKey, IfWinActive
Hotkey, %TogglePause%,TogglePause
}
IniRead, fold, %thisahk%.ini, Hotkeys, fold,%A_Space%
if fold
Hotkey, %fold%,fold
IniRead, call, %thisahk%.ini, Hotkeys, call,%A_Space%
if call
Hotkey, %call%,call
IniRead, raise, %thisahk%.ini, Hotkeys, raise,%A_Space%
if raise
Hotkey, %raise%,raise
Return
;-----------------------------------------------------------------------------------------------------
MakeIni:
If ClassicTheme
IniWrite, %ClassicTheme%, %thisahk%.ini, Options, ClassicTheme
IniWrite, %Highlight%, %thisahk%.ini, Settings, Highlight
IniWrite, %Autocheck%, %thisahk%.ini, Settings, Autocheck
IniWrite, %Interval1%, %thisahk%.ini, Settings, Interval1
IniWrite, %Timebank%, %thisahk%.ini, Settings, Timebank
if SitOutNextAll
IniWrite, %SitOutNextAll%, %thisahk%.ini, Hotkeys, SitOutNextAll
if suspend
IniWrite, %suspend%, %thisahk%.ini, Hotkeys, suspend
if TogglePause
IniWrite, %TogglePause%, %thisahk%.ini, Hotkeys, TogglePause

if fold
IniWrite, %fold%, %thisahk%.ini, Hotkeys, fold
if call
IniWrite, %call%, %thisahk%.ini, Hotkeys, call
if raise
IniWrite, %raise%, %thisahk%.ini, Hotkeys, raise
Return
;-----------------------------------------------------------------------------------------------------
CreateIni:
Highlight:=0
Autocheck:=1
Interval1:=7000
Timebank:=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:
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdc_buffer )
DllCall( "gdi32.dll\DeleteDC","Uint",hdc_buffer)
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdcdef_buffer )
DllCall( "gdi32.dll\DeleteDC","Uint",hdcdef_buffer)
DllCall( "gdi32.dll\DeleteObject","Uint",hbm_buffer)
reload
return
;-----------------------------------------------------------------------------------------------------
Save:
Gui, Submit
FileDelete, %thisahk%.ini
gosub, MakeIni
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdc_buffer )
DllCall( "gdi32.dll\DeleteDC","Uint",hdc_buffer)
DllCall( "gdi32.dll\ReleaseDC", "Uint", hdcdef_buffer )
DllCall( "gdi32.dll\DeleteDC","Uint",hdcdef_buffer)
DllCall( "gdi32.dll\DeleteObject","Uint",hbm_buffer)
Reload
return
;-----------------------------------------------------------------------------------------------------
Cancel:
Gui, Destroy
Return
;-----------------------------------------------------------------------------------------------------
TogglePause:
pause,toggle
return
;-----------------------------------------------------------------------------------------------------
Suspend:
suspend
if A_IsSuspended=0
{
 suspended=Off
}
else
{
 suspended=On
}
Gui, 98:Add, Text,,Suspend: %suspended%
Gui, 98:+ToolWindow
Gui, 98:Show, w150 h20
Sleep, 1500
Gui, 98:Destroy
return
;-----------------------------------------------------------------------------------------------------
Edit:
edit
return
;-----------------------------------------------------------------------------------------------------
exitSub:
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",hdcdef_buffer)
DllCall( "gdi32.dll\DeleteDC","Uint",hdcdef_buffer)
exitApp
return

Can you give me Support? I pay you for it. thx

Someone has managed to run???
EnetCash - free AHK script for Enet network Quote

      
m