Open Side Menu Go to the Top
Register
Table Counter AHK for PokerStars Table Counter AHK for PokerStars

01-15-2014 , 10:42 PM
I there

Im new here on twoplustwo forum . Can somebody help me out with the AHK script. How can I used or get this started by playing Poker on Pokerstars. The only script that run on my computer is the table counter....so how Can used this AKH like table ninja.
Table Counter AHK for PokerStars Quote
01-16-2014 , 01:26 PM
What do you mean by "use this ahk like TN"?

http://www.autohotkey.com/docs/

Download AutoHotkey 1.0.48.05
(required version for most poker scripts)
Table Counter AHK for PokerStars Quote
02-04-2014 , 08:54 AM
Any updated ETA on the new version? Thanks.
Table Counter AHK for PokerStars Quote
02-04-2014 , 02:25 PM
Beta release - 2x4 layout:




Download SessionMan 2.6.8b (ul.to)

Customizable layout and improved MTT definitions will take longer than expected, hope this version will cut it for now. LMK if you find any bugs.




edit: Forgot to adjust the itemized counter layout (settings>colors); assignment is as follows:

L1 - L4 - R3
L2 - R1 - R4
L3 - R2 - n/a

Last edited by Baobhan-Sith; 02-04-2014 at 02:30 PM.
Table Counter AHK for PokerStars Quote
02-05-2014 , 07:37 PM
Thanks, will try it out tomorrow!
Table Counter AHK for PokerStars Quote
04-15-2014 , 12:31 AM
This simple table counter slightly cuts the third digit of total amount of tables. So, when I hit 100+ total tables, the third digit can be hard to read. Can anyone be so kind as to make the table counter a little bigger and centered? Thank you!

Picture of Table Counter


Spoiler:
Code:
; About:
; This script is based on the work of Daxonovitch and others, on 2+2 (http://forumserver.twoplustwo.com/16...80/index5.html).
; Credit goes to all the people who actually contribute to/share with the community! 
; Especially to Juk, _dave_, Roland, Baobhan-Sith and HighSteakes. Thanks!
; Author: Show`nTell
; Site: PokerStars
; Features: 
;	Displays the number of currently open tables and the number of total tables opened.
; 	Displays the duration of the session in minutes, including a timelimit. 
; 	Rightclick the GUI to open the menu .
; 	Leftclick and hold button down to drag the GUI.
; Disclaimer: Use at your own risk!
; Help : Post on 2+2 and visit http://www.autohotkey.com/docs/.

; Note: In regards to changing the code, just edit it to your likings and post the result on 2+2! If you cant do it yourself, just post a request.

;____ TableCounter ______________________________________________________________________
;########################################################################################
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance,Force
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode, 2

; Set some variables
scripttitle=TableCounter
TimeLimit=60 ;  Edit here to change the desired session time in minutes. If reached, displayed number changes its color.
numtables:=0
TotalTablesOpened:=0
Mins:=-1
Var:=-1

;____CREATE THE GUI______________________________________________________________________
Menu,%scripttitle%,Add,Reset Counter,ResetCounter
Menu, %scripttitle%, Add, Reload, Reload
Menu,%scripttitle%, Add, Edit, Edit
Menu,%scripttitle%, Add, About, About
Menu,%scripttitle%,Add,Minimize To Tray,Minimize
Menu,%scripttitle%,Add,Exit,GuiClose
Gui -MaximizeBox  -MinimizeBox +AlwaysOnTop -Caption +Resize +LastFound ;   +/-Caption to add/remove titlebar.
Gui, Color, 444444
Gui, Font, s12 cWhite bold, Arial
Gui, Add, Text, x2 y3 w20 vOpenTables Right,--
Gui, Add, Text, x24 y3 w3,/ 
Gui, Add, Text, x30 y3 w25 cLime vTotalTablesOpened Left,--
Gui, Font, s11 c999999
Gui, Add, Text, x0 y22 w25 c9D9DA1 vSessionTime Right, --- 
Gui, Font, s8
Gui, Add, Text, x28 y24 c9D9DA1, Min
IniRead, gui_position, %scripttitle%.ini, window position, gui_position, Center ;  read the saved positions or center if not previously saved.
Gui, +Hwndgui_id ;  get the window's ID so we can get its position later.
Gui, Show, %gui_position% w52 h42, %scripttitle% ;  show the window at the saved position.

TableCounterHwnd:=winExist()
OnMessage(0x201, "WM_LBUTTONDOWN") 
OnExit, GetPos
SetTimer,TableCounter,1000 ;  Label "TableCounter" (below) will be executed every 1000 milliseconds.
	
Return    
;#### END AUTOEXECUTE SECTION ###########################################################


;___LABELS_______________________________________________________________________________
TableCounter:
    numtables := 0 ;  numtables is the total number of currently open tables (also non-seated tables and the replayer).
    WinGet, Id, list, ahk_class PokerStarsTableFrameClass,, Program Manager ;  will find all partypoker tables. Id is the total number of tables found and Id1 is the ahk id of the first table, Id2 is the ahk id of the second table and so on. 
	/* ;  Enable this paragraph to show results (remove "/*" and "*/"):	
	TT = 
	Content = 
	Loop, %Id%
	{
		TT = % id%A_Index%
		Content = %Content%`n%TT%
	}	
	MsgBox, Variable "Id" contains:`n`nTables:%Id%%Content%
	*/
    Loop,%Id%
    {
		FormatTime, Minutes, %A_Now%, m
		If (Minutes != Var)
		{
			Mins += 1
			GuiControl,, SessionTime, %Mins% 
			Var := Minutes
		}
		If (Mins >= TimeLimit)
		{
			Gui, Font, s11 cRed
			GuiControl, Font, SessionTime
		}
		Hwnd:=id%A_index%    
		numtables += 1
		If Hwnd not in  %TableHwndList% 
		{ 
			WinGetTitle,Title,ahk_id%hwnd%
			IF (InStr(Title,Logged In as))
			{ 	
				TableHwndList:= TableHwndList ?  TableHwndList . "," . Hwnd : Hwnd
				TotalTablesOpened+=1 ;  The variable "TotalTablesOpened" is the total number of tables opened during a session.
			}    
		}	
	}
	If (numtables != lasttables) OR  (SaveTotalTablesOpened != TotalTablesOpened)
	{
		GuiControl,, OpenTables, %numtables%
		lasttables = %numtables%
		SaveTotalTablesOpened = %TotalTablesOpened%
		If (TotalTablesOpened > 999)
			TotalTablesOpened = 999
		GuiControl,, TotalTablesOpened,%TotalTablesOpened% 
	}
	Return
Minimize: 
	Gui,Minimize
	WinSetTitle,Ahk_id%TableCounterHwnd%,,%numtables% / %TotalTablesOpened%
	Return
GuiSize:
  TrayCounter := A_EventInfo=1 ? 1 : 0
	Return
GuiContextMenu:
	Menu, TableCounter, Show  
	Return
ResetCounter:
	TotalTablesOpened:=0
	GuiControl,, TotalTablesOpened,0 
	Return
Reload:
	Reload
	Return
Edit:
	Edit
	Return 
About:
WinGetPos, Gui_X, Gui_Y, Gui_W, Gui_H, ahk_id %Gui_Id%
	Gui_X -= 20
	Gui_Y += 25
	Gui, About:New, ,About
	Gui About:Default 
	Gui -MaximizeBox -SysMenu +AlwaysOnTop +ToolWindow +LastFound 
	Gui, Font, s9 norm, Arial
	Gui, Add, Text, x5 y5, This script is based on the work of Daxonovitch and others, on
	Gui, Font, bold underline
	Gui, Add, Text, x348 y5 cBlue gForumOpen, 2+2
	Gui, Font, norm
	Gui, Add, Text, x370 y5,.
	Gui, Add, Text, x5 y20, Credit goes to all the people who actually contribute to/share with the community! 
	Gui, Add, Text, x5 y35, Especially to Juk, _dave_, Roland, Baobhan-Sith and HighSteakes. Thanks!
	Gui, Font, bold
	Gui, Add, Text, x5 y65, Author: 
	Gui, Font, norm
	Gui, Add, Text, x50 y65, Show"nTell
	Gui, Font, bold
	Gui, Add, Text, x5 y80, Site: 
	Gui, Font, norm
	Gui, Add, Text, x35 y80, Pokerstars
	Gui, Font, bold
	Gui, Add, Text, x5 y95, Features: 
	Gui, Font, norm
	Gui, Add, Text, x5 y110, %A_Space%Displays the number of currently open tables and the number of total tables opened.
	Gui, Add, Text, x5 y125, %A_Space%Displays the duration of the session in minutes, including a timelimit.
	Gui, Add, Text, x5 y140, %A_Space%Rightclick the GUI to open the menu.
	Gui, Add, Text, x5 y155, %A_Space%Leftclick and hold button down to drag the GUI.
	Gui, Font, bold
	Gui, Add, Text, x5 y170, Disclaimer: 
	Gui, Font, norm
	Gui, Add, Text, x73 y170, Use at your own risk!
	Gui, Font, bold
	Gui, Add, Text, x5 y185, Help: 
	Gui, Font, norm
	Gui, Add, Text, x37 y185,Post on 
	Gui, Font, bold underline
	Gui, Add, Text, x82 y185 cblue gForumOpen,2+2 
	Gui, Font, norm
	Gui, Add, Text, x108 y185, and visit 
	Gui, Font, bold underline
	Gui, Add, Text, x159 y185 cBlue gAHKOpen, autohotkey.com
	Gui, Font, norm
	Gui, Add, Text, x251 y185,.
	Gui, Add, Button, x5 y205 w40 h15 gAboutClose, EXIT
	Gui, Show, x%Gui_X% y%Gui_Y% w470 h220, About TableCounter
	Return 
AboutClose:
	Gui, Destroy
	Return
ForumOpen:
	Run http://forumserver.twoplustwo.com/16...80/index5.html
	Return
AHKOpen:
	Run http://www.autohotkey.com/docs/
	Return
GetPos:
	WinGetPos, gui_x, gui_y, gui_w, gui_h, ahk_id %gui_id%
	If (Gui_X = "")
		Gui_X:= 52
	If (Gui_Y = "")
		Gui_Y:= 42
	IniWrite, x%gui_x% y%gui_y%, %scripttitle%.ini, window position, gui_position
	GoTo, GuiClose
	Return
GuiClose:
	ExitApp
	Return
;____HOTKEYS_____________________________________________________________________________
F9:: ;  reset counter (SessionTime).
	Mins = 0
	Gui, Font, c999999
	GuiControl, Font, SessionTime
	GuiControl,, SessionTime, %Mins% 
	Return
F10:: ;  counter (SessionTime) + 1.
	Var = -1
	Return
F12::
	GoTo, GuiClose
	Return
WM_LBUTTONDOWN()
	{
	PostMessage, 0xA1, 2
	}
	Return
	
;____END_________________________________________________________________________________

