Open Side Menu Go to the Top
Register
AHK script:Stars Filtered SNG Opener AHK script:Stars Filtered SNG Opener

03-28-2009 , 12:51 PM
So I guess no one else had problems with the software not sitting in all registered tournaments like I had a couple of posts back. It freaked me out and I have stopped using the script until I get a definitive answer.
AHK script:Stars Filtered SNG Opener Quote
03-28-2009 , 03:54 PM
Quote:
Originally Posted by wbmustang
So I guess no one else had problems with the software not sitting in all registered tournaments like I had a couple of posts back. It freaked me out and I have stopped using the script until I get a definitive answer.
i remember seeing a script that makes sure all ur registered tournaments are open but i forget the name, sorry i cant help more.

And my question is i just started trying to use this opener and when it should register me for anothe sng it just opens my cashier, i am kindof dumb with scripts but any help is appreciated.
AHK script:Stars Filtered SNG Opener Quote
03-28-2009 , 04:06 PM
Quote:
Originally Posted by BigTime845
i remember seeing a script that makes sure all ur registered tournaments are open but i forget the name, sorry i cant help more.

And my question is i just started trying to use this opener and when it should register me for anothe sng it just opens my cashier, i am kindof dumb with scripts but any help is appreciated.
set correct lobby theme in sfso
AHK script:Stars Filtered SNG Opener Quote
04-01-2009 , 01:27 PM
Great program but sometimes it stops registering for me. Say if I want 24 registered continously, it registers me for 12 then stops registering. Another problem on my laptop is when I want 12 registered, sometimes it doesn't stop registering even after 12 tables is already running.
AHK script:Stars Filtered SNG Opener Quote
04-09-2009 , 01:31 PM
Is there any way to filter for 180 man tournaments but not 18 man ones?
AHK script:Stars Filtered SNG Opener Quote
04-09-2009 , 05:35 PM
Quote:
Originally Posted by Jasonfp
Is there any way to filter for 180 man tournaments but not 18 man ones?
No. Search the thread, this has been asked many times.
AHK script:Stars Filtered SNG Opener Quote
04-10-2009 , 02:19 AM
Quote:
Originally Posted by LawJik
No. Search the thread, this has been asked many times.
Yes there is. You just have to filter out the buyins for the 18-mans. They're different from the 180-man buyins. for example, here is my filter to show only turbo 45s and 180s in the low bracket ($12 180s/45s): turbo -90 -$6.50 -$16
AHK script:Stars Filtered SNG Opener Quote
04-12-2009 , 08:30 AM
For me, the software caused the PokerStars client to use 100% CPU, slowing the entire system down before throwing up a never-seen-before (by me) internal error in the PS client and closing.

Before this, it managed to autoregister in two SnG's in about 15min, despite there being at least 10 in the lobby at any one time, and despite me setting it to keep open 8 tables and selecting setreg and batch reg.

Nice idea at least
AHK script:Stars Filtered SNG Opener Quote
04-12-2009 , 09:19 AM
Quote:
Originally Posted by pendulumx
For me, the software caused the PokerStars client to use 100% CPU, slowing the entire system down before throwing up a never-seen-before (by me) internal error in the PS client and closing.

Before this, it managed to autoregister in two SnG's in about 15min, despite there being at least 10 in the lobby at any one time, and despite me setting it to keep open 8 tables and selecting setreg and batch reg.

Nice idea at least
Turn off setreg and batch register, and make sure your lobby theme is selected.
AHK script:Stars Filtered SNG Opener Quote
04-12-2009 , 09:50 AM
Quote:
Originally Posted by pendulumx
For me, the software caused the PokerStars client to use 100% CPU, slowing the entire system down before throwing up a never-seen-before (by me) internal error in the PS client and closing.

Before this, it managed to autoregister in two SnG's in about 15min, despite there being at least 10 in the lobby at any one time, and despite me setting it to keep open 8 tables and selecting setreg and batch reg.

Nice idea at least
Did you read the 3 lines of instruction before doing your best to sound as douchy as possible?

Also: Everyone please post all your gripes/issues - I need karma bad and have decided to overhaul/update SFSO. Yes really this time.

Post bugs and feature requests and I will get to work within a day two.

To do:
Minimize to tray
Lock function /w password
Option to buy in to similar if that is available

Last edited by Everlong; 04-12-2009 at 10:05 AM.
AHK script:Stars Filtered SNG Opener Quote
04-12-2009 , 11:30 AM
Quote:
Originally Posted by Everlong
Did you read the 3 lines of instruction before doing your best to sound as douchy as possible?
Is three lines adequate for explaining the use of a software product to a new user? Do you think three lines can ever constitute adequate software documentation?

You do, in fact, have more than three lines of instructions on your website, but these instructions are not written with the new user in mind, they are more like developer notes to another developer. You need a proper help file with a decent, clear explanation of the usage of each option and importantly, you need to include example setups.

LawJik: I fiddled with it for ages before it started crashing stuff and nearly hung my system. All settings were tried off and on etc. I don't see why I should turn setreg off when the instructions tell me to turn it on if I want to play a set. It's a Bill O'Reilly from me I'm afraid. (****ing Thing Sucks!).

Last edited by pendulumx; 04-12-2009 at 11:37 AM.
AHK script:Stars Filtered SNG Opener Quote
04-12-2009 , 12:21 PM
Quote:
Originally Posted by pendulumx
Is three lines adequate for explaining the use of a software product to a new user? Do you think three lines can ever constitute adequate software documentation?

You do, in fact, have more than three lines of instructions on your website, but these instructions are not written with the new user in mind, they are more like developer notes to another developer. You need a proper help file with a decent, clear explanation of the usage of each option and importantly, you need to include example setups.

LawJik: I fiddled with it for ages before it started crashing stuff and nearly hung my system. All settings were tried off and on etc. I don't see why I should turn setreg off when the instructions tell me to turn it on if I want to play a set. It's a Bill O'Reilly from me I'm afraid. (****ing Thing Sucks!).
I am sorry that the help/documentation don't meet your standards for a free script made by a pokerplayer. I try and stay civil on 2p2 but gtfo.
AHK script:Stars Filtered SNG Opener Quote
04-12-2009 , 12:48 PM
Apology accepted. </sarc>
(Someone deleted my first reply)
AHK script:Stars Filtered SNG Opener Quote
04-14-2009 , 01:03 AM
dont mean to be stupid but how do i download this program?
AHK script:Stars Filtered SNG Opener Quote
04-14-2009 , 09:12 AM
The link is in post #1.