Last edited by kwanho1; 04-15-2014 at 12:51 AM.
Table Counter AHK for PokerStars Quote
04-28-2014 , 01:23 AM
Quote:
Originally Posted by kwanho1
This simple table counter slightly cuts the third digit of total amount of tables. So, when I hit 100+ total tables, the third digit can be hard to read. Can anyone be so kind as to make the table counter a little bigger and centered? Thank you!
(137) : ==> Parameter #1 invalid
Table Counter AHK for PokerStars Quote
05-01-2014 , 07:19 PM
Spoiler:
Code:
; About:
; This script is based on the work of Daxonovitch and others, on 2+2 (http://forumserver.twoplustwo.com/168/free-software/table-counter-ahk-pokerstars-874680/index5.html).
; Credit goes to all the people who actually contribute to/share with the community! 
; Especially to Juk, _dave_, Roland, Baobhan-Sith and HighSteakes. Thanks!
; Author: Show`nTell
; Site: PokerStars
; Features: 
;	Displays the number of currently open tables and the number of total tables opened.
; 	Displays the duration of the session in minutes, including a timelimit. 
; 	Rightclick the GUI to open the menu .
; 	Leftclick and hold button down to drag the GUI.
; Disclaimer: Use at your own risk!
; Help : Post on 2+2 and visit http://www.autohotkey.com/docs/.

; Note: In regards to changing the code, just edit it to your likings and post the result on 2+2! If you cant do it yourself, just post a request.

;____ TableCounter ______________________________________________________________________
;########################################################################################
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance,Force
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
SetTitleMatchMode, 2

; Set some variables
scripttitle=TableCounter
TimeLimit=60 ;  Edit here to change the desired session time in minutes. If reached, displayed number changes its color.
numtables:=0
TotalTablesOpened:=0
Mins:=-1
Var:=-1

;____CREATE THE GUI______________________________________________________________________
Menu,%scripttitle%,Add,Reset Counter,ResetCounter
Menu, %scripttitle%, Add, Reload, Reload
Menu,%scripttitle%, Add, Edit, Edit
Menu,%scripttitle%, Add, About, About
Menu,%scripttitle%,Add,Minimize To Tray,Minimize
Menu,%scripttitle%,Add,Exit,GuiClose
Gui -MaximizeBox  -MinimizeBox +AlwaysOnTop -Caption +Resize +LastFound ;   +/-Caption to add/remove titlebar.
Gui, Color, 444444
Gui, Font, s12 cWhite bold, Arial
Gui, Add, Text, x2 y3 w20 vOpenTables Right,--
Gui, Add, Text, x24 y3 w3,/ 
Gui, Add, Text, x30 y3 w25 cLime vTotalTablesOpened Left,--
Gui, Font, s11 c999999
Gui, Add, Text, x0 y22 w25 c9D9DA1 vSessionTime Right, --- 
Gui, Font, s8
Gui, Add, Text, x28 y24 c9D9DA1, Min
IniRead, gui_position, %scripttitle%.ini, window position, gui_position, Center ;  read the saved positions or center if not previously saved.
Gui, +Hwndgui_id ;  get the window's ID so we can get its position later.
Gui, Show, %gui_position% w58 h42, %scripttitle% ;  show the window at the saved position.

TableCounterHwnd:=winExist()
OnMessage(0x201, "WM_LBUTTONDOWN") 
OnExit, GetPos
SetTimer,TableCounter,1000 ;  Label "TableCounter" (below) will be executed every 1000 milliseconds.
	
Return    
;#### END AUTOEXECUTE SECTION ###########################################################


;___LABELS_______________________________________________________________________________
TableCounter:
    numtables := 0 ;  numtables is the total number of currently open tables (also non-seated tables and the replayer).
    WinGet, Id, list, ahk_class PokerStarsTableFrameClass,, Program Manager ;  will find all partypoker tables. Id is the total number of tables found and Id1 is the ahk id of the first table, Id2 is the ahk id of the second table and so on. 
	/* ;  Enable this paragraph to show results (remove "/*" and "*/"):	
	TT = 
	Content = 
	Loop, %Id%
	{
		TT = % id%A_Index%
		Content = %Content%`n%TT%
	}	
	MsgBox, Variable "Id" contains:`n`nTables:%Id%%Content%
	*/
    Loop,%Id%
    {
		FormatTime, Minutes, %A_Now%, m
		If (Minutes != Var)
		{
			Mins += 1
			GuiControl,, SessionTime, %Mins% 
			Var := Minutes
		}
		If (Mins >= TimeLimit)
		{
			Gui, Font, s11 cRed
			GuiControl, Font, SessionTime
		}
		Hwnd:=id%A_index%    
		numtables += 1
		If Hwnd not in  %TableHwndList% 
		{ 
			WinGetTitle,Title,ahk_id%hwnd%
			IF (InStr(Title,Logged In as))
			{ 	
				TableHwndList:= TableHwndList ?  TableHwndList . "," . Hwnd : Hwnd
				TotalTablesOpened+=1 ;  The variable "TotalTablesOpened" is the total number of tables opened during a session.
			}    
		}	
	}
	If (numtables != lasttables) OR  (SaveTotalTablesOpened != TotalTablesOpened)
	{
		GuiControl,, OpenTables, %numtables%
		lasttables = %numtables%
		SaveTotalTablesOpened = %TotalTablesOpened%
		GuiControl,, TotalTablesOpened,%TotalTablesOpened% 
	}
	Return
Minimize: 
	Gui,Minimize
	WinSetTitle,Ahk_id%TableCounterHwnd%,,%numtables% / %TotalTablesOpened%
	Return
GuiSize:
  TrayCounter := A_EventInfo=1 ? 1 : 0
	Return
GuiContextMenu:
	Menu, TableCounter, Show  
	Return
ResetCounter:
	TotalTablesOpened:=0
	GuiControl,, TotalTablesOpened,0 
	Return
Reload:
	Reload
	Return
Edit:
	Edit
	Return 
About:
WinGetPos, Gui_X, Gui_Y, Gui_W, Gui_H, ahk_id %Gui_Id%
	Gui_X -= 20
	Gui_Y += 25
	Gui, About:New, ,About
	Gui About:Default 
	Gui -MaximizeBox -SysMenu +AlwaysOnTop +ToolWindow +LastFound 
	Gui, Font, s9 norm, Arial
	Gui, Add, Text, x5 y5, This script is based on the work of Daxonovitch and others, on
	Gui, Font, bold underline
	Gui, Add, Text, x348 y5 cBlue gForumOpen, 2+2
	Gui, Font, norm
	Gui, Add, Text, x370 y5,.
	Gui, Add, Text, x5 y20, Credit goes to all the people who actually contribute to/share with the community! 
	Gui, Add, Text, x5 y35, Especially to Juk, _dave_, Roland, Baobhan-Sith and HighSteakes. Thanks!
	Gui, Font, bold
	Gui, Add, Text, x5 y65, Author: 
	Gui, Font, norm
	Gui, Add, Text, x50 y65, Show"nTell
	Gui, Font, bold
	Gui, Add, Text, x5 y80, Site: 
	Gui, Font, norm
	Gui, Add, Text, x35 y80, Pokerstars
	Gui, Font, bold
	Gui, Add, Text, x5 y95, Features: 
	Gui, Font, norm
	Gui, Add, Text, x5 y110, %A_Space%Displays the number of currently open tables and the number of total tables opened.
	Gui, Add, Text, x5 y125, %A_Space%Displays the duration of the session in minutes, including a timelimit.
	Gui, Add, Text, x5 y140, %A_Space%Rightclick the GUI to open the menu.
	Gui, Add, Text, x5 y155, %A_Space%Leftclick and hold button down to drag the GUI.
	Gui, Font, bold
	Gui, Add, Text, x5 y170, Disclaimer: 
	Gui, Font, norm
	Gui, Add, Text, x73 y170, Use at your own risk!
	Gui, Font, bold
	Gui, Add, Text, x5 y185, Help: 
	Gui, Font, norm
	Gui, Add, Text, x37 y185,Post on 
	Gui, Font, bold underline
	Gui, Add, Text, x82 y185 cblue gForumOpen,2+2 
	Gui, Font, norm
	Gui, Add, Text, x108 y185, and visit 
	Gui, Font, bold underline
	Gui, Add, Text, x159 y185 cBlue gAHKOpen, autohotkey.com
	Gui, Font, norm
	Gui, Add, Text, x251 y185,.
	Gui, Add, Button, x5 y205 w40 h15 gAboutClose, EXIT
	Gui, Show, x%Gui_X% y%Gui_Y% w470 h220, About TableCounter
	Return 
AboutClose:
	Gui, Destroy
	Return
ForumOpen:
	Run http://forumserver.twoplustwo.com/168/free-software/table-counter-ahk-pokerstars-874680/index5.html
	Return
AHKOpen:
	Run http://www.autohotkey.com/docs/
	Return
GetPos:
	WinGetPos, gui_x, gui_y, gui_w, gui_h, ahk_id %gui_id%
	If (Gui_X = "")
		Gui_X:= 58
	If (Gui_Y = "")
		Gui_Y:= 42
	IniWrite, x%gui_x% y%gui_y%, %scripttitle%.ini, window position, gui_position
	GoTo, GuiClose
	Return
GuiClose:
	ExitApp
	Return
;____HOTKEYS_____________________________________________________________________________
F9:: ;  reset counter (SessionTime).
	Mins = 0
	Gui, Font, c999999
	GuiControl, Font, SessionTime
	GuiControl,, SessionTime, %Mins% 
	Return
F10:: ;  counter (SessionTime) + 1.
	Var = -1
	Return
F12::
	GoTo, GuiClose
	Return
WM_LBUTTONDOWN()
	{
	PostMessage, 0xA1, 2
	}
	Return
	
;____END_________________________________________________________________________________


I like this size but the number of total tables opened still slightly cuts the third number when I hit 100+. A quarter of the number is vertically cut. Is there a fix somewhere in the script? Please let me know.
Table Counter AHK for PokerStars Quote
05-01-2014 , 08:23 PM



I will ship $5USD on Pokerstars if anyone finds a fix.

Last edited by kwanho1; 05-01-2014 at 08:41 PM.
Table Counter AHK for PokerStars Quote
05-06-2014 , 12:04 PM
AFAIK you cannot center the counter when using separate controls for current and total tables*. Either combine both variables into one control like I did it in SessionMan (this doesn't allow for unique font settings for each variable though), or make the GUI size dynamic using autosize.

*edit: You could however make control coords variable depending on the value of the control variable itself, eg:


if TotalTablesOpened < 10
TotalTablesOpenedXpos := 30
else, if TotalTablesOpened < 100
TotalTablesOpenedXpos := 20
else, TotalTablesOpenedXpos := 10

GuiControl, Move, TotalTablesOpened, x%TotalTablesOpenedXpos%

Last edited by Baobhan-Sith; 05-06-2014 at 12:16 PM.
Table Counter AHK for PokerStars Quote
07-02-2014 , 06:39 PM
I need your help. I dont know anything about AHK coding, i just delete blind then checked if its working and finally got this one.

Code:
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance,Force

TimeLimit=800	;desired session time in minutes (choose a 4-digit number to disable color change)

numtables:=0
TotalTabelsOpend:=0
Mins:=-1
Var:=-1


Menu,TableCounter,Add,Minimize To Tray,Minimize
Menu,TableCounter,Add,Reset Counter, ResetCounter
Menu,Tablecounter,Add,Exit,GuiClose

Gui  -MaximizeBox  -Resize  -MinimizeBox  -AlwaysOnTop  +Caption  +LastFound ;  Change +/- Caption To remove Or Add titlebar
Gui, Font, s12 c999999, Verdana
Gui, Add, Text, y+8 c999999 vSessionTime Center, 000 Min
Gui, Color, 000000
Gui, Font, s20 cWhite, Verdana



Gui,Margin,10,10

Gui, Add, Text, y+ cWhite vMyControl Center,0000


Gui, Show,    AutoSize , Tbls
TabelCounterHwnd:=winExist()

OnMessage(0x201, "WM_LBUTTONDOWN")
SetTimer,TableCounter,1000
Return


; NumTables counts evry table ( also Non Seated tables and the Replayer )
; TotalTabelsOpend only Counts tables where you where Seated
; RightClick the window to Get a menu to Reset Or Close TableCounter  | Minimize  To Tray
; Hold Left button down to drag window
; Change -Caption To Remove Titlebar or +Caption To Add Titlebar
 
 
TableCounter:

    numtables := 0

    ;snippet will find all pokerstars windows
    WinGet, Id, list, ahk_class PokerStarsTableFrameClass,, Program Manager
    Loop,%Id%
    {

	FormatTime, Minutes, %A_Now%, m

	If (Minutes != Var)
		{
		Mins += 1
		GuiControl,, SessionTime, %Mins% Min
		Var := Minutes
		}

	If (Mins >= TimeLimit)
		{
		Gui, Font, s12 c00ff00
		GuiControl, Font, SessionTime
		}

         Hwnd:=id%A_index%
       
       
         numtables += 1
        IF  Hwnd not in  %TableHwndList% 
        { 
        	WinGettitle,Title,ahk_id%hwnd%
      		IF  Instr(Title," Logged In as ")
       		{
        	
                	
                	TableHwndList:= TableHwndList ?  TableHwndList . "," . Hwnd : Hwnd
       				TotalTabelsOpend+=1
 	        	
       		}    
    	}
   }


    if (numtables != lasttables) OR  (SaveTotalTabelsOpend != TotalTabelsOpend)
    {
      IF TrayCounter 
       WinSetTitle,Ahk_id%TabelCounterHwnd%,,%numtables% / %TotalTabelsOpend% 
       
      GuiControl,, MyControl, %numtables%
        lasttables = %numtables%
        SaveTotalTabelsOpend = %TotalTabelsOpend%
        GuiControl,, TotalTabelsOpend,%TotalTabelsOpend%
    
    }


return

Minimize: 
Gui,Minimize
WinSetTitle,Ahk_id%TabelCounterHwnd%,,%numtables% / %TotalTabelsOpend%
Return

GuiSize:
  TrayCounter := A_EventInfo=1 ? 1 : 0

Return

GuiContextMenu:
Menu, TableCounter, Show  
Return


ResetCounter:
TotalTabelsOpend:=0
GuiControl,, TotalTabelsOpend,0 
Return
;--------------------------------------------------------------------------------------------------------------------------------
F11::								;counter (SessionTime) reset
Mins = 0
Gui, Color, 000000
Gui, Font, s12 c999999
GuiControl, Font, SessionTime
GuiControl,, SessionTime, %Mins% Min
return

F10::							;counter (SessionTime) + 1
Var = -1
return
;--------------------------------------------------------------------------------------------------------------------------------

GuiClose:
ExitApp

Return
Since now it was suitable for me, but now i want it to show me total # of tables and # of all tables im currently sitting (not open) on every stake, lets say 3 different type 15/30/60$ (ofc can edit it later as well like colours).
How can i edit code to show it like i want to (i did it in paint what i want to achieve):


TY in advance.

BTW i found ahk that shows # of table sited, maybe it will be useful to combine and do what i need.
Code:
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance,Force

TimeLimit=800	;desired session time in minutes (choose a 4-digit number to disable color change)

numtables:=0
TotalTabelsOpend:=0
Mins:=-1
Var:=-1


Menu,TableCounter,Add,Minimize To Tray,Minimize
Menu,TableCounter,Add,Reset Counter, ResetCounter
Menu,Tablecounter,Add,Exit,GuiClose

Gui  -MaximizeBox  -Resize  -MinimizeBox  -AlwaysOnTop  +Caption  +LastFound ;  Change +/- Caption To remove Or Add titlebar
Gui, Font, s12 c999999, Verdana
Gui, Add, Text, y+8 c999999 vSessionTime Center, 000 Min
Gui, Color, 000000
Gui, Font, s20 cWhite, Verdana

Gui,Margin,10,10

Gui, Add, Text, y+ cGreen vTotalTabelsOpend Center,0000

Gui, Show,    AutoSize , Tbls
TabelCounterHwnd:=winExist()

OnMessage(0x201, "WM_LBUTTONDOWN")
SetTimer,TableCounter,1000
REturn    

; NumTables counts evry table ( also Non Seated tables and the Replayer )
; TotalTabelsOpend only Counts tables where you where Seated
; RightClick the window to Get a menu to Reset Or Close TableCounter  | Minimize  To Tray
; Hold Left button down to drag window
; Change -Caption To Remove Titlebar or +Caption To Add Titlebar
 
TableCounter:

    numtables := 0

    ;snippet will find all pokerstars windows
    WinGet, Id, list, ahk_class PokerStarsTableFrameClass,, Program Manager
    Loop,%Id%
    {

	FormatTime, Minutes, %A_Now%, m

	If (Minutes != Var)
		{
		Mins += 1
		GuiControl,, SessionTime, %Mins% Min
		Var := Minutes
		}

	If (Mins >= TimeLimit)
		{
		Gui, Font, s12 c00ff00
		GuiControl, Font, SessionTime
		}

         Hwnd:=id%A_index%
       
       
         numtables += 1
        IF  Hwnd not in  %TableHwndList% 
        { 
        	WinGettitle,Title,ahk_id%hwnd%
      		IF  Instr(Title," Logged In as ")
       		{
        	
                	
                	TableHwndList:= TableHwndList ?  TableHwndList . "," . Hwnd : Hwnd
       				TotalTabelsOpend+=1
 	        	
       		}    
    	}
   }


    if (numtables != lasttables) OR  (SaveTotalTabelsOpend != TotalTabelsOpend)
    {
      IF TrayCounter 
       WinSetTitle,Ahk_id%TabelCounterHwnd%,,%numtables% / %TotalTabelsOpend% 
       
      GuiControl,, MyControl, %numtables%
        lasttables = %numtables%
        SaveTotalTabelsOpend = %TotalTabelsOpend%
        GuiControl,, TotalTabelsOpend,%TotalTabelsOpend%
    
    }


return

Minimize: 
Gui,Minimize
WinSetTitle,Ahk_id%TabelCounterHwnd%,,%numtables% / %TotalTabelsOpend%
Return

GuiSize:
  TrayCounter := A_EventInfo=1 ? 1 : 0

Return

GuiContextMenu:
Menu, TableCounter, Show  
Return


ResetCounter:
TotalTabelsOpend:=0
GuiControl,, TotalTabelsOpend,0 
Return
;--------------------------------------------------------------------------------------------------------------------------------
F11::								;counter (SessionTime) reset
Mins = 0
Gui, Color, 000000
Gui, Font, s12 c999999
GuiControl, Font, SessionTime
GuiControl,, SessionTime, %Mins% Min
return

F10::							;counter (SessionTime) + 1
Var = -1
return
;--------------------------------------------------------------------------------------------------------------------------------

GuiClose:
ExitApp

Return
Table Counter AHK for PokerStars Quote
07-07-2014 , 01:36 PM
Hi,

Thank you so much for the script. It is really handy and easy to use. However I recently started playing hyper turbo sngs and I ran into a problem. How can I set SessionMan 2.6.8.b up to count the Hypers also? Thanks in advance for any help.

cheers
Table Counter AHK for PokerStars Quote
07-19-2014 , 05:44 AM
Hi,

Thanks for this great script and your hard work.

I would liked to adapted 2.6.8b version to my case for PS French room games.

So i modified the script to have 20 stakes in 4 columns and 5 lines.

I created new layout "20" and modified the numbers of this variables : vcounter, vcontrol, vprev, vEdit, Vselect, c, t, VPP, Color, and new one column VScaption.

The setting in gui2 isn't applied when i modified it (stakes, color box ...). And in the main gui from the eleven stake, i haven't got the stack title but only xxxx/xxx. I compared and analysed code several times and don't find where i'm wrong.

You can see the result below.




(In the main Gui i must modify some display setting, In color setting, from the eleven color pick the selector not applied the color in preview case but if i indicate the color code number and save the color is applied with success in the main Gui)

Here is the modified script : http://uploaded.net/file/6gfdt272

I search how i can solve this mistake, but if somebody know the script and can check where i'm wrong or indicate to me all the parts of the script to be modified when you create a new layout with new stakes and columns.

Thx for you help and your work.
Table Counter AHK for PokerStars Quote
07-23-2014 , 02:11 AM
Hi all,

I found where was my problem the N° of vcontrol variables wasn't correct.

Now i must to solve this :

- preview case not take in charge from the eleven case in color option setting gui

- Total counter : not functionnal, the current ABI and Invest are always at 0
the total ABI and INvest are partially functionnal.

The reason is certainly the currency format : total is ok with this format "€xx" but not with the main format that is "xx €". All of this format are present in French Ps. I review the code but not understand exactly how the currency format is defined.

Here you can see the result :




If somebody can explainde to me, the ABI and INvest calculation part and currency format ?


Thx
Table Counter AHK for PokerStars Quote
07-27-2014 , 07:33 PM
I'm sorry I can't offer in-depth support and further customizations atm.
Quote:
Originally Posted by svoloch
If somebody can explainde to me, the ABI and INvest calculation part and currency format ?


Thx
Here's the original code I partially embedded:

http://forumserver.twoplustwo.com/sh...7&postcount=12
Table Counter AHK for PokerStars Quote
04-23-2015 , 10:25 AM
Looks really nice, but have problem to download it from ul.to. Is there any chance to upload it on another site?

Thank you,
Vlad
Table Counter AHK for PokerStars Quote
07-12-2015 , 08:58 AM
Hi Baobhan-Sith,

Really great work.

Could you extended it to work for Spin N Go's also?

Thanks,

Mike
Table Counter AHK for PokerStars Quote
08-05-2015 , 08:04 PM
HEy guys,

Can anyone help me?

I use Sessionmen 2.2 but when i start an MTT of 4.4$ it is OK but when i open THE BIG 4.4$ My total buy-in dont increase / average buy-in stays the same...

This is my Script:

#SingleInstance, force
;#NoTrayIcon
DetectHiddenWindows, On
SetTitleMatchMode, 2 ;1=start 2=contain 3=exact match

;================================================= ====== CONFIG SECTION ================================================== =======

SoundBust = C:\Program Files (x86)\PokerStars.BE\snd\newsnd17.wav ;sound if table closes
SoundAchieve = C:\Program Files (x86)\PokerStars.BE\snd\snd13.wav ;sound if TotalLimit reached

GuiPos = x0 y0 ;position of GUI on screen
;move the window where you want it to be, then use WindowSpy to grab its coords

LoopInterval = 100 ;counter update interval in msec (1000 = 1sec, default = 100)

Stake1 = $3.50 ;eg. "$3.50+R"
Stake2 = $7.00 ;eg. "$8.00"
Stake3 = $3.50 ;eg. "$15.00"
Stake4 = $7.00 ;eg. "$35.00"
Stake5 = $2.50
Stake6 = Gtd ;eg. "Gtd"

Players1 = 18 Players
Players2 = 18 Players
Players3 = 45 Players
Players4 = 45 Players
Players5 = 180 Players

Color1 = 00AAFF ;color for table counter - stake1
Color2 = 00AAFF ;color for table counter - stake2
Color3 = ffff00 ;color for table counter - stake3
Color4 = ffff00 ;color for table counter - stake4
Color5 = ff0000 ;color for table counter - stake5
Color6 = 00ff00 ;color for table counter - stake6

CurrentLimit = 20 ;desired table limit (current)
TotalLimit = 100 ;desired table limit (session)
SoundInterval = 25 ;SoundAchieve replays after "TotalLimit" + N tables
SessionTimeLimit = 12:00 ;desired session time limit (h:mm)
MaxABI = 25 ;maximum desired ABI (current & session)
MaxInvest = 2000 ;maximum desired investment (session)

LimitColor = 33FF33 ;color of 'SessionTime' and 'TotalTables' counters after reaching their set limits
ClockColorBreak = FF0000 ;clock color indicating sync tourney break (CCCCCC to disable this option)

RebuyMulti = 3 ;stake multiplier for rebuy tourneys (ABI/Stake)
;!!!EDIT LINE 436!!!

;=========================================== CONFIG HOTKEYS AT BOTTOM OF THE SCRIPT =============================================

;::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::

;================================================= =========== GUI ================================================== =============

Gui -MaximizeBox -Resize +AlwaysOnTop +ToolWindow -MinimizeBox
Gui, Show, W194 H408 %GuiPos%, Niki's MTT Counter
Gui, Color, 000000
;_________________________________________________ __________ TOTALS __________________________________________________ ___________

Gui, Font, s22 cCCCCCC, Verdana
Gui, Add, Text, x-8 y1 vTotalTables Center, 00000 / 00000

Gui, Font, s18 c555555, Verdana
Gui, Add, Text, x7 y14 Center, ____________
;_________________________________________________ __________ STAKE 1 __________________________________________________ __________

Gui, Font, s8 c%Color1%, Verdana
Gui, Add, Text, x27 y45 vControl1 Center, 00000000000000000000

Gui, Font, s16 c%Color1%, Verdana
Gui, Add, Text, x20 y57 vStake1 Center, 00000 / 00000
;................................................. .......... STAKE 2 .................................................. ..........

Gui, Font, s8 c%Color2%, Verdana
Gui, Add, Text, x27 y89 vControl2 Center, 00000000000000000000

Gui, Font, s16 c%Color2%, Verdana
Gui, Add, Text, x20 y101 vStake2 Center, 00000 / 00000
;................................................. .......... STAKE 3 .................................................. ..........

Gui, Font, s8 c%Color3%, Verdana
Gui, Add, Text, x27 y133 vControl3 Center, 00000000000000000000

Gui, Font, s16 c%Color3%, Verdana
Gui, Add, Text, x20 y145 vStake3 Center, 00000 / 00000
;................................................. .......... STAKE 4 .................................................. ..........

Gui, Font, s8 c%Color4%, Verdana
Gui, Add, Text, x27 y177 vControl4 Center, 00000000000000000000

Gui, Font, s16 c%Color4%, Verdana
Gui, Add, Text, x20 y189 vStake4 Center, 00000 / 00000
;................................................. .......... STAKE 5 .................................................. ..........

Gui, Font, s8 c%Color5%, Verdana
Gui, Add, Text, x27 y221 vControl5 Center, 00000000000000000000

Gui, Font, s16 c%Color5%, Verdana
Gui, Add, Text, x20 y233 vStake5 Center, 00000 / 00000
;................................................. .......... STAKE 6 .................................................. ..........

Gui, Font, s8 c%Color6%, Verdana
Gui, Add, Text, x27 y265 vControl6 Center, 00000000000000000000

Gui, Font, s16 c%Color6%, Verdana
Gui, Add, Text, x20 y277 vStake6 Center, 00000 / 00000
;_________________________________________________ ___________ BUYIN __________________________________________________ ___________

Gui, Font, s18 c555555, Verdana
Gui, Add, Text, x7 y285 Center, ____________

Gui, Font, s11 c999999, Verdana
Gui, Add, Text, x12 y318 vTotalABI Center, $0000.00 / $0000.00
;_________________________________________________ __________ CLOCK/TIME __________________________________________________ _______

Gui, Font, s18 c555555, Verdana
Gui, Add, Text, x7 y318 Center, ____________

Gui, Font, s20 cCCCCCC, Verdana
Gui, Add, Text, x41 y349 vClock Center, 000:000

Gui, Font, s12 c999999, Verdana
Gui, Font, Bold
Gui, Add, Text, x73 y382 vSessionTime Center, 00:00
;================================================= ================================================== =============================

GuiControl,, Control1, %Stake1% - %Players1%
GuiControl,, Control2, %Stake2% - %Players2%
GuiControl,, Control3, %Stake3% - %Players3%
GuiControl,, Control4, %Stake4% - %Players4%
GuiControl,, Control5, %Stake5% - %Players5%
GuiControl,, Control6, %Stake6%
;--------------------------------------------------------------------------------------------------------------------------------

Buyin_Total := 0.00
Buyin_Total_TournamentCounter := 0

H = 0
M1 = 0
M2 = -1

r0 = 0
r1 = 0
r2 = 0
r3 = 0
r4 = 0
r5 = 0
r6 = 0

t1 = 0
t2 = 0
t3 = 0
t4 = 0
t5 = 0
t6 = 0

P = 0



;::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::


Loop
{
;------------------------------------------------------------ STAKE 1 -----------------------------------------------------------

v1 := 0
c1 := 0

WinGet, v1, count, %Stake1% NL Hold'em [%Players1% ahk_class PokerStarsTableFrameClass

Loop, %v1%
{
c1 += 1
}

if (t1 = 0)
{
GuiControl,, Stake1, 0 / 0
r1 = 0
}

if (t1 < c1)
{
t1 := c1 - 1
}

if (c1 > r1)
{
t1++
GuiControl,, Stake1, %c1% / %t1%
r1 = %c1%
}

else, if (c1 < r1)
{
GuiControl,, Stake1, %c1% / %t1%
r1 = %c1%
}
;----------------------------------------------------------- STAKE 2 ------------------------------------------------------------

v2 := 0
c2 := 0

WinGet, v2, count, %Stake2% NL Hold'em [%Players2% ahk_class PokerStarsTableFrameClass

Loop, %v2%
{
c2 += 1
}

if (t2 = 0)
{
GuiControl,, Stake2, 0 / 0
r2 = 0
}

if (t2 < c2)
{
t2 := c2 - 1
}

if (c2 > r2)
{
t2++
GuiControl,, Stake2, %c2% / %t2%
r2 = %c2%
}

else, if (c2 < r2)
{
GuiControl,, Stake2, %c2% / %t2%
r2 = %c2%
}
;----------------------------------------------------------- STAKE 3 ------------------------------------------------------------

v3 := 0
c3 := 0

WinGet, v3, count, %Stake3% NL Hold'em [%Players3% ahk_class PokerStarsTableFrameClass

Loop, %v3%
{
c3 += 1
}

if (t3 = 0)
{
GuiControl,, Stake3, 0 / 0
r3 = 0
}

if (t3 < c3)
{
t3 := c3 - 1
}

if (c3 > r3)
{
t3++
GuiControl,, Stake3, %c3% / %t3%
r3 = %c3%
}

else, if (c3 < r3)
{
GuiControl,, Stake3, %c3% / %t3%
r3 = %c3%
}
;----------------------------------------------------------- STAKE 4 ------------------------------------------------------------

v4 := 0
c4 := 0

WinGet, v4,count, %Stake4% NL Hold'em [%Players4% ahk_class PokerStarsTableFrameClass

Loop, %v4%
{
c4 += 1
}

if (t4 = 0)
{
GuiControl,, Stake4, 0 / 0
r4 = 0
}

if (t4 < c4)
{
t4 := c4 - 1
}

if (c4 > r4)
{
t4++
GuiControl,, Stake4, %c4% / %t4%
r4 = %c4%
}

else, if (c4 < r4)
{
GuiControl,, Stake4, %c4% / %t4%
r4 = %c4%
}
;----------------------------------------------------------- STAKE 5 ------------------------------------------------------------

v5 := 0
c5 := 0

WinGet, v5,count, %Stake5% NL Hold'em [%Players5% ahk_class PokerStarsTableFrameClass

Loop, %v5%
{
c5 += 1
}

if (t5 = 0)
{
GuiControl,, Stake5, 0 / 0
r5 = 0
}

if (t5 < c5)
{
t5 := c5 - 1
}

if (c5 > r5)
{
t5++
GuiControl,, Stake5, %c5% / %t5%
r5 = %c5%
}

else, if (c5 < r5)
{
GuiControl,, Stake5, %c5% / %t5%
r5 = %c5%
}
;----------------------------------------------------------- STAKE 6 ------------------------------------------------------------

v6 := 0
c6 := 0

WinGet, v6,count, %Stake6% ahk_class PokerStarsTableFrameClass

Loop, %v6%
{
c6 += 1
}

if (t6 = 0)
{
GuiControl,, Stake6, 0 / 0
r6 = 0
}

if (t6 < c6)
{
t6 := c6 - 1
}

if (c6 > r6)
{
t6++
GuiControl,, Stake6, %c6% / %t6%
r6 = %c6%
}

else, if (c6 < r6)
{
GuiControl,, Stake6, %c6% / %t6%
r6 = %c6%
}
;----------------------------------------------------------- TOTALS -------------------------------------------------------------

c0 := c1 + c2 + c3 + c4 + c5 + c6
t0 := t1 + t2 + t3 + t4 + t5 + t6

GuiControl,, TotalTables, %c0% / %t0%

if (c0 < r0)
{
SoundPlay, %SoundBust%
}

r0 = %c0%

if (c0 < CurrentLimit)
{
Gui, Font, s22 cCCCCCC, Verdana
GuiControl, Font, TotalTables
}

else, if (c0 >= CurrentLimit)
{
Gui, Font, s22 c%LimitColor%, Verdana
GuiControl, Font, TotalTables
}

if (t0 = TotalLimit)
{
SoundPlay, %SoundAchieve%
TotalLimit := t0 + SoundInterval
}
;----------------------------------------------------------- BUYIN --------------------------------------------------------------

Buyin_Dollars:=0.00
Buyin_Dollars_TournamentCounter:=0
Buyin_Euro:=0.00
Buyin_Euro_TournamentCounter:=0
Buyin_Session:=0.00
Buyin_Session_TournamentCounter:=0

Winget,Ps_Hwnd_list,List,Ahk_Class PokerStarsTableFrameClass

Loop %Ps_Hwnd_List%
{
Hwnd:=Ps_Hwnd_List%A_index%
IF !(Buyin_%hwnd%)
{
WingetTitle,Title,Ahk_id%Hwnd%
IF Instr(Title,"Tournament")
{
IF Buyin_%Hwnd%:=GetBuyin(Title,Buyin_%Hwnd%_Currency )
{
BuyIn_hwnd_list:=BuyIn_hwnd_list ? BuyIn_hwnd_list "," Hwnd : Hwnd
Buyin_Total:=Round(Buyin_Total+Buyin_%Hwnd%,2)
Buyin_Total_TournamentCounter+=1
}
}
}
}

Loop,Parse,Buyin_Hwnd_List,`,,
{
Hwnd:=A_LoopField
IF WinExist("ahk_id" Hwnd)
{
Currency:=Buyin_%hwnd%_Currency
Buyin:=Round(Buyin_%hwnd%,2)
IF (Currency="$")
{
Buyin_Dollars:=Round(Buyin_Dollars+Buyin,2)
Buyin_Dollars_TournamentCounter+=1
}
Else IF (Currency="€")
{
Buyin_Euro:=Round(Buyin_Euro+Buyin,2)
Buyin_Euro_TournamentCounter+=1
}
Buyin_Session:=Round(Buyin_Session+Buyin,2)
Buyin_Session_TournamentCounter+=1
}
Else
{
Temp_list:="," Buyin_Hwnd_List ","
StringReplace,Temp_list,Temp_list,`,Hwnd`,,,
StringTrimLeft,Temp_list,Temp_list,1
StringTrimRight,Buyin_Hwnd_List,Temp_list,1
}
}

IF (BuyIn_Dollars_Save != BuyIn_Dollars) Or (BuyIn_Euro_Save != BuyIn_Euro)
{
BuyIn_Euro_Save:=BuyIn_Euro
BuyIn_Euro_Avg:= Round(BuyIn_Euro/BuyIn_Euro_TournamentCounter,2)
BuyIn_Dollars_Save:=BuyIn_Dollars
BuyIn_Dollars_Avg:=Round(BuyIn_Dollars/BuyIn_Dollars_TournamentCounter,2)
BuyIn_Session_Avg:=Round(BuyIn_Session/BuyIn_Session_TournamentCounter,2)
BuyIn_Total_Avg:=Round(BuyIn_Total/BuyIn_Total_TournamentCounter,2)
GuiControl,,Dollars,% "$" Buyin_Dollars_Avg " / $" BuyIn_Dollars
GuiControl,,TotalABI,% "$" BuyIn_Total_Avg " / $" BuyIn_Total
TotalBI := Round(BuyIn_Total-BuyIn_Dollars,2)
GuiControl,,TotalBI,% "$" TotalBI ""
}

GetBuyin(Title,byref currency="",Byref BuyinText="")
{
Static CurrencyList:="$,€"
Haystack:=Substr(Title, Instr(Title,"Sat:")+1) ;This is for satiliets
Loop,Parse,Currencylist,`,
{
IF ((StartPosBuyin := Instr(Haystack,A_loopField)) And (EndPosBuyin := Instr(Haystack,A_space,"",StartPosBuyin)))
{
BuyinText:=Substr(Haystack,StartPosBuyin ,(EndPosBuyin - StartPosBuyin))
Currency=%A_loopField%
Buyin:=BuyinText
StringReplace,Buyin,Buyin,%Currency%,,
IfInString, Buyin, +R
{
StringReplace,Buyin,Buyin,+R,,
RebuyMulti = 3
Buyin := Buyin * RebuyMulti
}

IF Buyin is not number
{
Buyin:=0
currency:=
buyinText:=
}
Break
}
}
Return Buyin
}

;----------------------------------------------------------- CLOCK --------------------------------------------------------------

FormatTime, Time, %A_Now%, H:mm
GuiControl,, Clock, %Time%
StringTrimLeft, TimeOnly, A_Now, 10
StringTrimRight, Minutes, TimeOnly, 2
IfGreaterOrEqual, Minutes, 55
{
Gui, Font, s20 c%ClockColorBreak%
Gui, Font, Bold
GuiControl, Font, Clock
}
else
{
Gui, Font, s20 cCCCCCC
Gui, Font, Bold
GuiControl, Font, Clock
}
;----------------------------------------------------------- TIME ---------------------------------------------------------------

If (Minutes != Var)
{
M2 += 1
GuiControl,, SessionTime, %H%:%M1%%M2%
Var := Minutes
}

If (M2 > 9)
{
M1 += 1
M2 = 0
GuiControl,, SessionTime, %H%:%M1%%M2%
}

If (M1 > 5)
{
H += 1
M1 = 0
M2 = 0
GuiControl,, SessionTime, %H%:%M1%%M2%
}

Limit = %H%:%M1%%M2%
If (Limit = SessionTimeLimit)
{
Gui, Font, s12 c%LimitColor%, Verdana
GuiControl, Font, SessionTime
}
;----------------------------------------------------------- LOOP ---------------------------------------------------------------

Sleep %LoopInterval%

}
return
;::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::: HOTKEYS :::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::