http://overcards.com/wiki/moin.cgi/SFSO
AHK script:Stars Filtered SNG Opener Quote
04-16-2009 , 08:23 AM
For those of you that grind all the time; is the Auto register if full option there on every sng buyin dialogue now??

edit; working on 3.2.3 right now so keep suggestions coming.

minmize to tray is done, buyin if full is kinda done.

Last edited by Everlong; 04-16-2009 at 08:43 AM.
AHK script:Stars Filtered SNG Opener Quote
04-16-2009 , 05:02 PM
I am really sorry to be so ******ed and please dont flame me...

but.... I cannot for the life of me see where to download this cool looking program from
I click on the .ahk flile linke and download and then windows asks me wtf to open it wiht

please help and apologies for being an idiot
AHK script:Stars Filtered SNG Opener Quote
04-16-2009 , 05:03 PM
You need to download/install autohotkey before you can use any .ahk scripts.
AHK script:Stars Filtered SNG Opener Quote
04-16-2009 , 06:02 PM
ahhh ok thanks
AHK script:Stars Filtered SNG Opener Quote
04-17-2009 , 05:04 AM
3.2.3 beta for those that would like to help test, please report back any problems with registering:

* Added option to check the auto buyin in next if full option
* Minimize to tray with Win+H, unhide with Win+S
* Fixed issue with first SNG in lobby being skipped

Code:
; Author:         Everlong@2p2 Code assembled from misc sources, thanks to _dave_, chris228, finnisher
; v.3.2.3
; added: option to atuobuyin if full, hide/show window
; fixed issue with skipping first sng in lobby
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
#SingleInstance, Force
SetTitleMatchMode, 2
SetTimer, register, off
SetTimer, safeguard, off
StringTrimRight, thisahk, A_ScriptName, 4

RegSofar=0
OpenTables=0
trows=17
SysGet,mon, MonitorworkArea
fivesec=0
two=0
ddlist4=Off|
ddlist5=Off|
ddlist6=Off|
ddlist7=Off|
LobbyList=Default|Black|
Loop 100
{
two:=two+2
ddlist3:=ddlist3 . two . "|"
If (A_index<51)
{
fivesec:=fivesec+5
ddlist:=ddlist . A_index . "|"
ddlist2:=ddlist2 . fivesec . "|"
ddlist5:=ddlist5 . fivesec . "|"
ddlist6:=ddlist6 . fivesec . "|"
If (A_index<22)
{
ddlist7:=ddlist7 . A_Index . "|"
If (A_index<16)
{
ddlist4:=ddlist4 . A_index . "|"
}
}
}
}


Gosub, BuildGui
Return

BuildGui:
Gui, color, white
Gui, font, cOlive
Gui, add, tab, h340 w240, General|Advanced Settings|Registered in Tournaments
Gui, add, text, , Auto-register
Gui, add, Checkbox, yp xp+80 Check3 Checked-1 vRegister
Gui, add, text, yp xp+30, Reg. next if full?
Gui, add, Checkbox, yp xp+80 AutoIfFull VAutoifFull


Gui, add, text,xp-190 yp+30 , Register every (sec):
Gui, add, DropDownList, w50 yp-5 xp+140  vInterval1, %ddlist2%
Gui, add, text, xp-140 yp+30, No of SNG:s to keep open:
Gui, add, DropDownList, w50 yp-5 xp+140 vKeepOpen , %ddlist%
Gui, add, text,xp-140 yp+30, Limit total SNG:s to:
Gui, add, DropDownList, w50 yp-5 xp+140 vTotalLimit , %ddlist3%
Gui, add, text,xp-140 yp+30, Limit total time to (min):
Gui, add, DropDownList, w50 yp-5 xp+140 vTimeLimit , %ddlist5%

Gui, add, text, xp-140 yp+30 cred vcdown w200
Gui, add, text, xp  yp+30 w200 vRegSofar, SNG:s registered so far:
Gui, add, text,  w200 vOpenTables, Tables open/waiting:
Gui, add, text, w200 cRed vStatus, Status: Idle
Gui, add, Button, w68 ggetgui, &Submit+Run
Gui, add, text, xp+72 yp+5, (Autosaves your settings)
Gui, Add, Button, Disabled xp-72 yp+20 w48 h20 Center, &Resume
Gui, Add, Button, Disabled  w45 h20 yp xp+48 Center, &Pause
Gui, Add, Button, w80 h20 yp xp+45 Center globbyrestore, &Lobby restore
Gui, Add, Button, w45 h20 yp xp+80 gDonate, &Donate
Gui, tab, 2

Gui, add, Text, x25 y65 , Lobby Theme:
Gui, add, DropDownList, w65 yp-5 xp+140 vLobby, %LobbyList%
Gui, add, text,xp-140 yp+30 , Close lobbies every (sec):
Gui, add, DropDownList, w50 yp-5 xp+140  vCloseInterv, %ddlist6%
Gui, add, text, xp-140 yp+18 , (manually Close with ctrl+e)
Gui, add, text, yp+30, Disable if no user Input (min):
Gui, add, DropDownList, w50 yp-5 xp+140 vGuardtimer Choose1 , %ddlist4%
Gui, add, text, xp-140 yp+30 ,Batch-register?
Gui, add, Checkbox,yp xp+140 vBatchReg
Gui, add, text, yp+20 xp-140 ,SetReg* mode?
Gui, add, Checkbox,yp xp+140 vSetReg
Gui, add, text, yp+20 xp-140 ,Minimize lobby?
Gui, add, Checkbox,yp xp+140 vMinlob
Gui, add, Text, xp-140 yp+30, Times to scroll down:
Gui, add, DropDownList, w50 yp-5 xp+140 vscrldwn, %ddlist7%
Gui, add, Text, xp-140 yp+25, Always start at top of lobby?
Gui, add, Checkbox, yp xp+140 vTopReturn
Gui, tab, 3
Gui, add, text, , Manually populate list: F11
Gui, Add, ListView,  r%trows%  grid gFindLobby w200 c1, Registered in Tournaments
Gui, show, w256, %thisahk%
WinGetPos, x, y, w, h, SFSO
x:=monRight-w
y:=monBottom-h
Gosub, GetIni
Gui, show, x%x% y%y%, %thisahk%
Return