^F9:: ;counter (SessionTime) reset
{
H = 0
M1 = 0
M2 = 0
Gui, Font, s12 c999999, Verdana
GuiControl, Font, SessionTime
GuiControl,, SessionTime, %H%:%M1%%M2%
}
return
;................................................. .................................................. .............................

^F10:: ;counter (SessionTime) + 1
Var = -1
return
;................................................. .................................................. .............................

^Q::ExitApp
;................................................. .................................................. .............................

!Pause::Pause
;................................................. .................................................. .............................

GuiClose:
ExitApp



So THE BIG 4.4$ Table-Counter = OK BUT BUY-COUNTER/AverageBuy-in = NOK

Thanks for the help,

Niki
Table Counter AHK for PokerStars Quote
08-05-2015 , 08:06 PM
Glad you found the thread Niki
Table Counter AHK for PokerStars Quote
08-05-2015 , 08:07 PM
HEy guys,

Can anyone help me?

I use Sessionmen 2.2 but when i start an MTT of 4.4$ it is OK but when i open THE BIG 4.4$ My total buy-in dont increase / average buy-in stays the same...

This is my Script:

#SingleInstance, force
;#NoTrayIcon
DetectHiddenWindows, On
SetTitleMatchMode, 2 ;1=start 2=contain 3=exact match

;================================================= ====== CONFIG SECTION ================================================== =======

SoundBust = C:\Program Files (x86)\PokerStars.BE\snd\newsnd17.wav ;sound if table closes
SoundAchieve = C:\Program Files (x86)\PokerStars.BE\snd\snd13.wav ;sound if TotalLimit reached

GuiPos = x0 y0 ;position of GUI on screen
;move the window where you want it to be, then use WindowSpy to grab its coords

LoopInterval = 100 ;counter update interval in msec (1000 = 1sec, default = 100)

Stake1 = $3.50 ;eg. "$3.50+R"
Stake2 = $7.00 ;eg. "$8.00"
Stake3 = $3.50 ;eg. "$15.00"
Stake4 = $7.00 ;eg. "$35.00"
Stake5 = $2.50
Stake6 = Gtd ;eg. "Gtd"

Players1 = 18 Players
Players2 = 18 Players
Players3 = 45 Players
Players4 = 45 Players
Players5 = 180 Players

Color1 = 00AAFF ;color for table counter - stake1
Color2 = 00AAFF ;color for table counter - stake2
Color3 = ffff00 ;color for table counter - stake3
Color4 = ffff00 ;color for table counter - stake4
Color5 = ff0000 ;color for table counter - stake5
Color6 = 00ff00 ;color for table counter - stake6

CurrentLimit = 20 ;desired table limit (current)
TotalLimit = 100 ;desired table limit (session)
SoundInterval = 25 ;SoundAchieve replays after "TotalLimit" + N tables
SessionTimeLimit = 12:00 ;desired session time limit (h:mm)
MaxABI = 25 ;maximum desired ABI (current & session)
MaxInvest = 2000 ;maximum desired investment (session)

LimitColor = 33FF33 ;color of 'SessionTime' and 'TotalTables' counters after reaching their set limits
ClockColorBreak = FF0000 ;clock color indicating sync tourney break (CCCCCC to disable this option)

RebuyMulti = 3 ;stake multiplier for rebuy tourneys (ABI/Stake)
;!!!EDIT LINE 436!!!

;=========================================== CONFIG HOTKEYS AT BOTTOM OF THE SCRIPT =============================================

;::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::

;================================================= =========== GUI ================================================== =============

Gui -MaximizeBox -Resize +AlwaysOnTop +ToolWindow -MinimizeBox
Gui, Show, W194 H408 %GuiPos%, Niki's MTT Counter
Gui, Color, 000000
;_________________________________________________ __________ TOTALS __________________________________________________ ___________

Gui, Font, s22 cCCCCCC, Verdana
Gui, Add, Text, x-8 y1 vTotalTables Center, 00000 / 00000

Gui, Font, s18 c555555, Verdana
Gui, Add, Text, x7 y14 Center, ____________
;_________________________________________________ __________ STAKE 1 __________________________________________________ __________

Gui, Font, s8 c%Color1%, Verdana
Gui, Add, Text, x27 y45 vControl1 Center, 00000000000000000000

Gui, Font, s16 c%Color1%, Verdana
Gui, Add, Text, x20 y57 vStake1 Center, 00000 / 00000
;................................................. .......... STAKE 2 .................................................. ..........

Gui, Font, s8 c%Color2%, Verdana
Gui, Add, Text, x27 y89 vControl2 Center, 00000000000000000000

Gui, Font, s16 c%Color2%, Verdana
Gui, Add, Text, x20 y101 vStake2 Center, 00000 / 00000
;................................................. .......... STAKE 3 .................................................. ..........

Gui, Font, s8 c%Color3%, Verdana
Gui, Add, Text, x27 y133 vControl3 Center, 00000000000000000000

Gui, Font, s16 c%Color3%, Verdana
Gui, Add, Text, x20 y145 vStake3 Center, 00000 / 00000
;................................................. .......... STAKE 4 .................................................. ..........

Gui, Font, s8 c%Color4%, Verdana
Gui, Add, Text, x27 y177 vControl4 Center, 00000000000000000000

Gui, Font, s16 c%Color4%, Verdana
Gui, Add, Text, x20 y189 vStake4 Center, 00000 / 00000
;................................................. .......... STAKE 5 .................................................. ..........

Gui, Font, s8 c%Color5%, Verdana
Gui, Add, Text, x27 y221 vControl5 Center, 00000000000000000000

Gui, Font, s16 c%Color5%, Verdana
Gui, Add, Text, x20 y233 vStake5 Center, 00000 / 00000
;................................................. .......... STAKE 6 .................................................. ..........

Gui, Font, s8 c%Color6%, Verdana
Gui, Add, Text, x27 y265 vControl6 Center, 00000000000000000000

Gui, Font, s16 c%Color6%, Verdana
Gui, Add, Text, x20 y277 vStake6 Center, 00000 / 00000
;_________________________________________________ ___________ BUYIN __________________________________________________ ___________

Gui, Font, s18 c555555, Verdana
Gui, Add, Text, x7 y285 Center, ____________

Gui, Font, s11 c999999, Verdana
Gui, Add, Text, x12 y318 vTotalABI Center, $0000.00 / $0000.00
;_________________________________________________ __________ CLOCK/TIME __________________________________________________ _______

Gui, Font, s18 c555555, Verdana
Gui, Add, Text, x7 y318 Center, ____________

Gui, Font, s20 cCCCCCC, Verdana
Gui, Add, Text, x41 y349 vClock Center, 000:000

Gui, Font, s12 c999999, Verdana
Gui, Font, Bold
Gui, Add, Text, x73 y382 vSessionTime Center, 00:00
;================================================= ================================================== =============================

GuiControl,, Control1, %Stake1% - %Players1%
GuiControl,, Control2, %Stake2% - %Players2%
GuiControl,, Control3, %Stake3% - %Players3%
GuiControl,, Control4, %Stake4% - %Players4%
GuiControl,, Control5, %Stake5% - %Players5%
GuiControl,, Control6, %Stake6%
;--------------------------------------------------------------------------------------------------------------------------------

Buyin_Total := 0.00
Buyin_Total_TournamentCounter := 0

H = 0
M1 = 0
M2 = -1

r0 = 0
r1 = 0
r2 = 0
r3 = 0
r4 = 0
r5 = 0
r6 = 0

t1 = 0
t2 = 0
t3 = 0
t4 = 0
t5 = 0
t6 = 0

P = 0



;::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::


Loop
{
;------------------------------------------------------------ STAKE 1 -----------------------------------------------------------

v1 := 0
c1 := 0

WinGet, v1, count, %Stake1% NL Hold'em [%Players1% ahk_class PokerStarsTableFrameClass

Loop, %v1%
{
c1 += 1
}

if (t1 = 0)
{
GuiControl,, Stake1, 0 / 0
r1 = 0
}

if (t1 < c1)
{
t1 := c1 - 1
}

if (c1 > r1)
{
t1++
GuiControl,, Stake1, %c1% / %t1%
r1 = %c1%
}

else, if (c1 < r1)
{
GuiControl,, Stake1, %c1% / %t1%
r1 = %c1%
}
;----------------------------------------------------------- STAKE 2 ------------------------------------------------------------

v2 := 0
c2 := 0

WinGet, v2, count, %Stake2% NL Hold'em [%Players2% ahk_class PokerStarsTableFrameClass

Loop, %v2%
{
c2 += 1
}

if (t2 = 0)
{
GuiControl,, Stake2, 0 / 0
r2 = 0
}

if (t2 < c2)
{
t2 := c2 - 1
}

if (c2 > r2)
{
t2++
GuiControl,, Stake2, %c2% / %t2%
r2 = %c2%
}

else, if (c2 < r2)
{
GuiControl,, Stake2, %c2% / %t2%
r2 = %c2%
}
;----------------------------------------------------------- STAKE 3 ------------------------------------------------------------

v3 := 0
c3 := 0

WinGet, v3, count, %Stake3% NL Hold'em [%Players3% ahk_class PokerStarsTableFrameClass

Loop, %v3%
{
c3 += 1
}

if (t3 = 0)
{
GuiControl,, Stake3, 0 / 0
r3 = 0
}

if (t3 < c3)
{
t3 := c3 - 1
}

if (c3 > r3)
{
t3++
GuiControl,, Stake3, %c3% / %t3%
r3 = %c3%
}

else, if (c3 < r3)
{
GuiControl,, Stake3, %c3% / %t3%
r3 = %c3%
}
;----------------------------------------------------------- STAKE 4 ------------------------------------------------------------

v4 := 0
c4 := 0

WinGet, v4,count, %Stake4% NL Hold'em [%Players4% ahk_class PokerStarsTableFrameClass

Loop, %v4%
{
c4 += 1
}

if (t4 = 0)
{
GuiControl,, Stake4, 0 / 0
r4 = 0
}

if (t4 < c4)
{
t4 := c4 - 1
}

if (c4 > r4)
{
t4++
GuiControl,, Stake4, %c4% / %t4%
r4 = %c4%
}

else, if (c4 < r4)
{
GuiControl,, Stake4, %c4% / %t4%
r4 = %c4%
}
;----------------------------------------------------------- STAKE 5 ------------------------------------------------------------

v5 := 0
c5 := 0

WinGet, v5,count, %Stake5% NL Hold'em [%Players5% ahk_class PokerStarsTableFrameClass

Loop, %v5%
{
c5 += 1
}

if (t5 = 0)
{
GuiControl,, Stake5, 0 / 0
r5 = 0
}

if (t5 < c5)
{
t5 := c5 - 1
}

if (c5 > r5)
{
t5++
GuiControl,, Stake5, %c5% / %t5%
r5 = %c5%
}

else, if (c5 < r5)
{
GuiControl,, Stake5, %c5% / %t5%
r5 = %c5%
}
;----------------------------------------------------------- STAKE 6 ------------------------------------------------------------

v6 := 0
c6 := 0

WinGet, v6,count, %Stake6% ahk_class PokerStarsTableFrameClass

Loop, %v6%
{
c6 += 1
}

if (t6 = 0)
{
GuiControl,, Stake6, 0 / 0
r6 = 0
}

if (t6 < c6)
{
t6 := c6 - 1
}

if (c6 > r6)
{
t6++
GuiControl,, Stake6, %c6% / %t6%
r6 = %c6%
}

else, if (c6 < r6)
{
GuiControl,, Stake6, %c6% / %t6%
r6 = %c6%
}
;----------------------------------------------------------- TOTALS -------------------------------------------------------------

c0 := c1 + c2 + c3 + c4 + c5 + c6
t0 := t1 + t2 + t3 + t4 + t5 + t6

GuiControl,, TotalTables, %c0% / %t0%

if (c0 < r0)
{
SoundPlay, %SoundBust%
}

r0 = %c0%

if (c0 < CurrentLimit)
{
Gui, Font, s22 cCCCCCC, Verdana
GuiControl, Font, TotalTables
}

else, if (c0 >= CurrentLimit)
{
Gui, Font, s22 c%LimitColor%, Verdana
GuiControl, Font, TotalTables
}

if (t0 = TotalLimit)
{
SoundPlay, %SoundAchieve%
TotalLimit := t0 + SoundInterval
}
;----------------------------------------------------------- BUYIN --------------------------------------------------------------

Buyin_Dollars:=0.00
Buyin_Dollars_TournamentCounter:=0
Buyin_Euro:=0.00
Buyin_Euro_TournamentCounter:=0
Buyin_Session:=0.00
Buyin_Session_TournamentCounter:=0

Winget,Ps_Hwnd_list,List,Ahk_Class PokerStarsTableFrameClass

Loop %Ps_Hwnd_List%
{
Hwnd:=Ps_Hwnd_List%A_index%
IF !(Buyin_%hwnd%)
{
WingetTitle,Title,Ahk_id%Hwnd%
IF Instr(Title,"Tournament")
{
IF Buyin_%Hwnd%:=GetBuyin(Title,Buyin_%Hwnd%_Currency )
{
BuyIn_hwnd_list:=BuyIn_hwnd_list ? BuyIn_hwnd_list "," Hwnd : Hwnd
Buyin_Total:=Round(Buyin_Total+Buyin_%Hwnd%,2)
Buyin_Total_TournamentCounter+=1
}
}
}
}

Loop,Parse,Buyin_Hwnd_List,`,,
{
Hwnd:=A_LoopField
IF WinExist("ahk_id" Hwnd)
{
Currency:=Buyin_%hwnd%_Currency
Buyin:=Round(Buyin_%hwnd%,2)
IF (Currency="$")
{
Buyin_Dollars:=Round(Buyin_Dollars+Buyin,2)
Buyin_Dollars_TournamentCounter+=1
}
Else IF (Currency="€")
{
Buyin_Euro:=Round(Buyin_Euro+Buyin,2)
Buyin_Euro_TournamentCounter+=1
}
Buyin_Session:=Round(Buyin_Session+Buyin,2)
Buyin_Session_TournamentCounter+=1
}
Else
{
Temp_list:="," Buyin_Hwnd_List ","
StringReplace,Temp_list,Temp_list,`,Hwnd`,,,
StringTrimLeft,Temp_list,Temp_list,1
StringTrimRight,Buyin_Hwnd_List,Temp_list,1
}
}

IF (BuyIn_Dollars_Save != BuyIn_Dollars) Or (BuyIn_Euro_Save != BuyIn_Euro)
{
BuyIn_Euro_Save:=BuyIn_Euro
BuyIn_Euro_Avg:= Round(BuyIn_Euro/BuyIn_Euro_TournamentCounter,2)
BuyIn_Dollars_Save:=BuyIn_Dollars
BuyIn_Dollars_Avg:=Round(BuyIn_Dollars/BuyIn_Dollars_TournamentCounter,2)
BuyIn_Session_Avg:=Round(BuyIn_Session/BuyIn_Session_TournamentCounter,2)
BuyIn_Total_Avg:=Round(BuyIn_Total/BuyIn_Total_TournamentCounter,2)
GuiControl,,Dollars,% "$" Buyin_Dollars_Avg " / $" BuyIn_Dollars
GuiControl,,TotalABI,% "$" BuyIn_Total_Avg " / $" BuyIn_Total
TotalBI := Round(BuyIn_Total-BuyIn_Dollars,2)
GuiControl,,TotalBI,% "$" TotalBI ""
}

GetBuyin(Title,byref currency="",Byref BuyinText="")
{
Static CurrencyList:="$,€"
Haystack:=Substr(Title, Instr(Title,"Sat:")+1) ;This is for satiliets
Loop,Parse,Currencylist,`,
{
IF ((StartPosBuyin := Instr(Haystack,A_loopField)) And (EndPosBuyin := Instr(Haystack,A_space,"",StartPosBuyin)))
{
BuyinText:=Substr(Haystack,StartPosBuyin ,(EndPosBuyin - StartPosBuyin))
Currency=%A_loopField%
Buyin:=BuyinText
StringReplace,Buyin,Buyin,%Currency%,,
IfInString, Buyin, +R
{
StringReplace,Buyin,Buyin,+R,,
RebuyMulti = 3
Buyin := Buyin * RebuyMulti
}

IF Buyin is not number
{
Buyin:=0
currency:=
buyinText:=
}
Break
}
}
Return Buyin
}