getgui:
GuiControl,, Register, -1
Register = 1
Gui, Submit, NoHide
displayedTime=
If (lobby="Default")
{
regButton:="PokerStarsButtonClass7"
}
Else If (lobby="Black" or lobby="Custom*")
{
regButton:="PokerStarsButtonClass8"
}
Gosub, TimeLimit
Gosub, MakeIni
GuiControl, Enable, Pause
GuiControl, Disable, Resume
interval:=interval1*1000

If !interval
interval=off

If guardtimer is not Number
{
SetTimer, safeguard, off
}
Else
{
killtime:=guardtimer*60000
SetTimer, safeguard, 1000
}
lobclose:=CloseInterv*1000
SetTimer, NukeLobbies, %lobclose%
register=1
SetTimer, Register, %interval%
Gosub, ButtonResume
Return

Safeguard:
If (A_TimeIdle > killtime)
{
Gosub, ButtonPause
GuiControl, , cdown, Stopped  due to inactivity!!! %displayedTime%
}
Return

TimeLimit:
If TimeLimit is Number
{
allowedMinutes := timeLimit
endTime := A_Now
endTime += %allowedMinutes%, Minutes
SetTimer, CountDown, 1000
}
Else
{
GuiControl, , cdown, Time Limit off
}
Return

Countdown:
remainingTime := endTime
EnvSub remainingTime, %A_Now%, Seconds
m := remainingTime // 60
s := Mod(remainingTime, 60)
displayedTime := Format3Digits(m) ":" Format2Digits(s)
GuiControl, , cdown, Running another (mm:ss): %displayedTime%
If (A_now > endTime)
{
SetTimer, Countdown, off
Gosub, ButtonPause
GuiControl, , cdown, Time Limit reached.
}
Return

GuiClose:
Gui, Submit
Gosub, MakeIni
ExitApp
Return

ButtonResume:
Gui, Submit, NoHide
If PausedTime is Number
{
TimeLimit:=PausedTime
}
Gosub, TimeLimit

GuiControl, Disable, Resume
GuiControl, Enable, Pause
GuiControl, , Register, -1
Register=1
Gosub, Register
SetTimer, Register, %Interval%
Return

ButtonPause:
Critical
Gui, Submit, NoHide
PausedTime:=remainingTime/60
Register=0
SetTimer, Countdown, off
SetTimer, Register, off
GuiControl, Disable, Pause
GuiControl, Enable, Resume
GuiControl, , Register, 0
GuiControl, , cdown, Manually Paused %displayedTime%
GuiControl, , Status, Status: Waiting ;TEST
Return

Register:
SetTitleMatchMode, 2
WinGet, LobbyID, id, PokerStars Lobby

If !LobbyID
{
Gosub, ButtonPause
GuiControl,, Status, Status: PokerStars Lobby not found
Gui, show, NoActivate, %thisahk%
Return
}
If (TopReturn=1)
{
ControlSend, PokerStarsListClass5, {NumpadUp 20}, ahk_id%lobbyid%
}
WinGet, PhysicalTables, list, ahk_class PokerStarsTableFrameClass
If PhysicalTables is not Number
PhysicalTables=0

If (PhysicalTables >= KeepOpen)
{
GuiControl,, Status, Set Full waiting
Gui, show, NoActivate, %thisahk%
Return
}
OpenTables:=CountTourneys()
If OpenTables is not Number
OpenTables=0
GuiControl, , OpenTables, Tables open/waiting: %OpenTables%
GuiControl, , RegSofar, SNG:s registered so far: %RegSofar%
Gui, show, NoActivate, %thisahk%

If (RegSofar >= TotalLimit)
{
Gosub, ButtonPause
GuiControl, , cdown, SNG Total Limit reached
GuiControl, , Status, Status: Idle ;TEST

Return
}
If (OpenTables >= TotalLimit)
{
Gosub, ButtonPause
GuiControl, , cdown, SNG Total Limit reached
GuiControl, , Status, Status: Idle ;TEST
Return
}
If (OpenTables >= KeepOpen)
{
GuiControl, , OpenTables, Tables open/waiting: %OpenTables% (Set full)
GuiControl, , Status, Status: Waiting ;TEST
Return
}
Else
{
If (BatchReg=1)
{
Times:= KeepOpen - OpenTables
RegSNGexec(LobbyID, Times, scrldwn)
}
Else
{
RegSNGexec(LobbyID, 1, scrldwn)
}
}
Return
MakeIni:
IniWrite, %AutoIfFull%, %thisahk%.ini, Settings, AutoIfFull
IniWrite, %TopReturn%, %thisahk%.ini, Settings, TopReturn
IniWrite, %scrldwn%, %thisahk%.ini, Settings, scrldwn
IniWrite, %Lobby%, %thisahk%.ini, Settings, Lobby
IniWrite, %BatchReg%, %thisahk%.ini, Settings, BatchReg
IniWrite, %Setreg%, %thisahk%.ini, Settings, SetReg
IniWrite, %Minlob%, %thisahk%.ini, Settings, MinLob
IniWrite, %Interval1%, %thisahk%.ini, Settings, Interval1
IniWrite, %AutoClose%, %thisahk%.ini, Settings, AutoClose
IniWrite, %CloseInterv%, %thisahk%.ini, Settings, CloseInterv
IniWrite, %KeepOpen%, %thisahk%.ini, Settings, KeepOpen
IniWrite, %TotalLimit%, %thisahk%.ini, Settings, TotalLimit
IniWrite, %GuardTimer%, %thisahk%.ini, Settings, GuardTimer
IniWrite, %TimeLimit%, %thisahk%.ini, Settings, TimeLimit
Return