;----------------------------------------------------------- CLOCK --------------------------------------------------------------

FormatTime, Time, %A_Now%, H:mm
GuiControl,, Clock, %Time%
StringTrimLeft, TimeOnly, A_Now, 10
StringTrimRight, Minutes, TimeOnly, 2
IfGreaterOrEqual, Minutes, 55
{
Gui, Font, s20 c%ClockColorBreak%
Gui, Font, Bold
GuiControl, Font, Clock
}
else
{
Gui, Font, s20 cCCCCCC
Gui, Font, Bold
GuiControl, Font, Clock
}
;----------------------------------------------------------- TIME ---------------------------------------------------------------

If (Minutes != Var)
{
M2 += 1
GuiControl,, SessionTime, %H%:%M1%%M2%
Var := Minutes
}

If (M2 > 9)
{
M1 += 1
M2 = 0
GuiControl,, SessionTime, %H%:%M1%%M2%
}

If (M1 > 5)
{
H += 1
M1 = 0
M2 = 0
GuiControl,, SessionTime, %H%:%M1%%M2%
}

Limit = %H%:%M1%%M2%
If (Limit = SessionTimeLimit)
{
Gui, Font, s12 c%LimitColor%, Verdana
GuiControl, Font, SessionTime
}
;----------------------------------------------------------- LOOP ---------------------------------------------------------------

Sleep %LoopInterval%

}
return
;::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::: HOTKEYS :::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::

^F9:: ;counter (SessionTime) reset
{
H = 0
M1 = 0
M2 = 0
Gui, Font, s12 c999999, Verdana
GuiControl, Font, SessionTime
GuiControl,, SessionTime, %H%:%M1%%M2%
}
return
;................................................. .................................................. .............................

^F10:: ;counter (SessionTime) + 1
Var = -1
return
;................................................. .................................................. .............................

^Q::ExitApp
;................................................. .................................................. .............................

!Pause::Pause
;................................................. .................................................. .............................

GuiClose:
ExitApp



So THE BIG 4.4$ Table-Counter = OK BUT BUY-COUNTER/AverageBuy-in = NOK

Thanks for the help,

Niki
Table Counter AHK for PokerStars Quote
03-07-2016 , 09:30 AM
Hi, I have been using the basic script for a while on pokerstars and love it.
Good job guys.
I pay 20$ on skrill to anybody who can add WPN, 888 and party for me.
Table Counter AHK for PokerStars Quote
03-13-2016 , 10:48 AM
Quote:
Originally Posted by Baobhan-Sith
More options and fixes (this version is ready for 180s, 45s, and 18s at the same time):



Spoiler:
Code:
#SingleInstance, force
;#NoTrayIcon
DetectHiddenWindows, On
SetTitleMatchMode, 1					;1=begin with 2=contain 3=exact match

;================================================================================================================================
;==================================================== CONFIG SECTION ============================================================

GuiPos = x4 y4							;position of GUI on screen 
										;move the window where you want it to be, then use WindowSpy to grab its coords

ColumnL = 180s							;left column caption (leave blank to omit)
Stake1 = $3.50+R							
Stake2 = $8.00							
Stake3 = $15.00	
ColumnM = 45man							;center column caption (leave blank to omit)					
Stake4 = $3.50							
Stake5 = $7.00							
Stake6 = $15.00	
ColumnR = 18man							;right column caption (leave blank to omit)					
Stake7 = $3.50							
Stake8 = $7.00							
Stake9 = $15.00							

Stake1VPP = 1.71					
Stake2VPP = 3.63						
Stake3VPP = 6.77					
Stake4VPP = 1.71											
Stake5VPP = 3.19					
Stake6VPP = 6.71						
Stake7VPP = 1.87					
Stake8VPP = 3.03											
Stake9VPP = 6.11			

GUIColor = 383838						;GUI window background color
TextColor = ffffff						;text/label color
SeparatorColor = 303030					;separator color (choose same as GUIColor to hide separators)
NumColor = 000000						;default color for numeric controls
NumColorGoal = 33ff33					;control color upon reaching set goal (VPP/FPP, MinABI, MinMTRatio, SessionTimeLimit) 
NumColorWarn = ff0000					;control color upon reaching set maximum (MaxMTRatio, MaxABI, MaxInvest)

ClockColorBreak = FF0000				;clock color indicating sync tourney break (choose same as NumColor to disable this option)

CustomStakeColor = 0					;enable = 1, disable = 0 (will use NumColor if disabled)
Color1 = 8000FF 						;color for table counter - stake1 
Color2 = 0040FF							;color for table counter - stake2 
Color3 = 00BFFF							;color for table counter - stake3 
Color4 = 00FFBF 						;color for table counter - stake4 
Color5 = 00FF00 						;color for table counter - stake5
Color6 = BFFF00							;color for table counter - stake6 
Color7 = FFFF00							;color for table counter - stake7 
Color8 = FF8000 						;color for table counter - stake8 
Color9 = FF0000 						;color for table counter - stake9

MinMTRatio = 16							;min desired multitabling ratio (total)
MaxMTRatio = 20							;max desired multitabling ratio (total)
TotalLimit = 100						;max desired table limit (session)(triggers SoundAchieve)
MinABI = 4.5							;minimum desired ABI (session)
MaxABI = 6								;maximum desired ABI (session)
MaxInvest = 1000						;maximum desired investment (session)
VPPGoal = 375							;desired VPP per session
VIPMulti = 2							;FPP multiplicator (VIP status dependant)
SessionTimeGoal = 6:00					;desired session time (h:mm)

SoundBust = C:\Program Files (x86)\PokerStars\snd\bust.wav			;sound if table closes
SoundAchieve = C:\Program Files (x86)\PokerStars\snd\ding.wav		;sound if TotalLimit reached
SoundInterval = 25						;SoundAchieve replays every N tables upon exceeding TotalLimit 
										
LoopInterval = 100						;counter update interval in msec (1000 = 1sec, default = 100)

;................................................. TABLE MOVEMENT COORDS ........................................................

SlotA1x := 304							;F1
SlotA1y := 0

SlotA2x := 1112							;F2
SlotA2y := 0

SlotA3x := 1920							;F3
SlotA3y := 0

SlotA4x := 2728							;F4
SlotA4y := 0
;...........................................
SlotC1x := 304							;F5
SlotC1y := 299

SlotC2x := 1112							;F6
SlotC2y := 299

SlotC3x := 1920							;F7
SlotC3y := 299

SlotC4x := 2728							;F8
SlotC4y := 299
;...........................................
SlotB1x := 304							;F9
SlotB1y := 584

SlotB2x := 1112							;F10
SlotB2y := 584

SlotB3x := 1920							;F11
SlotB3y := 584

SlotB4x := 2728							;F12
SlotB4y := 584

;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EDIT REBUY MULTIPLICATOR AT LINE 882 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CONFIG HOTKEYS AT BOTTOM OF THE SCRIPT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! EDIT CONTROL COORDS IN THE GUI SECTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

;====================================================== SECTION END =============================================================
;================================================================================================================================

If (CustomStakeColor = 0)
Loop, 9
	{
	C += 1
	Color%C% := NumColor
	}
 
;================================================================================================================================
;====================================================== GUI SECTION =============================================================

Gui -MaximizeBox -Resize +AlwaysOnTop +ToolWindow -MinimizeBox
Gui, Show, W376 H305 %GuiPos%, SessionMan 2.2.3	
Gui, Color, %GUIColor%		

;................................................................................................................................
;...................................................... VPP/FPP/TOTALS ...........................................................

Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x38 y6 Center, VPP
Gui, Font, s11 c%NumColor%, Verdana					
Gui, Add, Text, x18 y24 vVPP Center, 0000.00 
						
Gui, Font, s8 c%TextColor%, Verdana					
Gui, Add, Text, x154 y0 Center, Total Tables
Gui, Font, s22 c%NumColor%, Verdana					
Gui, Add, Text, x110 y13 vTotalTables Center, 000 / 0000	

Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x311 y6 Center, FPP
Gui, Font, s11 c%NumColor%, Verdana					
Gui, Add, Text, x285 y24 vFPP Center, 00000.00	

;................................................................................................................................
;....................................................... SEPARATOR1 .............................................................	
							
Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x46 y50 Center, %ColumnL%
							
Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x168 y50 Center, %ColumnM%				
							
Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x295 y50 Center, %ColumnR%
							
Gui, Font, s10 c%SeparatorColor%, Verdana					
Gui, Add, Text, x4 y45 Center, ______________________________________________	
	
;................................................................................................................................
;..................................................... TABLE COUNTERS ...........................................................		
;......................................................... STAKE 1 ..............................................................
						
Gui, Font, s8 c%Color1%, Verdana				
Gui, Add, Text, x37 y70 vControl1 Center, $000.00
								
Gui, Font, s16 c%Color1%, Verdana				
Gui, Add, Text, x3 y82 vStake1 Center, 000 / 0000	
	
;......................................................... STAKE 2 ..............................................................
								
Gui, Font, s8 c%Color2%, Verdana				
Gui, Add, Text, x37 y114 vControl2 Center, $000.00
								
Gui, Font, s16 c%Color2%, Verdana				
Gui, Add, Text, x3 y126 vStake2 Center, 000 / 0000	
	
;......................................................... STAKE 3 ..............................................................
								
Gui, Font, s8 c%Color3%, Verdana				
Gui, Add, Text, x37 y158 vControl3 Center, $000.00
								
Gui, Font, s16 c%Color3%, Verdana				
Gui, Add, Text, x3 y170 vStake3 Center, 000 / 0000	
	
;................................................................................................................................		
;......................................................... STAKE 4 ..............................................................
								
Gui, Font, s8 c%Color4%, Verdana				
Gui, Add, Text, x165 y70 vControl4 Center, $000.00
								
Gui, Font, s16 c%Color4%, Verdana			
Gui, Add, Text, x131 y82 vStake4 Center, 000 / 0000		
	
;......................................................... STAKE 5 ..............................................................
								
Gui, Font, s8 c%Color5%, Verdana				
Gui, Add, Text, x165 y114 vControl5 Center, $000.00
								
Gui, Font, s16 c%Color5%, Verdana			
Gui, Add, Text, x131 y126 vStake5 Center, 000 / 0000	
	
;......................................................... STAKE 6 ..............................................................
								
Gui, Font, s8 c%Color6%, Verdana				
Gui, Add, Text, x165 y158 vControl6 Center, $000.00
								
Gui, Font, s16 c%Color6%, Verdana				
Gui, Add, Text, x131 y170 vStake6 Center, 000 / 0000	
	
;................................................................................................................................				
;......................................................... STAKE 7 ..............................................................
								
Gui, Font, s8 c%Color7%, Verdana				
Gui, Add, Text, x293 y70 vControl7 Center, $000.00
								
Gui, Font, s16 c%Color7%, Verdana				
Gui, Add, Text, x259 y82 vStake7 Center, 000 / 0000		

;......................................................... STAKE 8 ..............................................................
								
Gui, Font, s8 c%Color8%, Verdana				
Gui, Add, Text, x293 y114 vControl8 Center, $000.00
								
Gui, Font, s16 c%Color8%, Verdana			
Gui, Add, Text, x259 y126 vStake8 Center, 000 / 0000		
	
;......................................................... STAKE 9 ..............................................................
								
Gui, Font, s8 c%Color9%, Verdana				
Gui, Add, Text, x293 y158 vControl9 Center, $000.00
								
Gui, Font, s16 c%Color9%, Verdana			
Gui, Add, Text, x259 y170 vStake9 Center, 000 / 0000	

;................................................................................................................................
;....................................................... SEPARATOR2 .............................................................	

Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x76 y203 Center, ABI
	
Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x257 y203 Center, Invest

Gui, Font, s10 c%SeparatorColor%, Verdana					
Gui, Add, Text, x4 y197 Center, ______________________________________________

;................................................................................................................................
;....................................................... ABI/INVEST .............................................................

Gui, Font, s11 c%NumColor%, Verdana					
Gui, Add, Text, x4 y224 vDollars Center, $0000.00 ($0000.00)	
								
Gui, Font, s11 c%NumColor%, Verdana					
Gui, Add, Text, x184 y224 vTotalABI Center, $00000.00 ($00000.00) 

;................................................................................................................................
;....................................................... SEPARATOR3 .............................................................	

Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x35 y252 Center, Games/h
	
Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x170 y250 Center, Clock

Gui, Font, s10 c%TextColor%, Verdana					
Gui, Add, Text, x298 y252 Center, Time

Gui, Font, s10 c%SeparatorColor%, Verdana					
Gui, Add, Text, x4 y247 Center, ______________________________________________

;................................................................................................................................
;..................................................... GAMES/H / TIME ...........................................................	

Gui, Font, s16 c%NumColor%, Verdana					
Gui, Add, Text, x28 y273 vGames Center, 000.00	

Gui, Font, s20 c%NumColor%, Verdana					
Gui, Add, Text, x146 y268 vClock Center, 00000	

Gui, Font, s16 c%NumColor%, Verdana					
Gui, Add, Text, x285 y273 vSessionTime Center, 00:00	

;====================================================== SECTION END =============================================================
;================================================================================================================================
;====================================================== MAIN SCRIPT =============================================================	
Loop, 9
	{
	N += 1
	IfInString, Stake%N%, .00
		StringReplace, Stake%N%b, Stake%N%, .00,
	else, Stake%N%b := Stake%N%	
	}
	
N = 0

GuiControl,, Control1, %Stake1b%
GuiControl,, Control2, %Stake2b%
GuiControl,, Control3, %Stake3b%
GuiControl,, Control4, %Stake4b%
GuiControl,, Control5, %Stake5b%
GuiControl,, Control6, %Stake6b%
GuiControl,, Control7, %Stake7b%
GuiControl,, Control8, %Stake8b%
GuiControl,, Control9, %Stake9b%

Buyin_Total := 0.00
Buyin_Total_TournamentCounter := 0

H = 0
M1 = 0
M2 = -1
S = 0

r0 = 0
r1 = 0
r2 = 0
r3 = 0
r4 = 0
r5 = 0
r6 = 0
r7 = 0
r8 = 0
r9 = 0

t1 = 0
t2 = 0
t3 = 0
t4 = 0
t5 = 0
t6 = 0
t7 = 0
t8 = 0
t9 = 0

VPP1 = 0
VPP2 = 0
VPP3 = 0
VPP4 = 0
VPP5 = 0
VPP6 = 0
VPP7 = 0
VPP8 = 0
VPP9 = 0

FPP = 0

P = 0

Loop
{
;--------------------------------------------------------- STAKE 1 -----------------------------------------------------------
  
    v1 := 0
    c1 := 0

    ;WinGet, v1, count, %Stake1% NL Hold'em [6-Max] ahk_class PokerStarsTableFrameClass
	WinGet, v1, count, %Stake1% NL Hold'em [180 Players ahk_class PokerStarsTableFrameClass

    Loop, %v1%
    	{	
    	c1 += 1
    	}

    if (t1 = 0)
		{
		GuiControl,, Stake1, 0 / 0
    	r1 = 0
		}

    if (t1 < c1)
		{
		t1 := c1 - 1
		}

    if (c1 > r1)
    	{
		t1 += 1
    	GuiControl,, Stake1, %c1% / %t1%
    	r1 = %c1%
    	}

	else, if (c1 < r1)
    	{
		GuiControl,, Stake1, %c1% / %t1%
      	r1 = %c1%
    	}
;--------------------------------------------------------- STAKE 2 ------------------------------------------------------------

    v2 := 0
    c2 := 0

    ;WinGet, v2, count, %Stake2% NL Hold'em [6-Max] ahk_class PokerStarsTableFrameClass
	WinGet, v2, count, %Stake2% NL Hold'em [180 Players ahk_class PokerStarsTableFrameClass

    Loop, %v2%
    	{	
    	c2 += 1
    	}

    if (t2 = 0)
		{
		GuiControl,, Stake2, 0 / 0
    	r2 = 0
		}

    if (t2 < c2)
		{
		t2 := c2 - 1
		}

    if (c2 > r2)
    	{
		t2++
    	GuiControl,, Stake2, %c2% / %t2%
    	r2 = %c2%
    	}

	else, if (c2 < r2)
    	{
		GuiControl,, Stake2, %c2% / %t2%
      	r2 = %c2%
    	}
;--------------------------------------------------------- STAKE 3 ------------------------------------------------------------

    v3 := 0
    c3 := 0

    ;WinGet, v3, count, %Stake3% NL Hold'em [6-Max] ahk_class PokerStarsTableFrameClass
	WinGet, v3, count, %Stake3% NL Hold'em [180 Players ahk_class PokerStarsTableFrameClass

    Loop, %v3%
    	{	
    	c3 += 1
    	}

    if (t3 = 0)
		{
		GuiControl,, Stake3, 0 / 0
    	r3 = 0
		}

    if (t3 < c3)
		{
		t3 := c3 - 1
		}

    if (c3 > r3)
    	{
		t3++
    	GuiControl,, Stake3, %c3% / %t3%
     	r3 = %c3%
    	}

	else, if (c3 < r3)
    	{
		GuiControl,, Stake3, %c3% / %t3%
      	r3 = %c3%
    	}
;--------------------------------------------------------- STAKE 4 ------------------------------------------------------------

    v4 := 0
    v41 := 0
    v42 := 0
    v43 := 0
    v44 := 0
    v45 := 0
    c4 := 0

    ;WinGet, v41,count, %Stake4% NL Hold'em - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v42,count, %Stake4% NL Hold'em  - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v43,count, %Stake4% NL Hold'em   - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v44,count, %Stake4% NL Hold'em    - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v45,count, %Stake4% NL Hold'em     - Blinds ahk_class PokerStarsTableFrameClass
	WinGet, v41, count, %Stake4% NL Hold'em [45 Players ahk_class PokerStarsTableFrameClass
	
	v4 := v41 + v42 + v43 + v44 + v45

    Loop, %v4%
    	{	
    	c4 += 1
    	}

    if (t4 = 0)
		{
		GuiControl,, Stake4, 0 / 0
    	r4 = 0
		}

    if (t4 < c4)
		{
		t4 := c4 - 1
		}

    if (c4 > r4)
    	{
		t4 += 1
    	GuiControl,, Stake4, %c4% / %t4%
    	 r4 = %c4%
    	}

	else, if (c4 < r4)
    	{
		GuiControl,, Stake4, %c4% / %t4%
      	r4 = %c4%
    	}
;--------------------------------------------------------- STAKE 5 ------------------------------------------------------------

    v5 := 0
    v51 := 0
    v52 := 0
    v53 := 0
    v54 := 0
    v55 := 0
    c5 := 0

    ;WinGet, v51,count, %Stake5% NL Hold'em - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v52,count, %Stake5% NL Hold'em  - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v53,count, %Stake5% NL Hold'em   - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v54,count, %Stake5% NL Hold'em    - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v55,count, %Stake5% NL Hold'em     - Blinds ahk_class PokerStarsTableFrameClass
	WinGet, v51, count, %Stake5% NL Hold'em [45 Players ahk_class PokerStarsTableFrameClass
	
	v5 := v51 + v52 + v53 + v54 + v55

    Loop, %v5%
    	{	
    	c5 += 1
    	}

    if (t5 = 0)
		{
		GuiControl,, Stake5, 0 / 0
    	r5 = 0
		}

    if (t5 < c5)
		{
		t5 := c5 - 1
		}

    if (c5 > r5)
    	{
		t5++
    	GuiControl,, Stake5, %c5% / %t5%
    	r5 = %c5%
    	}

	else, if (c5 < r5)
    	{
		GuiControl,, Stake5, %c5% / %t5%
      	r5 = %c5%
    	}
;--------------------------------------------------------- STAKE 6 -----------------------------------------------------------
  
    v6 := 0
    v61 := 0
    v62 := 0
    v63 := 0
    v64 := 0
    v65 := 0
    c6 := 0

    ;WinGet, v61,count, %Stake6% NL Hold'em - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v62,count, %Stake6% NL Hold'em  - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v63,count, %Stake6% NL Hold'em   - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v64,count, %Stake6% NL Hold'em    - Blinds ahk_class PokerStarsTableFrameClass
    ;WinGet, v65,count, %Stake6% NL Hold'em     - Blinds ahk_class PokerStarsTableFrameClass
	WinGet, v61, count, %Stake6% NL Hold'em [45 Players ahk_class PokerStarsTableFrameClass
	
	v6 := v61 + v62 + v63 + v64 + v65

    Loop, %v6%
    	{	
    	c6 += 1
    	}

    if (t6 = 0)
		{
		GuiControl,, Stake6, 0 / 0
    	r6 = 0
		}

    if (t6 < c6)
		{
		t6 := c6 - 1
		}

    if (c6 > r6)
    	{
		t6++
    	GuiControl,, Stake6, %c6% / %t6%
    	r6 = %c6%
    	}

	else, if (c6 < r6)
    	{
		GuiControl,, Stake6, %c6% / %t6%
      	r6 = %c6%
    	}
;--------------------------------------------------------- STAKE 7 ------------------------------------------------------------

    v7 := 0
    c7 := 0

    ;WinGet, v7, count, %Stake7% NL Hold'em [Turbo] ahk_class PokerStarsTableFrameClass
	WinGet, v7, count, %Stake7% NL Hold'em [18 Players ahk_class PokerStarsTableFrameClass

    Loop, %v7%
    	{	
    	c7 += 1
    	}

    if (t7 = 0)
		{
		GuiControl,, Stake7, 0 / 0
    	r7 = 0
		}

    if (t7 < c7)
		{
		t7 := c7 - 1
		}

    if (c7 > r7)
    	{
		t7++
    	GuiControl,, Stake7, %c7% / %t7%
    	r7 = %c7%
    	}

	else, if (c7 < r7)
    	{
		GuiControl,, Stake7, %c7% / %t7%
      	r7 = %c7%
    	}
;--------------------------------------------------------- STAKE 8 ------------------------------------------------------------

    v8 := 0
    c8 := 0

    ;WinGet, v8, count, %Stake8% NL Hold'em [Turbo] ahk_class PokerStarsTableFrameClass
	WinGet, v8, count, %Stake8% NL Hold'em [18 Players ahk_class PokerStarsTableFrameClass

    Loop, %v8%
    	{	
    	c8 += 1
    	}

    if (t8 = 0)
		{
		GuiControl,, Stake8, 0 / 0
    	r8 = 0
		}

    if (t8 < c8)
		{
		t8 := c8 - 1
		}

    if (c8 > r8)
    	{
		t8++
    	GuiControl,, Stake8, %c8% / %t8%
     	r8 = %c8%
    	}

	else, if (c8 < r8)
    	{
		GuiControl,, Stake8, %c8% / %t8%
      	r8 = %c8%
    	}
;--------------------------------------------------------- STAKE 9 ------------------------------------------------------------

    v9 := 0
    c9 := 0

    ;WinGet, v9,count, %Stake9% NL Hold'em [Turbo] ahk_class PokerStarsTableFrameClass 	
	WinGet, v9, count, %Stake9% NL Hold'em [18 Players ahk_class PokerStarsTableFrameClass

    Loop, %v9%
    	{	
    	c9 += 1
    	}

    if (t9 = 0)
		{
		GuiControl,, Stake9, 0 / 0
    	r9 = 0
		}

    if (t9 < c9)
		{
		t9 := c9 - 1
		}

    if (c9 > r9)
    	{
		t9++
    	GuiControl,, Stake9, %c9% / %t9%
    	 r9 = %c9%
    	}

	else, if (c9 < r9)
    	{
		GuiControl,, Stake9, %c9% / %t9%
      	r9 = %c9%
    	}
;--------------------------------------------------------- TOTALS -------------------------------------------------------------

    c0 := c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9
    t0 := t1 + t2 + t3 + t4 + t5 + t6 + t7 + t8 + t9

    GuiControl,, TotalTables, %c0% / %t0%

    if (c0 < r0)
    	{
		SoundPlay, %SoundBust%
    	}
	
    r0 = %c0%

    if (c0 < MinMTRatio)
		{
		Gui, Font, s22 c%NumColor%, Verdana
		Gui, Font, Bold
		GuiControl, Font, TotalTables
		}
	else, if (c0 > MaxMTRatio)
		{
		Gui, Font, s22 c%NumColorWarn%, Verdana
		Gui, Font, Bold
		GuiControl, Font, TotalTables
		}
	else
		{
		Gui, Font, s22 c%NumColorGoal%, Verdana
		Gui, Font, Bold
		GuiControl, Font, TotalTables
		}

    if (t0 = TotalLimit)
    	{
		SoundPlay, %SoundAchieve%
		TotalLimit := t0 + SoundInterval
    	}
;--------------------------------------------------------- BUYIN --------------------------------------------------------------

Buyin_Dollars:=0.00
Buyin_Dollars_TournamentCounter:=0
Buyin_Euro:=0.00
Buyin_Euro_TournamentCounter:=0
Buyin_Session:=0.00	
Buyin_Session_TournamentCounter:=0
		
Winget,Ps_Hwnd_list,List,Ahk_Class PokerStarsTableFrameClass

Loop %Ps_Hwnd_List%
{
	Hwnd:=Ps_Hwnd_List%A_index%
	IF  !(Buyin_%hwnd%)
		{
		WingetTitle,Title,Ahk_id%Hwnd%
		IF Instr(Title,"Tournament")
			{
			IF Buyin_%Hwnd%:=GetBuyin(Title,Buyin_%Hwnd%_Currency)
				{
 				BuyIn_hwnd_list:=BuyIn_hwnd_list ? BuyIn_hwnd_list "," Hwnd : Hwnd
				Buyin_Total:=Round(Buyin_Total+Buyin_%Hwnd%,2)
			    	Buyin_Total_TournamentCounter+=1
				}
			}
		}			
}	

Loop,Parse,Buyin_Hwnd_List,`,,
{
        Hwnd:=A_LoopField      
	IF WinExist("ahk_id" Hwnd)
        	{
		Currency:=Buyin_%hwnd%_Currency	
		Buyin:=Round(Buyin_%hwnd%,2)
		IF (Currency="$")
			{	
			Buyin_Dollars:=Round(Buyin_Dollars+Buyin,2)
		        Buyin_Dollars_TournamentCounter+=1
			}
		Else  IF (Currency="€")
			{		
			Buyin_Euro:=Round(Buyin_Euro+Buyin,2)
			Buyin_Euro_TournamentCounter+=1
			}		
		Buyin_Session:=Round(Buyin_Session+Buyin,2)
		Buyin_Session_TournamentCounter+=1
		}
	Else
                { 
		Temp_list:="," Buyin_Hwnd_List "," 
		StringReplace,Temp_list,Temp_list,`,Hwnd`,,,    
	        StringTrimLeft,Temp_list,Temp_list,1
		StringTrimRight,Buyin_Hwnd_List,Temp_list,1       
		}
}	
	
IF (BuyIn_Dollars_Save != BuyIn_Dollars) Or (BuyIn_Euro_Save != BuyIn_Euro) 
{
	BuyIn_Euro_Save:=BuyIn_Euro	
	BuyIn_Euro_Avg:= Round(BuyIn_Euro/BuyIn_Euro_TournamentCounter,2)		
	BuyIn_Dollars_Save:=BuyIn_Dollars
	BuyIn_Dollars_Avg:=Round(BuyIn_Dollars/BuyIn_Dollars_TournamentCounter,2)
	BuyIn_Session_Avg:=Round(BuyIn_Session/BuyIn_Session_TournamentCounter,2)
	BuyIn_Total_Avg:=Round(BuyIn_Total/BuyIn_Total_TournamentCounter,2)
	
	IfInString, Buyin_Dollars_Avg, .00
		StringReplace, Buyin_Dollars_Avg, Buyin_Dollars_Avg, .00,
	
	IfInString, Buyin_Dollars, .00
		StringReplace, Buyin_Dollars, Buyin_Dollars, .00,
		
	IfInString, Buyin_Total_Avg, .00
		StringReplace, Buyin_Total_Avg, Buyin_Total_Avg, .00,
		
	IfInString, Buyin_Total, .00
		StringReplace, Buyin_Total, Buyin_Total, .00,
	
	GuiControl,,Dollars,% "$" Buyin_Dollars_Avg " ($" BuyIn_Total_Avg ")"
	GuiControl,,TotalABI,% "$" BuyIn_Dollars " ($" BuyIn_Total ")"
}

If (BuyIn_Total_Avg > MaxABI)
	{
	Gui, Font, s11 c%NumColorWarn%, Verdana
	Gui, Font, Norm
	GuiControl, Font, Dollars
	}
else, If (BuyIn_Total_Avg < MaxABI) and (BuyIn_Total_Avg > MinABI)
	{
	Gui, Font, s11 c%NumColorGoal%, Verdana
	Gui, Font, Norm
	GuiControl, Font, Dollars
	}
else
	{
	Gui, Font, s11 c%NumColor%, Verdana
	Gui, Font, Norm
	GuiControl, Font, Dollars
	}
	
If (BuyIn_Total > MaxInvest)
	{
	Gui, Font, s11 c%NumColorWarn%, Verdana
	Gui, Font, Norm
	GuiControl, Font, TotalABI
	}
else
	{
	Gui, Font, s11 c%NumColor%, Verdana
	Gui, Font, Norm
	GuiControl, Font, TotalABI
	}

GetBuyin(Title,byref currency="",Byref BuyinText="")
	{
	Static CurrencyList:="$,€"
 	Haystack:=Substr(Title, Instr(Title,"Sat:")+1) ;This is for satiliets
    Loop,Parse,Currencylist,`,
    	{
        IF ((StartPosBuyin := Instr(Haystack,A_loopField)) And (EndPosBuyin := Instr(Haystack,A_space,"",StartPosBuyin)))
          	{          
           	BuyinText:=Substr(Haystack,StartPosBuyin ,(EndPosBuyin - StartPosBuyin))
         	Currency=%A_loopField%
          	Buyin:=BuyinText
	  		StringReplace,Buyin,Buyin,%Currency%,, 
			IfInString, Buyin, +R
				{	
          		StringReplace,Buyin,Buyin,+R,, 
				RebuyMulti = 3
				Buyin := Buyin * RebuyMulti					
				}
             
			IF Buyin is not number
				{ 
				Buyin:=0
				currency:=
				buyinText:=    
				}
			Break     
			}
		}
	Return Buyin 
	}
		