GetIni:
IfExist, %thisahk%.ini
{
IniRead, AutoIfFull, %thisahk%.ini, Settings, AutoIfFull
IniRead, TopReturn, %thisahk%.ini, Settings, TopReturn,0
IniRead, scrldwn, %thisahk%.ini, Settings, scrldwn
IniRead, Lobby, %thisahk%.ini, Settings, Lobby
IniRead, BatchReg, %thisahk%.ini, Settings, BatchReg
IniRead, SetReg, %thisahk%.ini, Settings, SetReg, 1
IniRead, MinLob, %thisahk%.ini, Settings, MinLob, 0
IniRead, Interval1, %thisahk%.ini, Settings, Interval1
IniRead, CloseInterv, %thisahk%.ini, Settings, CloseInterv
IniRead, AutoClose, %thisahk%.ini, Settings, AutoClose
IniRead, KeepOpen, %thisahk%.ini, Settings, KeepOpen
IniRead, TotalLimit, %thisahk%.ini, Settings, TotalLimit
IniRead, GuardTimer, %thisahk%.ini, Settings, GuardTimer, Off
IniRead, TimeLimit, %thisahk%.ini, Settings, TimeLimit, Off
GuiControl, , AutoIfFull, %AutoIfFull%
StringReplace, ddlist7, ddlist7, %scrldwn%, %scrldwn%|
GuiControl, , scrldwn, |%ddlist7%
StringReplace, LobbyList, LobbyList, %Lobby%, %Lobby%|
GuiControl, , Lobby, |%LobbyList%
GuiControl, , BatchReg, %BatchReg%
GuiControl, , SetReg, %SetReg%
GuiControl, , MinLob, %MinLob%
GuiControl, , TopReturn, %TopReturn%
GuiControl, , AutoClose, %AutoClose%
StringReplace, ddlist2, ddlist2, %interval1%, %Interval1%|
GuiControl, , Interval1, |%ddlist2%
StringReplace, ddlist6, ddlist6, %CloseInterv%, %CloseInterv%|
GuiControl, , CloseInterv, |%ddlist6%
StringReplace, ddlist, ddlist, %KeepOpen%, %KeepOpen%|
GuiControl, , KeepOpen, |%ddlist%
StringReplace, ddlist3, ddlist3, %TotalLimit%, %TotalLimit%|,
GuiControl, , TotalLimit, |%ddlist3%
StringReplace, ddlist4, ddlist4, %GuardTimer%, %GuardTimer%|
GuiControl, , GuardTimer, |%ddlist4%
StringReplace, ddlist5, ddlist5, %TimeLimit%, %TimeLimit%|
GuiControl, , TimeLimit, |%ddlist5%
}
Return
^e::
NukeLobbies:
SetTitleMatchMode, 2
GroupAdd, TLobbies, Lobby,,, PokerStars Lobby
GroupClose, TLobbies, A
Return

#H::
WinHide, %thisahk%
return
#S::
WinShow, %thisahk%
return

F11::
TmpSetReg:=SetReg
SetReg=0
CountTourneys()
SetReg:=TmpSetReg
Return
ManualCount:
CountTourneys()
Return

FindLobby:
If (%A_GuiEvent% = DoubleClick)
{
LV_GetText(TournId,A_EventInfo)
TournID:=SubStr(TournID, 1,10)
WinMenuSelectItem, PokerStars Lobby,, Requests, Find a Tournament
WinWait, Find Tournament ahk_class #32770, , 10
WinGet, fat, id
ControlFocus, Edit1, ahk_id%fat%
Sleep, -1
ControlSend, Edit1, %TournId%, ahk_id%fat%
ControlFocus, Button1, ahk_id%fat%
Sleep, -1
ControlSend, Button1, {Space}, ahk_id%fat%
}
Return

Donate:
donation()
Return

Format2Digits(_val) {
_val += 100
StringRight _val, _val, 2
Return _val
}

Format3Digits(_val) {
_val += 1000
StringRight _val, _val, 3
StringTrimRight, FirstZ, _val, 2
If FirstZ=0
{
StringTrimLeft, _val, _val, 1
}
StringTrimRight, FirstZ, _val, 1
If FirstZ=0
{
StringTrimLeft, _val, _val, 1
}
Return _val
}
LobbyRestore:
WinGet, lobbyid, id, PokerStars Lobby
WinShow, ahk_id%lobbyid%
WinMove, ahk_id%lobbyid%,,0,0
return


RegSNGexec(id, times, scrldwn) {
global RegSofar
global Register
global OpenTables
global KeepOpen
global TotalLimit
global RegButton
global AutoIfFull
Loop %times%
{
Gosub, ManualCount
Sleep, 25
ControlSend, PokerStarsListClass5, {NumpadUp 20}, ahk_id%id%

If (OpenTables >= KeepOpen)
Exit
If (OpenTable >0 TotalLimit)
Exit
ClickdirectionCount=0
direction=0
GuiControl, , Status, Status: Registering ;TEST
Loop 16
{
If (Register=0)
{
GuiControl, , Status, Status: Idle ;TEST
Exit
}
ControlGet, v, Visible, , %regButton%, ahk_id%id%
If (v = 0)
If (scrldwn!="Off")
{
If (ClickdirectionCount<=scrldwn) {
If (direction=0) {
ControlSend, PokerStarsListClass5, {NumpadDown}, ahk_id%id%
} Else {
ControlSend, PokerStarsListClass5, {NumpadUp}, ahk_id%id%
}
ClickdirectionCount:=ClickdirectionCount+1
} Else {
If (direction=0) {
direction:=1
} Else {
direction:=0
}
ClickdirectionCount:=0
}
Sleep 1000
}
If (v = 1)
Break
}

If ( v = 1 ) {
ControlClick, %regButton%, ahk_id%id%
WinWait, Tournament Registration ahk_class #32770, , 10
{
WinGet, regid, id
ControlFocus, Button1, ahk_id%regid%
Sleep, -1
ControlSend, Button1, {Space}, ahk_id%regid%
Sleep, 10
If (AutoIfFull = 1)
{
ControlFocus, Button2, ahk_id%regid%
Sleep, -1
ControlSend, Button2, {Space}, ahk_id%regid%
Sleep, 30
}

;WinGet, clist , ControlList, ahk_id%regid%
;IfInString, clist, Button4
;{
ControlFocus, Button3, ahk_id%regid%
Sleep, -1
ControlSend, Button3, {Space}, ahk_id%regid%
RegSofar++
GuiControl, , RegSofar, SNG:s registered so far: %RegSofar%
GuiControl, , Status, Status: Waiting ;TEST
Gui, show, NoActivate, %thisahk%
;}
;Else
;{
;ControlFocus, Button2, ahk_id%regid%
;Sleep, -1
;ControlSend, Button2, {Space}, ahk_id%regid%
;RegSofar++
;GuiControl, , RegSofar, SNG:s registered so far: %RegSofar%
;GuiControl, , Status, Status: Waiting ;TEST
;Gui, show, NoActivate, %thisahk%
;}
}
WinWait, Tournament Registration ahk_class #32770, , 10
{
WinGet, regid, id
ControlGetText, ctext, Button1, ahk_id%regid%
If ( cText = "OK" ) {
ControlFocus, Button1, ahk_id%regid%
Sleep, -1
ControlSend, Button1, {Space}, ahk_id%regid%
}
}
}
}
}
CountTourneys() {
global
If (SetReg=1)
{
Return 0
}
WinMenuSelectItem, PokerStars Lobby,, Requests, Registered In Tournaments
WinWait, Registered In Tournaments ahk_class #32770, , 10
WinGet, ritw, id
ControlGetText, nf, Button1, ahk_id%ritw%
If (nf = "OK")
{
ControlFocus, Button1, ahk_id%ritw%
Sleep, -1
ControlSend, Button1, {Space}, ahk_id%ritw%
{
If (minlob=1)
WinMinimize, PokerStars Lobby
}
Return 0
}
ControlGet, Tlist, List,, ListBox1, ahk_id%ritw%
ControlFocus, Button2, ahk_id%ritw%
Sleep, -1
ControlSend, Button2, {Space}, ahk_id%ritw%
{
If (minlob=1)
WinMinimize, PokerStars Lobby
}
StringSplit, tlist, tlist, `n
If (tlist0 > 4)
trows:=tlist0

GuiControl, , trows, %trows%
Loop %tlist0%
{
t:=tlist%A_index%
If A_index=1
LV_Delete()
LV_Add("", t)
LV_ModifyCol()
LV_DeleteCol(2)
}
Gui, show, NoActivate, %thisahk%
Return tlist0
}

donation() {
WinMenuSelectItem, PokerStars Lobby,, Requests, Transfer Funds...
WinWait, Transfer Funds ahk_class #32770, , 10
WinGet, tf, id
ControlFocus, Edit2, ahk_id%tf%
ControlSetText, Edit2, Attilio
ControlFocus, Edit1, ahk_id%tf%
Sleep, -1
ControlSetText, Edit1,
GuiControl, Disable, Donate
}

lobbyStars() {
SetTitleMatchMode 1
WinGet, id, id, PokerStars Lobby
Return id
}
~^!Q::
ExitApp

Last edited by Everlong; 04-17-2009 at 05:32 AM. Reason: see post below
AHK script:Stars Filtered SNG Opener Quote
04-17-2009 , 05:09 AM
Quote:
Originally Posted by dmk
i seem to have a problem w/ sfso

it skips the first tournament in the lobby when it tries to register

i do 114s/60s, and only 114 is registering at a time. but it'll skip to the 2nd one and then start tryign to register. using version 3.2.2, any thoughts?
I have this too, I will look into this next.

Found the possible explanation;

At the start of registration SFSO checks the registered in tournaments menu to see if it needs to register. When you do this (you can try i manually) the register button on the SNG you are on disappears, hence SFSO scrolls down one sng.

Edit: found a way around this. It now reigsters for the first one in the new beta. (Look one post up).

Last edited by Everlong; 04-17-2009 at 05:31 AM.
AHK script:Stars Filtered SNG Opener Quote
04-17-2009 , 02:38 PM
Quote:
Originally Posted by Everlong
3.2.3 beta for those that would like to help test, please report back any problems with registering:

* Added option to check the auto buyin in next if full option
* Minimize to tray with Win+H, unhide with Win+S
* Fixed issue with first SNG in lobby being skipped

Code:
; Author:         Everlong@2p2 Code assembled from misc sources, thanks to _dave_, chris228, finnisher
; v.3.2.3
; added: option to atuobuyin if full, hide/show window
; fixed issue with skipping first sng in lobby
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
#SingleInstance, Force
SetTitleMatchMode, 2
SetTimer, register, off
SetTimer, safeguard, off
StringTrimRight, thisahk, A_ScriptName, 4

RegSofar=0
OpenTables=0
trows=17
SysGet,mon, MonitorworkArea
fivesec=0
two=0
ddlist4=Off|
ddlist5=Off|
ddlist6=Off|
ddlist7=Off|
LobbyList=Default|Black|
Loop 100
{
two:=two+2
ddlist3:=ddlist3 . two . "|"
If (A_index<51)
{
fivesec:=fivesec+5
ddlist:=ddlist . A_index . "|"
ddlist2:=ddlist2 . fivesec . "|"
ddlist5:=ddlist5 . fivesec . "|"
ddlist6:=ddlist6 . fivesec . "|"
If (A_index<22)
{
ddlist7:=ddlist7 . A_Index . "|"
If (A_index<16)
{
ddlist4:=ddlist4 . A_index . "|"
}
}
}
}


Gosub, BuildGui
Return

BuildGui:
Gui, color, white
Gui, font, cOlive
Gui, add, tab, h340 w240, General|Advanced Settings|Registered in Tournaments
Gui, add, text, , Auto-register
Gui, add, Checkbox, yp xp+80 Check3 Checked-1 vRegister
Gui, add, text, yp xp+30, Reg. next if full?
Gui, add, Checkbox, yp xp+80 AutoIfFull VAutoifFull


Gui, add, text,xp-190 yp+30 , Register every (sec):
Gui, add, DropDownList, w50 yp-5 xp+140  vInterval1, %ddlist2%
Gui, add, text, xp-140 yp+30, No of SNG:s to keep open:
Gui, add, DropDownList, w50 yp-5 xp+140 vKeepOpen , %ddlist%
Gui, add, text,xp-140 yp+30, Limit total SNG:s to:
Gui, add, DropDownList, w50 yp-5 xp+140 vTotalLimit , %ddlist3%
Gui, add, text,xp-140 yp+30, Limit total time to (min):
Gui, add, DropDownList, w50 yp-5 xp+140 vTimeLimit , %ddlist5%

Gui, add, text, xp-140 yp+30 cred vcdown w200
Gui, add, text, xp  yp+30 w200 vRegSofar, SNG:s registered so far:
Gui, add, text,  w200 vOpenTables, Tables open/waiting:
Gui, add, text, w200 cRed vStatus, Status: Idle
Gui, add, Button, w68 ggetgui, &Submit+Run
Gui, add, text, xp+72 yp+5, (Autosaves your settings)
Gui, Add, Button, Disabled xp-72 yp+20 w48 h20 Center, &Resume
Gui, Add, Button, Disabled  w45 h20 yp xp+48 Center, &Pause
Gui, Add, Button, w80 h20 yp xp+45 Center globbyrestore, &Lobby restore
Gui, Add, Button, w45 h20 yp xp+80 gDonate, &Donate
Gui, tab, 2

Gui, add, Text, x25 y65 , Lobby Theme:
Gui, add, DropDownList, w65 yp-5 xp+140 vLobby, %LobbyList%
Gui, add, text,xp-140 yp+30 , Close lobbies every (sec):
Gui, add, DropDownList, w50 yp-5 xp+140  vCloseInterv, %ddlist6%
Gui, add, text, xp-140 yp+18 , (manually Close with ctrl+e)
Gui, add, text, yp+30, Disable if no user Input (min):
Gui, add, DropDownList, w50 yp-5 xp+140 vGuardtimer Choose1 , %ddlist4%
Gui, add, text, xp-140 yp+30 ,Batch-register?
Gui, add, Checkbox,yp xp+140 vBatchReg
Gui, add, text, yp+20 xp-140 ,SetReg* mode?
Gui, add, Checkbox,yp xp+140 vSetReg
Gui, add, text, yp+20 xp-140 ,Minimize lobby?
Gui, add, Checkbox,yp xp+140 vMinlob
Gui, add, Text, xp-140 yp+30, Times to scroll down:
Gui, add, DropDownList, w50 yp-5 xp+140 vscrldwn, %ddlist7%
Gui, add, Text, xp-140 yp+25, Always start at top of lobby?
Gui, add, Checkbox, yp xp+140 vTopReturn
Gui, tab, 3
Gui, add, text, , Manually populate list: F11
Gui, Add, ListView,  r%trows%  grid gFindLobby w200 c1, Registered in Tournaments
Gui, show, w256, %thisahk%
WinGetPos, x, y, w, h, SFSO
x:=monRight-w
y:=monBottom-h
Gosub, GetIni
Gui, show, x%x% y%y%, %thisahk%
Return

getgui:
GuiControl,, Register, -1
Register = 1
Gui, Submit, NoHide
displayedTime=
If (lobby="Default")
{
regButton:="PokerStarsButtonClass7"
}
Else If (lobby="Black" or lobby="Custom*")
{
regButton:="PokerStarsButtonClass8"
}
Gosub, TimeLimit
Gosub, MakeIni
GuiControl, Enable, Pause
GuiControl, Disable, Resume
interval:=interval1*1000

If !interval
interval=off

If guardtimer is not Number
{
SetTimer, safeguard, off
}
Else
{
killtime:=guardtimer*60000
SetTimer, safeguard, 1000
}
lobclose:=CloseInterv*1000
SetTimer, NukeLobbies, %lobclose%
register=1
SetTimer, Register, %interval%
Gosub, ButtonResume
Return

Safeguard:
If (A_TimeIdle > killtime)
{
Gosub, ButtonPause
GuiControl, , cdown, Stopped  due to inactivity!!! %displayedTime%
}
Return

TimeLimit:
If TimeLimit is Number
{
allowedMinutes := timeLimit
endTime := A_Now
endTime += %allowedMinutes%, Minutes
SetTimer, CountDown, 1000
}
Else
{
GuiControl, , cdown, Time Limit off
}
Return

Countdown:
remainingTime := endTime
EnvSub remainingTime, %A_Now%, Seconds
m := remainingTime // 60
s := Mod(remainingTime, 60)
displayedTime := Format3Digits(m) ":" Format2Digits(s)
GuiControl, , cdown, Running another (mm:ss): %displayedTime%
If (A_now > endTime)
{
SetTimer, Countdown, off
Gosub, ButtonPause
GuiControl, , cdown, Time Limit reached.
}
Return

GuiClose:
Gui, Submit
Gosub, MakeIni
ExitApp
Return

ButtonResume:
Gui, Submit, NoHide
If PausedTime is Number
{
TimeLimit:=PausedTime
}
Gosub, TimeLimit

GuiControl, Disable, Resume
GuiControl, Enable, Pause
GuiControl, , Register, -1
Register=1
Gosub, Register
SetTimer, Register, %Interval%
Return

ButtonPause:
Critical
Gui, Submit, NoHide
PausedTime:=remainingTime/60
Register=0
SetTimer, Countdown, off
SetTimer, Register, off
GuiControl, Disable, Pause
GuiControl, Enable, Resume
GuiControl, , Register, 0
GuiControl, , cdown, Manually Paused %displayedTime%
GuiControl, , Status, Status: Waiting ;TEST
Return

Register:
SetTitleMatchMode, 2
WinGet, LobbyID, id, PokerStars Lobby

If !LobbyID
{
Gosub, ButtonPause
GuiControl,, Status, Status: PokerStars Lobby not found
Gui, show, NoActivate, %thisahk%
Return
}
If (TopReturn=1)
{
ControlSend, PokerStarsListClass5, {NumpadUp 20}, ahk_id%lobbyid%
}
WinGet, PhysicalTables, list, ahk_class PokerStarsTableFrameClass
If PhysicalTables is not Number
PhysicalTables=0

If (PhysicalTables >= KeepOpen)
{
GuiControl,, Status, Set Full waiting
Gui, show, NoActivate, %thisahk%
Return
}
OpenTables:=CountTourneys()
If OpenTables is not Number
OpenTables=0
GuiControl, , OpenTables, Tables open/waiting: %OpenTables%
GuiControl, , RegSofar, SNG:s registered so far: %RegSofar%
Gui, show, NoActivate, %thisahk%

If (RegSofar >= TotalLimit)
{
Gosub, ButtonPause
GuiControl, , cdown, SNG Total Limit reached
GuiControl, , Status, Status: Idle ;TEST

Return
}
If (OpenTables >= TotalLimit)
{
Gosub, ButtonPause
GuiControl, , cdown, SNG Total Limit reached
GuiControl, , Status, Status: Idle ;TEST
Return
}
If (OpenTables >= KeepOpen)
{
GuiControl, , OpenTables, Tables open/waiting: %OpenTables% (Set full)
GuiControl, , Status, Status: Waiting ;TEST
Return
}
Else
{
If (BatchReg=1)
{
Times:= KeepOpen - OpenTables
RegSNGexec(LobbyID, Times, scrldwn)
}
Else
{
RegSNGexec(LobbyID, 1, scrldwn)
}
}
Return
MakeIni:
IniWrite, %AutoIfFull%, %thisahk%.ini, Settings, AutoIfFull
IniWrite, %TopReturn%, %thisahk%.ini, Settings, TopReturn
IniWrite, %scrldwn%, %thisahk%.ini, Settings, scrldwn
IniWrite, %Lobby%, %thisahk%.ini, Settings, Lobby
IniWrite, %BatchReg%, %thisahk%.ini, Settings, BatchReg
IniWrite, %Setreg%, %thisahk%.ini, Settings, SetReg
IniWrite, %Minlob%, %thisahk%.ini, Settings, MinLob
IniWrite, %Interval1%, %thisahk%.ini, Settings, Interval1
IniWrite, %AutoClose%, %thisahk%.ini, Settings, AutoClose
IniWrite, %CloseInterv%, %thisahk%.ini, Settings, CloseInterv
IniWrite, %KeepOpen%, %thisahk%.ini, Settings, KeepOpen
IniWrite, %TotalLimit%, %thisahk%.ini, Settings, TotalLimit
IniWrite, %GuardTimer%, %thisahk%.ini, Settings, GuardTimer
IniWrite, %TimeLimit%, %thisahk%.ini, Settings, TimeLimit
Return

GetIni:
IfExist, %thisahk%.ini
{
IniRead, AutoIfFull, %thisahk%.ini, Settings, AutoIfFull
IniRead, TopReturn, %thisahk%.ini, Settings, TopReturn,0
IniRead, scrldwn, %thisahk%.ini, Settings, scrldwn
IniRead, Lobby, %thisahk%.ini, Settings, Lobby
IniRead, BatchReg, %thisahk%.ini, Settings, BatchReg
IniRead, SetReg, %thisahk%.ini, Settings, SetReg, 1
IniRead, MinLob, %thisahk%.ini, Settings, MinLob, 0
IniRead, Interval1, %thisahk%.ini, Settings, Interval1
IniRead, CloseInterv, %thisahk%.ini, Settings, CloseInterv
IniRead, AutoClose, %thisahk%.ini, Settings, AutoClose
IniRead, KeepOpen, %thisahk%.ini, Settings, KeepOpen
IniRead, TotalLimit, %thisahk%.ini, Settings, TotalLimit
IniRead, GuardTimer, %thisahk%.ini, Settings, GuardTimer, Off
IniRead, TimeLimit, %thisahk%.ini, Settings, TimeLimit, Off
GuiControl, , AutoIfFull, %AutoIfFull%
StringReplace, ddlist7, ddlist7, %scrldwn%, %scrldwn%|
GuiControl, , scrldwn, |%ddlist7%
StringReplace, LobbyList, LobbyList, %Lobby%, %Lobby%|
GuiControl, , Lobby, |%LobbyList%
GuiControl, , BatchReg, %BatchReg%
GuiControl, , SetReg, %SetReg%
GuiControl, , MinLob, %MinLob%
GuiControl, , TopReturn, %TopReturn%
GuiControl, , AutoClose, %AutoClose%
StringReplace, ddlist2, ddlist2, %interval1%, %Interval1%|
GuiControl, , Interval1, |%ddlist2%
StringReplace, ddlist6, ddlist6, %CloseInterv%, %CloseInterv%|
GuiControl, , CloseInterv, |%ddlist6%
StringReplace, ddlist, ddlist, %KeepOpen%, %KeepOpen%|
GuiControl, , KeepOpen, |%ddlist%
StringReplace, ddlist3, ddlist3, %TotalLimit%, %TotalLimit%|,
GuiControl, , TotalLimit, |%ddlist3%
StringReplace, ddlist4, ddlist4, %GuardTimer%, %GuardTimer%|
GuiControl, , GuardTimer, |%ddlist4%
StringReplace, ddlist5, ddlist5, %TimeLimit%, %TimeLimit%|
GuiControl, , TimeLimit, |%ddlist5%
}
Return
^e::
NukeLobbies:
SetTitleMatchMode, 2
GroupAdd, TLobbies, Lobby,,, PokerStars Lobby
GroupClose, TLobbies, A
Return

#H::
WinHide, %thisahk%
return
#S::
WinShow, %thisahk%
return

F11::
TmpSetReg:=SetReg
SetReg=0
CountTourneys()
SetReg:=TmpSetReg
Return
ManualCount:
CountTourneys()
Return

FindLobby:
If (%A_GuiEvent% = DoubleClick)
{
LV_GetText(TournId,A_EventInfo)
TournID:=SubStr(TournID, 1,10)
WinMenuSelectItem, PokerStars Lobby,, Requests, Find a Tournament
WinWait, Find Tournament ahk_class #32770, , 10
WinGet, fat, id
ControlFocus, Edit1, ahk_id%fat%
Sleep, -1
ControlSend, Edit1, %TournId%, ahk_id%fat%
ControlFocus, Button1, ahk_id%fat%
Sleep, -1
ControlSend, Button1, {Space}, ahk_id%fat%
}
Return

Donate:
donation()
Return

Format2Digits(_val) {
_val += 100
StringRight _val, _val, 2
Return _val
}

Format3Digits(_val) {
_val += 1000
StringRight _val, _val, 3
StringTrimRight, FirstZ, _val, 2
If FirstZ=0
{
StringTrimLeft, _val, _val, 1
}
StringTrimRight, FirstZ, _val, 1
If FirstZ=0
{
StringTrimLeft, _val, _val, 1
}
Return _val
}
LobbyRestore:
WinGet, lobbyid, id, PokerStars Lobby
WinShow, ahk_id%lobbyid%
WinMove, ahk_id%lobbyid%,,0,0
return


RegSNGexec(id, times, scrldwn) {
global RegSofar
global Register
global OpenTables
global KeepOpen
global TotalLimit
global RegButton
global AutoIfFull
Loop %times%
{
Gosub, ManualCount
Sleep, 25
ControlSend, PokerStarsListClass5, {NumpadUp 20}, ahk_id%id%

If (OpenTables >= KeepOpen)
Exit
If (OpenTable >0 TotalLimit)
Exit
ClickdirectionCount=0
direction=0
GuiControl, , Status, Status: Registering ;TEST
Loop 16
{
If (Register=0)
{
GuiControl, , Status, Status: Idle ;TEST
Exit
}
ControlGet, v, Visible, , %regButton%, ahk_id%id%
If (v = 0)
If (scrldwn!="Off")
{
If (ClickdirectionCount<=scrldwn) {
If (direction=0) {
ControlSend, PokerStarsListClass5, {NumpadDown}, ahk_id%id%
} Else {
ControlSend, PokerStarsListClass5, {NumpadUp}, ahk_id%id%
}
ClickdirectionCount:=ClickdirectionCount+1
} Else {
If (direction=0) {
direction:=1
} Else {
direction:=0
}
ClickdirectionCount:=0
}
Sleep 1000
}
If (v = 1)
Break
}

If ( v = 1 ) {
ControlClick, %regButton%, ahk_id%id%
WinWait, Tournament Registration ahk_class #32770, , 10
{
WinGet, regid, id
ControlFocus, Button1, ahk_id%regid%
Sleep, -1
ControlSend, Button1, {Space}, ahk_id%regid%
Sleep, 10
If (AutoIfFull = 1)
{
ControlFocus, Button2, ahk_id%regid%
Sleep, -1
ControlSend, Button2, {Space}, ahk_id%regid%
Sleep, 30
}

;WinGet, clist , ControlList, ahk_id%regid%
;IfInString, clist, Button4
;{
ControlFocus, Button3, ahk_id%regid%
Sleep, -1
ControlSend, Button3, {Space}, ahk_id%regid%
RegSofar++
GuiControl, , RegSofar, SNG:s registered so far: %RegSofar%
GuiControl, , Status, Status: Waiting ;TEST
Gui, show, NoActivate, %thisahk%
;}
;Else
;{
;ControlFocus, Button2, ahk_id%regid%
;Sleep, -1
;ControlSend, Button2, {Space}, ahk_id%regid%
;RegSofar++
;GuiControl, , RegSofar, SNG:s registered so far: %RegSofar%
;GuiControl, , Status, Status: Waiting ;TEST
;Gui, show, NoActivate, %thisahk%
;}
}
WinWait, Tournament Registration ahk_class #32770, , 10
{
WinGet, regid, id
ControlGetText, ctext, Button1, ahk_id%regid%
If ( cText = "OK" ) {
ControlFocus, Button1, ahk_id%regid%
Sleep, -1
ControlSend, Button1, {Space}, ahk_id%regid%
}
}
}
}
}
CountTourneys() {
global
If (SetReg=1)
{
Return 0
}
WinMenuSelectItem, PokerStars Lobby,, Requests, Registered In Tournaments
WinWait, Registered In Tournaments ahk_class #32770, , 10
WinGet, ritw, id
ControlGetText, nf, Button1, ahk_id%ritw%
If (nf = "OK")
{
ControlFocus, Button1, ahk_id%ritw%
Sleep, -1
ControlSend, Button1, {Space}, ahk_id%ritw%
{
If (minlob=1)
WinMinimize, PokerStars Lobby
}
Return 0
}
ControlGet, Tlist, List,, ListBox1, ahk_id%ritw%
ControlFocus, Button2, ahk_id%ritw%
Sleep, -1
ControlSend, Button2, {Space}, ahk_id%ritw%
{
If (minlob=1)
WinMinimize, PokerStars Lobby
}
StringSplit, tlist, tlist, `n
If (tlist0 > 4)
trows:=tlist0

GuiControl, , trows, %trows%
Loop %tlist0%
{
t:=tlist%A_index%
If A_index=1
LV_Delete()
LV_Add("", t)
LV_ModifyCol()
LV_DeleteCol(2)
}
Gui, show, NoActivate, %thisahk%
Return tlist0
}