;---------------------------------------------------------- VPP --------------------------------------------------------------

	VPP1 := t1 * Stake1VPP
	VPP2 := t2 * Stake2VPP
	VPP3 := t3 * Stake3VPP
	VPP4 := t4 * Stake4VPP
	VPP5 := t5 * Stake5VPP
	VPP6 := t6 * Stake6VPP
	VPP7 := t7 * Stake7VPP
	VPP8 := t8 * Stake8VPP
	VPP9 := t9 * Stake9VPP
	
	VPP := Round(VPP1+VPP2+VPP3+VPP4+VPP5+VPP6+VPP7+VPP8+VPP9,2)
	
	
	IfInString, VPP, .00
		StringReplace, VPP, VPP, .00,
		
	Loop, 9
		{
		N += 1
		IfInString, VPP, .%N%0
			{
			StringTrimRight, VPP, VPP, 1
			break
			}	
		}
		
	N = 0

    GuiControl,, VPP, %VPP%
	
	If (VPP >= VPPGoal)
		{
		Gui, Font, s11 c%NumColorGoal%, Verdana
		GuiControl, Font, VPP
		GuiControl, Font, FPP
		}
		
;---------------------------------------------------------- FPP ---------------------------------------------------------------

	FPP := VPP * VIPMulti
	
	FPP := Round(FPP,2)
	
	IfInString, FPP, .00
		StringReplace, FPP, FPP, .00,
				
	Loop, 9
		{
		N += 1
		IfInString, FPP, .%N%0
			{
			StringTrimRight, FPP, FPP, 1
			break
			}	
		}
		
	N = 0

    GuiControl,, FPP, %FPP%
	
;--------------------------------------------------------- CLOCK --------------------------------------------------------------

FormatTime, Time, %A_Now%, H:mm
GuiControl,, Clock, %Time%
StringTrimLeft, TimeOnly, A_Now, 10
StringTrimRight, Minutes, TimeOnly, 2
IfGreaterOrEqual, Minutes, 55
	{
	Gui, Font, s20 c%ClockColorBreak%
	Gui, Font, Bold
	GuiControl, Font, Clock
	}
else
	{
	Gui, Font, s20 c%NumColor%
	Gui, Font, Bold
	GuiControl, Font, Clock
	}
;-------------------------------------------------------- DURATION -------------------------------------------------------------

If (Minutes != Var)
	{
	M2 += 1
	GuiControl,, SessionTime, %H%:%M1%%M2%
	Var := Minutes
	}

If (M2 > 9)
	{
	M1 += 1
	M2 = 0
	GuiControl,, SessionTime, %H%:%M1%%M2%
	}

If (M1 > 5)
	{
	H += 1
	M1 = 0
	M2 = 0
	GuiControl,, SessionTime, %H%:%M1%%M2%
	}
	
Limit = %H%:%M1%%M2%
If (Limit = SessionTimeGoal)
	{
	Gui, Font, s16 c%NumColorGoal%, Verdana
	Gui, Font, Norm
	GuiControl, Font, SessionTime
	}
	
;--------------------------------------------------------- GAMES/H -------------------------------------------------------------

S := ((H * 60) + (M1 * 10) + M2) / 60
S := Round(S,6)

Games := (t0 - c0) / S
Games := Round(Games,2)

IfInString, Games, .00
	StringReplace, Games, Games, .00,
	
Loop, 9
	{
	N += 1
	IfInString, Games, .%N%0
		{
		StringTrimRight, Games, Games, 1
		break
		}	
	}
	
N = 0

GuiControl,, Games, %Games%

;-------------------------------------------------------- INTERVAL -------------------------------------------------------------

   Sleep %LoopInterval%

}
return
;====================================================== SECTION END =============================================================
;================================================================================================================================
;======================================================== HOTKEYS ===============================================================

^F9::				;counter (SessionTime) reset
{
H = 0
M1 = 0
M2 = 0
Gui, Font, s16 c%NumColor%, Verdana
Gui, Font, Norm
GuiControl, Font, SessionTime
GuiControl,, SessionTime, %H%:%M1%%M2%
}
return
;................................................................................................................................

^F10::				;counter (SessionTime) + 1
Var = -1
return
;.................................................... TABLE MOVEMENTS ...........................................................

F1::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotA1x%, %SlotA1y%
else, return
}
return
;......................................................... SLOT1 ................................................................

F2::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotA2x%, %SlotA2y%
else, return
}
return
;......................................................... SLOT2 ................................................................

F3::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotA3x%, %SlotA3y%
else, return
}
return
;......................................................... SLOT3 ................................................................

F4::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotA4x%, %SlotA4y%
else, return
}
return
;......................................................... SLOT4 ................................................................

^F3::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotA0x%, %SlotA0y%
else, return
}
return
;......................................................... SLOT5 ................................................................

F5::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotB1x%, %SlotB1y%
else, return
}
return
;......................................................... SLOT6 ................................................................

F6::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotB2x%, %SlotB2y%
else, return
}
return
;......................................................... SLOT7 ................................................................

F7::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotB3x%, %SlotB3y%
else, return
}
return
;......................................................... SLOT8 ................................................................

F8::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotB4x%, %SlotB4y%
else, return
}
return
;......................................................... SLOT9 ................................................................

F9::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotC1x%, %SlotC1y%
else, return
}
return
;......................................................... SLOT10 ...............................................................

F10::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotC2x%, %SlotC2y%
else, return
}
return
;......................................................... SLOT11 ...............................................................

F11::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotC3x%, %SlotC3y%
else, return
}
return
;......................................................... SLOT12 ...............................................................

F12::
{
IfWinActive, ahk_class PokerStarsTableFrameClass
	WinMove, %SlotC4x%, %SlotC4y%
else, return
}
return
;................................................................................................................................

^Q::ExitApp
;................................................................................................................................

!Pause::Pause
;................................................................................................................................

GuiClose:
ExitApp
Table Counter AHK for PokerStars Quote
03-13-2016 , 07:42 PM
Quote:
Originally Posted by svoloch
Hi,

Thanks for this great script and your hard work.

I would liked to adapted 2.6.8b version to my case for PS French room games.

So i modified the script to have 20 stakes in 4 columns and 5 lines.

I created new layout "20" and modified the numbers of this variables : vcounter, vcontrol, vprev, vEdit, Vselect, c, t, VPP, Color, and new one column VScaption.

The setting in gui2 isn't applied when i modified it (stakes, color box ...). And in the main gui from the eleven stake, i haven't got the stack title but only xxxx/xxx. I compared and analysed code several times and don't find where i'm wrong.

You can see the result below.




(In the main Gui i must modify some display setting, In color setting, from the eleven color pick the selector not applied the color in preview case but if i indicate the color code number and save the color is applied with success in the main Gui)

Here is the modified script : http://uploaded.net/file/6gfdt272

I search how i can solve this mistake, but if somebody know the script and can check where i'm wrong or indicate to me all the parts of the script to be modified when you create a new layout with new stakes and columns.

Thx for you help and your work.
Table Counter AHK for PokerStars Quote
03-13-2016 , 07:58 PM
Found this newer version of the SessionMan but still cant get it to run..

Table Counter AHK for PokerStars Quote
03-14-2016 , 08:30 AM
Quote:
Originally Posted by xPISCIVOROUSx



Latest stable version: SessionMan 2.6.3 (see post #160)

save as SessionMan2.6.3.ahk


AutoHotkey 1.0.48.05 (required - newer versions not supported)


Providing those links is all I can do to help. I lost all my files, I'm out of business and can't offer further support any more. Sry, and GL.

Last edited by Baobhan-Sith; 03-14-2016 at 08:38 AM.
Table Counter AHK for PokerStars Quote

      
m