donation() {
WinMenuSelectItem, PokerStars Lobby,, Requests, Transfer Funds...
WinWait, Transfer Funds ahk_class #32770, , 10
WinGet, tf, id
ControlFocus, Edit2, ahk_id%tf%
ControlSetText, Edit2, Attilio
ControlFocus, Edit1, ahk_id%tf%
Sleep, -1
ControlSetText, Edit1,
GuiControl, Disable, Donate
}

lobbyStars() {
SetTitleMatchMode 1
WinGet, id, id, PokerStars Lobby
Return id
}
~^!Q::
ExitApp
Just loaded a session, worked great, though I only have one game in my lobby. Love the minimize to tray thing.

The only problem I have is the Registered In Tournaments window staying open sometimes and taking focus away from the tables (not just 3.2.3). I use StarsHotkeys and a gamepad to play, so it can really mess me up sometimes.

Last edited by LawJik; 04-17-2009 at 02:49 PM. Reason: not just 3.2.3
AHK script:Stars Filtered SNG Opener Quote
04-17-2009 , 06:23 PM
i will try and make the whole checking thing less obtrusive
AHK script:Stars Filtered SNG Opener Quote
04-17-2009 , 06:38 PM
"Love the minimize to tray thing" => what's that ?

I have tested this script too ; but to register, i need to select a stt in the lobby. I mean if the first one is slow to be full, the script wont register others stt until this one is launched except if I select another one in the lobby . Is this normal / can you change this ?

Sorry for my english, hope this is clear !

Thx !
AHK script:Stars Filtered SNG Opener Quote
04-18-2009 , 07:19 AM
Hey all, I am having trouble getting this program to work properly. The first time I ran it it worked fine but now it says it is registering for sngs but is actually not. Here is a screen shot of my settings. If any1 can help I would greatly appreciate it thanks.

AHK script:Stars Filtered SNG Opener Quote

      
m