Open Side Menu Go to the Top
Register
New script: PartySNGHelper New script: PartySNGHelper

01-19-2007 , 01:59 PM
Hi.

I'm looking for a script that would push my chips in the middle via hotkey. I tried to "tune" some AHK scripts with no success. I suck, I know. Anyone? Please?

Edited title. -Sam
New script: PartySNGHelper Quote
01-19-2007 , 03:28 PM
Quote:
Hi.

I'm looking for a script that would push my chips in the middle via hotkey. I tried to "tune" some AHK scripts with no success. I suck, I know. Anyone? Please?
I've just edited dave's betpot to do this without the need to read the pot size from FPHG's logs. Here's what you need to do:

a) Add this function into the BetPot script:

; This will set the edit box to the maximum amount.
Push(id, autobet)
{
pot := 10000000
ControlSetText, Edit3, %pot%, ahk_id%id%
Sleep -1
Sleep, 50
WinSet, Redraw,, ahk_id%id%
If(autobet)
{
ControlClick, AfxWnd42u19, ahk_id%id%
}

}

b) Edit the hotkey section to look like this:

~MButton::
Push(getid(),0)
return

~RButton::
Fold(getid())
return

~WheelUp::
AlterAmount(getid(),"up")
return

~WheelDown::
AlterAmount(getid(),"down")
return

c) Enjoy the lack of arm strain!

After you set this up you can: fold by right clicking anywhere on the table, move the slider up/down 1 BB using the scroll wheel, and press down the scroll wheel to set the bet edit box to all-in.

If you want to have it then press raise for you automatically you just need to use Push(getid(),1) rather than Push(getid(),0).

Juk
New script: PartySNGHelper Quote
01-20-2007 , 07:07 AM
You are on your way to heaven, Juk. Thank you!
New script: PartySNGHelper Quote
01-20-2007 , 08:34 AM
Damnit. I can't get the MButton to work. If I change the PUSH button intp RButton it works fine.

I have some crappy Logitech wireless mouse. Any way to fix this?
New script: PartySNGHelper Quote
01-20-2007 , 11:06 AM
Quote:
Damnit. I can't get the MButton to work. If I change the PUSH button intp RButton it works fine.

I have some crappy Logitech wireless mouse. Any way to fix this?
You could try changing it to either XBUTTON1 or XBUTTON2 - these are the 4th and 5th mouse button, but they don't seem to do anything on my mouse which has 2 extra thumb press buttons. Also try going into IE and press the middle mouse button down - does IE draw the double arrow cursor? If not, then you might have to edit some mouse settings in control panel.

I'm just in the process of making a single helper SNG script with code ripped from several scripts on the Overcards Wiki, which will do the following:

1. Push with/without autobet.
2. Check or fold (ie: check if we can, else fold).
3. Scroll wheel BB UP/Down.
4. Auto-confirm and check the buying box so all that will be needed is to click on an empty seat to join a SNG.
5. Auto-timebank clicker.
6. Auto-confirm the "Would you like a summary sent" box after being knocked out of a SNG.

I'm also using Roland's TableHighlighter2 script with the chatbox set to go Purple when we have an action pending, and flash Purple/Green when we have used 10+ seconds of time. I'm not sure if I can work out how to just rip the bits I want yet though.

I've got most of the code written now, but just need to test it out first - I'll post it later today.

Juk
New script: PartySNGHelper Quote
01-20-2007 , 11:18 AM
Hey that script sounds fantastic. You might want to add (from DeMoster):

1. Auto-log-in to PP
2. PP pop-up killer
3. Auto-click-OK if you press fold when you can check

Also, these would be neat:

1. Auto close table (when you get knocked out)
2. Auto choose filter (Speed - Holdem - NL - Registering)
3. Auto rate Villain's range using PO/PT's database and auto call/fold/push
New script: PartySNGHelper Quote
01-20-2007 , 12:31 PM
Here's my first attempt (I haven't worked out how to reuse the coloured chat box code yet though):

<font class="small">Code:</font><hr /><pre>;---------------------------------------------------------
;----------------- Party SNG Helper v1.00 ----------------
;---------------------------------------------------------
; AutoHotkey Version: 1.x
; Language: English
; Platform: Win9x/NT
; Author: jukofyork (reused code and thanks to: _dave_ &amp; Roland!)

; Features:
; =========
; 1. Push with/without autobet using middle mouse mutton.
; 2. Check or fold (ie: check if we can, else fold) using right mouse button.
; 3. Scroll wheel moved bet amount up/down in big bets.
; 4. Auto-confirm and check the buying box so all that will be needed is to click on an empty seat to join a SNG.
; 5. Auto-timebank clicker.
; 6. Auto-confirm the "Would you like a summary sent" box after being knocked out of a SNG.

#Persistent
#NoEnv

SendMode Input

SetTitleMatchMode 2

; Start the timers.
SetTimer, AutoClickTimeBank, 500
SetTimer, AutoBuyin, 500
SetTimer, AutoRequestSummary, 500

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

~RButton::
CheckFold(getid())
return

~MButton::
Push(getid(),1)
return

~WheelUp::
AlterAmount(getid(),"up")
return

~WheelDown::
AlterAmount(getid(),"down")
return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AutoClickTimeBank:

checkfield = AfxWnd42u37 ; AfxWnd42u37 is timebank control
LobbyWindowTitle = Poker Lobby ; identify poker lobby substring
TableWindowTitle = Buy-in. ; identify pokertable substring

WinGet, lobbyID, ID, %LobbyWindowTitle%

WinGet, pid, PID, ahk_id%lobbyID%
WinGet, rlist, LIST, %TableWindowTitle% ahk_pid%pid%
Loop %rlist%
{
this_id := rlist%a_index%
If this_id != %lobbyID%
{
WinGetTitle, name, ahk_id%this_id%
ControlGet, result, Visible, , %checkfield%, ahk_id%this_id%
if (result)
{
ControlClick %checkfield%, ahk_id%this_id% ;Click timebank
}
}
}

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AutoBuyin:

IfWinExist, ahk_class #32770, Tournament Buy-in
{
WinGet, idList, List, ahk_class #32770, Tournament Buy-in
Loop, %idList%
{
winID := idList%a_index%
ControlSend, Button2, {SPACE}, ahk_id%winID%
Sleep, 40
ControlSend, Button5, {SPACE}, ahk_id%winID%
}
}

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AutoRequestSummary:

IfWinExist, ahk_class #32770, Would you like a tournament summary
{
WinGet, idList, List, ahk_class #32770, Would you like a tournament summary
Loop, %idList%
{
winID := idList%a_index%
ControlSend, Button1, {ENTER}, ahk_id%winID%
}
}

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

getid()
{
id := ""
MouseGetPos, , , id
return id
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

; This will set the edit box to the maximum amount.
Push(id, autobet=0)
{
pot := 10000000
ControlSetText, Edit3, %pot%, ahk_id%id%
Sleep -1
Sleep 50
WinSet, Redraw,, ahk_id%id%
If(autobet)
{
ControlClick, AfxWnd42u19, ahk_id%id%
}
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

; Clicks fold0in-turn button if sees it, else clicks check if sees it, else clicks fold.
CheckFold(id)
{
ControlGet, v, Visible, , AfxWnd42u22, ahk_id%id%
if (v)
{
ControlFocus, AfxWnd42u22, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u22, ahk_id%id%
}
else
{
; Lets see if we can see the check button.
ControlGet, v, Visible, , AfxWnd42u18, ahk_id%id%
if (v)
{
ControlGetText, text, AfxWnd42u18, ahk_id%id%
IfInString, text, Check
{
ControlFocus, AfxWnd42u18, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u18, ahk_id%id%
return ; Check found/clicked so Done.
}
}

; lets try for fold then.
ControlGet, v, Visible, , AfxWnd42u17, ahk_id%id%
if (v)
{
ControlFocus, AfxWnd42u17, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u17, ahk_id%id%
}
}

}


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AlterAmount(id, dir="")
{
WinGetTitle, title, ahk_id%id%
amount := 0

; Get the current BB amount.
if (InStr(title, "NL") &lt;&gt; 0 AND InStr(title, "Buy-in") &lt;&gt; 0)
{
ControlGetText, text, Static6, ahk_id%id%
IfNotInString, text, Blinds-Antes
{
StringMid, bb, text, InStr(text, "/") + 1, InStr(text, ")") - InStr(text, "/") - 1
}
else
{
StringMid, bb, text, InStr(text, "/") + 1, InStr(text, "-","",InStr(text, "/")) - InStr(text, "/") - 1
}
;msgbox, %bb%
}

amount := bb

if (dir="down")
{
amount := amount - (2*amount)
}

ControlGetText, t, Edit3, ahk_id%id%
t := t + amount
if (t &lt; 0)
{
t := 0
}
t := Round(t, 0)
ControlSetText, Edit3, %t%, ahk_id%id%
;WinSet, Redraw,, ahk_id%id%

}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;</pre><hr />

(use "Quote" from the forum, then copy/paste the script from inside of it - this way it doesn't lose all the indentation).

Quote:
Hey that script sounds fantastic. You might want to add (from DeMoster):

1. Auto-log-in to PP
2. PP pop-up killer
3. Auto-click-OK if you press fold when you can check
After giving it a bit of a test I'll look into it - I was using like 4 scripts earlier, so my plan is to get all the bits useful for just Party SNGs into one script.

Quote:
1. Auto close table (when you get knocked out)
I agree, but I'm not sure how you can detect when you are no longer at the table? Any ideas (perhaps some of the checkboxes in the bottom left vanaish, so I could try that)?

Quote:
2. Auto choose filter (Speed - Holdem - NL - Registering)
Yep definitly, sick of setting those everytime why the [censored] can't Party just remember them?

Quote:
3. Auto rate Villain's range using PO/PT's database and auto call/fold/push
I wish - there are some AHK snippets over at overcards which lets you access a PGSQL DB, but I think thats a bit beyond my AHK/DB skill...

Juk
New script: PartySNGHelper Quote
01-20-2007 , 02:30 PM
Okay I used tested script. Worked good I have few suggestions if you dont mind.

1. When in BB when I click RButton it would be neat if it checked the "Check/Fold" button and not the "Fold".

2. How do I make notes when I can't right click?

3. From level 3 on I make the initial bet 2,5xBB. Any solution to that?

When it comes to automatically closing the tables (when finished)... the checkboxes for "auto post blind", "muck losing hands" and "deal me out" disappear. Could you work on from that?
New script: PartySNGHelper Quote
01-20-2007 , 02:56 PM
Quote:
Okay I used tested script. Worked good I have few suggestions if you dont mind.
Yep, ideas welcome - so far seems to be working fine for me too.

Quote:
1. When in BB when I click RButton it would be neat if it checked the "Check/Fold" button and not the "Fold".
I just noticed the same - I don't often click "Check/Fold" in the BB, but sometimes I was pressing it postflop by accident and saw it was checking the "Fold" by accident. I'll fix that for the next version.

Quote:
2. How do I make notes when I can't right click?
I've been playing too many tables and not really had chance for note taking, but it didn't occur to me about notes. What would be ideal is to steal the right mouse button away from Party notes and use it for folding, and then use another hotkey (like F11 or F12, etc) to simulate a right mouse button press as Party wants it. I'm no AHK expert but I'll try and find out if this is possible using PostMessage (I might be able to slyly post a message to Party which AHK doesn't see).

Quote:
3. From level 3 on I make the initial bet 2,5xBB. Any solution to that?
A quick hack would be to just use 0.5BB increments, but it might be possible to have it change as the blind level changes in the future. To use 0.5BB you need to make these changes:

amount := (bb / 2)
.
.
.
t := Round(t, 1)


Quote:
4. When it comes to automatically closing the tables (when finished)... the checkboxes for "auto post blind", "muck losing hands" and "deal me out" disappear. Could you work on from that?
Yep, I'm going to give it a try, but I just hope they don't ever disappear for a fraction of a second (I guess we'll get the "Do you really want to leave the table?" dialog box then though, so it should be safe).

I'll have a go at implementing these now and see how I get on.

Juk
New script: PartySNGHelper Quote
01-20-2007 , 03:42 PM
Quote:
Quote:
Okay I used tested script. Worked good I have few suggestions if you dont mind.
Yep, ideas welcome - so far seems to be working fine for me too.

Quote:
1. When in BB when I click RButton it would be neat if it checked the "Check/Fold" button and not the "Fold".
I just noticed the same - I don't often click "Check/Fold" in the BB, but sometimes I was pressing it postflop by accident and saw it was checking the "Fold" by accident. I'll fix that for the next version.

Quote:
2. How do I make notes when I can't right click?
I've been playing too many tables and not really had chance for note taking, but it didn't occur to me about notes. What would be ideal is to steal the right mouse button away from Party notes and use it for folding, and then use another hotkey (like F11 or F12, etc) to simulate a right mouse button press as Party wants it. I'm no AHK expert but I'll try and find out if this is possible using PostMessage (I might be able to slyly post a message to Party which AHK doesn't see).

Quote:
3. From level 3 on I make the initial bet 2,5xBB. Any solution to that?
A quick hack would be to just use 0.5BB increments, but it might be possible to have it change as the blind level changes in the future. To use 0.5BB you need to make these changes:

amount := (bb / 2)
.
.
.
t := Round(t, 1)


Quote:
4. When it comes to automatically closing the tables (when finished)... the checkboxes for "auto post blind", "muck losing hands" and "deal me out" disappear. Could you work on from that?
Yep, I'm going to give it a try, but I just hope they don't ever disappear for a fraction of a second (I guess we'll get the "Do you really want to leave the table?" dialog box then though, so it should be safe).

I'll have a go at implementing these now and see how I get on.
All done:

* F12 does the "fake" right mouse click to allow for note taking.

* You might want to set "increment_half_bb = 1" so you can increment the slider in 0.5BB amounts.

<font class="small">Code:</font><hr /><pre>;---------------------------------------------------------
;----------------- Party SNG Helper v1.01 ----------------
;---------------------------------------------------------
; AutoHotkey Version: 1.x
; Language: English
; Platform: Win9x/NT
; Author: jukofyork (reused code and thanks to: _dave_ &amp; Roland!)

; Features:
; =========
; 1. Push with/without autobet using middle mouse mutton.
; 2. Check or fold (ie: check if we can, else fold) using right mouse button.
; 3. Scroll wheel moved bet amount up/down in big bets.
; 4. Auto-confirm and check the buying box so all that will be needed is to click on an empty seat to join a SNG.
; 5. Auto-timebank clicker.
; 6. Auto-confirm the "Would you like a summary sent" box after being knocked out of a SNG.

; New for v1.01:
; ==============
; 1. Now will click Check/Fold checkbox if visible.
; 2. Pressing F12 over a player's name will simulate a right mouse click so we can takes notes, etc.
; 3. Have made it so that AlterAmount amount can take another argument to increment in 0.5BB amounts.
; 4. Have made it so we will close finished SNGs.
; 5. Have changed the timings to be 1000ms rather than 500ms to try to save on CPU time.

#Persistent
#NoEnv

SendMode Input

SetTitleMatchMode 2

; Set the options.
autobet = 1 ; Do we want to actually hit raise after we set the edit box to all-in?
increment_half_bb = 0 ; Set this to use 0.5BB increments with the scroll wheel, rather than 1BB.


; Start the timers.
SetTimer, AutoClickTimeBank, 1000
SetTimer, AutoBuyin, 1000
SetTimer, AutoRequestSummaryAndCloseFinishedSNGs, 1000

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

~F12::
id := ""
MouseGetPos, x, y, id
if (id &lt;&gt; "")
PostRightClick(x, y, id)
return

~RButton::
CheckFold(getid())
return

~MButton::
Push(getid(),autobet)
return

~WheelUp::
AlterAmount(getid(),"up",increment_half_bb)
return

~WheelDown::
AlterAmount(getid(),"down",increment_half_bb)
return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AutoClickTimeBank:

checkfield = AfxWnd42u37 ; AfxWnd42u37 is timebank control
LobbyWindowTitle = Poker Lobby ; identify poker lobby substring
TableWindowTitle = Buy-in. ; identify pokertable substring

WinGet, lobbyID, ID, %LobbyWindowTitle%

WinGet, pid, PID, ahk_id%lobbyID%
WinGet, rlist, LIST, %TableWindowTitle% ahk_pid%pid%
Loop %rlist%
{
this_id := rlist%a_index%
If this_id != %lobbyID%
{
WinGetTitle, name, ahk_id%this_id%
ControlGet, result, Visible, , %checkfield%, ahk_id%this_id%
if (result)
{
ControlClick %checkfield%, ahk_id%this_id% ;Click timebank
}
}
}

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AutoBuyin:

IfWinExist, ahk_class #32770, Tournament Buy-in
{
WinGet, idList, List, ahk_class #32770, Tournament Buy-in
Loop, %idList%
{
winID := idList%a_index%
ControlSend, Button2, {SPACE}, ahk_id%winID%
Sleep, 40
ControlSend, Button5, {SPACE}, ahk_id%winID%
}
}

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AutoRequestSummaryAndCloseFinishedSNGs:

; Lets try requesting the summary BEFORE we try closing the table.
IfWinExist, ahk_class #32770, Would you like a tournament summary
{
WinGet, idList, List, ahk_class #32770, Would you like a tournament summary
Loop, %idList%
{
winID := idList%a_index%
ControlSend, Button1, {ENTER}, ahk_id%winID%
}
}

; Now lets try closing the SNGs.
checkfield = Button3 ; Button3 is the "Auto Post Blind" checkbox.
LobbyWindowTitle = Poker Lobby ; identify poker lobby substring
TableWindowTitle = Buy-in. ; identify pokertable substring

WinGet, lobbyID, ID, %LobbyWindowTitle%

WinGet, pid, PID, ahk_id%lobbyID%
WinGet, rlist, LIST, %TableWindowTitle% ahk_pid%pid%
Loop %rlist%
{
this_id := rlist%a_index%
If this_id != %lobbyID%
{
WinGetTitle, name, ahk_id%this_id%

; Make sure we are not seating.
ControlGet, result, Visible, , Seat Open, ahk_id%this_id%
if (result = 0)
{

; Is it not visible?
ControlGet, result, Visible, , %checkfield%, ahk_id%this_id%
if (result = 0)
{
; Lets make 100% sure and try again incase of a graphics delay.
Sleep, 150
ControlGet, result, Visible, , %checkfield%, ahk_id%this_id%
if (result = 0)
{
WinClose, ahk_id%this_id% ; Close the table.
}
}
}
}
}

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

getid()
{
id := ""
MouseGetPos, , , id
return id
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

PostRightClick(x, y, table_id, activate=1) {
; ### JUK: Send the down left click, then the mouse-up messages.
; NOTE: This is relative to the top left of the client area and NOT the top left of the
; window (ie: It *doesn't* include the title-bar like AHK's MouseClick does!!!).
If activate
WinActivate, ahk_id%table_id%
PostMessage, 0x204, 0x0001, ((y&lt;&lt;16)^x), , ahk_id%table_id%
PostMessage, 0x205 , 0, ((y&lt;&lt;16)^x), , ahk_id%table_id%
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

; This will set the edit box to the maximum amount.
Push(id, autobet=0)
{
pot := 10000000
ControlSetText, Edit3, %pot%, ahk_id%id%
Sleep -1
Sleep 50
WinSet, Redraw,, ahk_id%id%
If(autobet)
{
ControlClick, AfxWnd42u19, ahk_id%id%
}
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

; Clicks Check/Fold-in-turn or fold-in-turn button if sees it, else clicks check if sees
; it, else clicks fold.
CheckFold(id)
{

; Check/Fold checkbox.
ControlGet, v, Visible, , AfxWnd42u23, ahk_id%id%
if (v)
{
ControlFocus, AfxWnd42u23, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u23, ahk_id%id%
return
}

; Fold checkbox.
ControlGet, v, Visible, , AfxWnd42u22, ahk_id%id%
if (v)
{
ControlFocus, AfxWnd42u22, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u22, ahk_id%id%
return
}

; Lets see if we can see the check button.
ControlGet, v, Visible, , AfxWnd42u18, ahk_id%id%
if (v)
{
ControlGetText, text, AfxWnd42u18, ahk_id%id%
IfInString, text, Check
{
ControlFocus, AfxWnd42u18, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u18, ahk_id%id%
return
}
}

; Lets try for fold then.
ControlGet, v, Visible, , AfxWnd42u17, ahk_id%id%
if (v)
{
ControlFocus, AfxWnd42u17, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u17, ahk_id%id%
}

}


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AlterAmount(id, dir="",increment_half_bb=1)
{
WinGetTitle, title, ahk_id%id%
amount := 0

; Get the current BB amount.
if (InStr(title, "NL") &lt;&gt; 0 AND InStr(title, "Buy-in") &lt;&gt; 0)
{
ControlGetText, text, Static6, ahk_id%id%
IfNotInString, text, Blinds-Antes
{
StringMid, bb, text, InStr(text, "/") + 1, InStr(text, ")") - InStr(text, "/") - 1
}
else
{
StringMid, bb, text, InStr(text, "/") + 1, InStr(text, "-","",InStr(text, "/")) - InStr(text, "/") - 1
}
;msgbox, %bb%
}

; Do we want to increment by a whole or a half BB?
if (increment_half_bb = 1)
amount := bb / 2
else
amount := bb

if (dir="down")
{
amount := amount - (2*amount)
}

ControlGetText, t, Edit3, ahk_id%id%
t := t + amount
if (t &lt; 0)
{
t := 0
}

; Lets round to 0DP or 1DP.
if (increment_half_bb = 1)
t := Round(t, 1)
else
t := Round(t, 0)

; Alter the edit-box.
ControlSetText, Edit3, %t%, ahk_id%id%
;WinSet, Redraw,, ahk_id%id%

}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;</pre><hr />
Tell us how you get on with it, as I've not tested it all that well yet and just about to get something to eat before starting playing again.

Juk

EDIT: Fixed a bug where I was forgetting to check if we were seating causing the tables to get closed as soon as we opened them.
New script: PartySNGHelper Quote
01-20-2007 , 04:25 PM
Bleh, the "Seat Empty" thing still didn't work properly and my edit time has expired now. Here's the fixed version:

<font class="small">Code:</font><hr /><pre>;---------------------------------------------------------
;----------------- Party SNG Helper v1.01 ----------------
;---------------------------------------------------------
; AutoHotkey Version: 1.x
; Language: English
; Platform: Win9x/NT
; Author: jukofyork (reused code and thanks to: _dave_ &amp; Roland!)

; Features:
; =========
; 1. Push with/without autobet using middle mouse mutton.
; 2. Check or fold (ie: check if we can, else fold) using right mouse button.
; 3. Scroll wheel moved bet amount up/down in big bets.
; 4. Auto-confirm and check the buying box so all that will be needed is to click on an empty seat to join a SNG.
; 5. Auto-timebank clicker.
; 6. Auto-confirm the "Would you like a summary sent" box after being knocked out of a SNG.

; New for v1.01:
; ==============
; 1. Now will click Check/Fold checkbox if visible.
; 2. Pressing F12 over a player's name will simulate a right mouse click so we can takes notes, etc.
; 3. Have made it so that AlterAmount amount can take another argument to increment in 0.5BB amounts.
; 4. Have made it so we will close finished SNGs.
; 5. Have changed the timings to be 1000ms rather than 500ms to try to save on CPU time.

#Persistent
#NoEnv

SendMode Input

SetTitleMatchMode 2

; Set the options.
autobet = 1 ; Do we want to actually hit raise after we set the edit box to all-in?
increment_half_bb = 0 ; Set this to use 0.5BB increments with the scroll wheel, rather than 1BB.


; Start the timers.
SetTimer, AutoClickTimeBank, 1000
SetTimer, AutoBuyin, 1000
SetTimer, AutoRequestSummaryAndCloseFinishedSNGs, 1000

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

~F12::
id := ""
MouseGetPos, x, y, id
if (id &lt;&gt; "")
PostRightClick(x, y, id)
return

~RButton::
CheckFold(getid())
return

~MButton::
Push(getid(),autobet)
return

~WheelUp::
AlterAmount(getid(),"up",increment_half_bb)
return

~WheelDown::
AlterAmount(getid(),"down",increment_half_bb)
return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AutoClickTimeBank:

checkfield = AfxWnd42u37 ; AfxWnd42u37 is timebank control
LobbyWindowTitle = Poker Lobby ; identify poker lobby substring
TableWindowTitle = Buy-in. ; identify pokertable substring

WinGet, lobbyID, ID, %LobbyWindowTitle%

WinGet, pid, PID, ahk_id%lobbyID%
WinGet, rlist, LIST, %TableWindowTitle% ahk_pid%pid%
Loop %rlist%
{
this_id := rlist%a_index%
If this_id != %lobbyID%
{
WinGetTitle, name, ahk_id%this_id%
ControlGet, result, Visible, , %checkfield%, ahk_id%this_id%
if (result)
{
ControlClick %checkfield%, ahk_id%this_id% ;Click timebank
}
}
}

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AutoBuyin:

IfWinExist, ahk_class #32770, Tournament Buy-in
{
WinGet, idList, List, ahk_class #32770, Tournament Buy-in
Loop, %idList%
{
winID := idList%a_index%
ControlSend, Button2, {SPACE}, ahk_id%winID%
Sleep, 40
ControlSend, Button5, {SPACE}, ahk_id%winID%
}
}

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AutoRequestSummaryAndCloseFinishedSNGs:

; Lets try requesting the summary BEFORE we try closing the table.
IfWinExist, ahk_class #32770, Would you like a tournament summary
{
WinGet, idList, List, ahk_class #32770, Would you like a tournament summary
Loop, %idList%
{
winID := idList%a_index%
ControlSend, Button1, {ENTER}, ahk_id%winID%
}
}

; Now lets try closing the SNGs.
checkfield = Button3 ; Button3 is the "Auto Post Blind" checkbox.
LobbyWindowTitle = Poker Lobby ; identify poker lobby substring
TableWindowTitle = Buy-in. ; identify pokertable substring

WinGet, lobbyID, ID, %LobbyWindowTitle%

WinGet, pid, PID, ahk_id%lobbyID%
WinGet, rlist, LIST, %TableWindowTitle% ahk_pid%pid%
Loop %rlist%
{
this_id := rlist%a_index%
If this_id != %lobbyID%
{
WinGetTitle, name, ahk_id%this_id%

; Go through all the "Seat Open" buttons.
seats = 0
i = 3
Loop, 10
{
i++
;If they're visible, this is an empty seat.
ControlGet, is_visible, Visible, , AfxWnd42u%i%, ahk_id%this_id%
If is_visible = 1
seats++
}

; Are we not seating and is the "Auto Post Blind" checkbox not visible?
ControlGet, result, Visible, , %checkfield%, ahk_id%this_id%
if (seats = 0 AND result = 0)
{
; Lets make 100% sure and try again incase of a graphics delay.
Sleep, 150
ControlGet, result, Visible, , %checkfield%, ahk_id%this_id%
if (result = 0)
{
WinClose, ahk_id%this_id% ; Close the table.
}
}
}
}

return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

getid()
{
id := ""
MouseGetPos, , , id
return id
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

PostRightClick(x, y, table_id, activate=1) {
; ### JUK: Send the down left click, then the mouse-up messages.
; NOTE: This is relative to the top left of the client area and NOT the top left of the
; window (ie: It *doesn't* include the title-bar like AHK's MouseClick does!!!).
If activate
WinActivate, ahk_id%table_id%
PostMessage, 0x204, 0x0001, ((y&lt;&lt;16)^x), , ahk_id%table_id%
PostMessage, 0x205 , 0, ((y&lt;&lt;16)^x), , ahk_id%table_id%
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

; This will set the edit box to the maximum amount.
Push(id, autobet=0)
{
pot := 10000000
ControlSetText, Edit3, %pot%, ahk_id%id%
Sleep -1
Sleep 50
WinSet, Redraw,, ahk_id%id%
If(autobet)
{
ControlClick, AfxWnd42u19, ahk_id%id%
}
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

; Clicks Check/Fold-in-turn or fold-in-turn button if sees it, else clicks check if sees
; it, else clicks fold.
CheckFold(id)
{

; Check/Fold checkbox.
ControlGet, v, Visible, , AfxWnd42u23, ahk_id%id%
if (v)
{
ControlFocus, AfxWnd42u23, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u23, ahk_id%id%
return
}

; Fold checkbox.
ControlGet, v, Visible, , AfxWnd42u22, ahk_id%id%
if (v)
{
ControlFocus, AfxWnd42u22, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u22, ahk_id%id%
return
}

; Lets see if we can see the check button.
ControlGet, v, Visible, , AfxWnd42u18, ahk_id%id%
if (v)
{
ControlGetText, text, AfxWnd42u18, ahk_id%id%
IfInString, text, Check
{
ControlFocus, AfxWnd42u18, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u18, ahk_id%id%
return
}
}

; Lets try for fold then.
ControlGet, v, Visible, , AfxWnd42u17, ahk_id%id%
if (v)
{
ControlFocus, AfxWnd42u17, ahk_id%id%
Sleep, -1
ControlClick, AfxWnd42u17, ahk_id%id%
}

}


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;

AlterAmount(id, dir="",increment_half_bb=1)
{
WinGetTitle, title, ahk_id%id%
amount := 0

; Get the current BB amount.
if (InStr(title, "NL") &lt;&gt; 0 AND InStr(title, "Buy-in") &lt;&gt; 0)
{
ControlGetText, text, Static6, ahk_id%id%
IfNotInString, text, Blinds-Antes
{
StringMid, bb, text, InStr(text, "/") + 1, InStr(text, ")") - InStr(text, "/") - 1
}
else
{
StringMid, bb, text, InStr(text, "/") + 1, InStr(text, "-","",InStr(text, "/")) - InStr(text, "/") - 1
}
;msgbox, %bb%
}

; Do we want to increment by a whole or a half BB?
if (increment_half_bb = 1)
amount := bb / 2
else
amount := bb

if (dir="down")
{
amount := amount - (2*amount)
}

ControlGetText, t, Edit3, ahk_id%id%
t := t + amount
if (t &lt; 0)
{
t := 0
}

; Lets round to 0DP or 1DP.
if (increment_half_bb = 1)
t := Round(t, 1)
else
t := Round(t, 0)

; Alter the edit-box.
ControlSetText, Edit3, %t%, ahk_id%id%
;WinSet, Redraw,, ahk_id%id%

}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;</pre><hr />

Juk
New script: PartySNGHelper Quote
01-20-2007 , 06:30 PM
After few sets the newest version works like a charm. Havent tried the 0.5xBB yet though. All I need now is a script that gives a spite call warning.

Thanks for the script! Which level you play, Juk?
New script: PartySNGHelper Quote
01-20-2007 , 06:58 PM
Quote:
After few sets the newest version works like a charm. Havent tried the 0.5xBB yet though. All I need now is a script that gives a spite call warning.
Just be careful about the table closing - it's messed up on me a few times now and either won't let me sit down or starts trying to close SNGs that haven't finished yet (I've had to disable it on mine).

Quote:
Thanks for the script! Which level you play, Juk?
Only playing Speed 11s atm, and want to build a decent sample of 1.5-2k SNGs before playing 22s. Got through about 600 since last Friday, but now I can 9 table with ease (the Party slider was horrible...) and I've stopped the client crashes I was getting, it won't take too long hopefully.

So far my impression of the 11s is VERY juicy: I lost my net connection last week while playing 9 at various stages and was severely upset to say the least (hence got dual connections now), BUT when I woke up in the morning I couldn't work out how come I'd only lost $19. After looking at the Party account page, I saw I'd come 3rd in 4/9 of them!!!

Juk
New script: PartySNGHelper Quote
01-21-2007 , 02:37 PM
Okay I run into really annoying problem.

I use PartyPlanner and I 12-table with slight overlap. Today the tables started popping up like a [censored] pinball table (pinball tables pop up?). They moved on top of each other every time when there was action (any movement) on the table. So I had to shut down the script. What might cause this? Anyway to prevent this?
New script: PartySNGHelper Quote
01-21-2007 , 03:24 PM
Quote:
Okay I run into really annoying problem.

I use PartyPlanner and I 12-table with slight overlap. Today the tables started popping up like a [censored] pinball table (pinball tables pop up?). They moved on top of each other every time when there was action (any movement) on the table. So I had to shut down the script. What might cause this? Anyway to prevent this?
I don't have overlap on my setup, but I did get some weird table flashing yesterday. Since then I've disabled the auto-close tables bit of code because it didn't seem to work properly and it seems to have got rid of the table flashing too. Try just putting a return statement right before this line: "; Now lets try closing the SNGs." and see if that fixes it.

I'll have to have another go at writing the table auto-close code to be safer (it didn't even work properly when I checked 10 times in a row if I wasn't at the table).

Juk
New script: PartySNGHelper Quote
01-21-2007 , 07:56 PM
Quote:
Quote:
Okay I run into really annoying problem.

I use PartyPlanner and I 12-table with slight overlap. Today the tables started popping up like a [censored] pinball table (pinball tables pop up?). They moved on top of each other every time when there was action (any movement) on the table. So I had to shut down the script. What might cause this? Anyway to prevent this?
I don't have overlap on my setup, but I did get some weird table flashing yesterday. Since then I've disabled the auto-close tables bit of code because it didn't seem to work properly and it seems to have got rid of the table flashing too. Try just putting a return statement right before this line: "; Now lets try closing the SNGs." and see if that fixes it.

I'll have to have another go at writing the table auto-close code to be safer (it didn't even work properly when I checked 10 times in a row if I wasn't at the table).
Did that help? It seems that PartyPlanner and my script don't get on well together - I've never had any problems with PartyPlanner before and now it's started lagging the Party tables and crashing itself after an hour or so.

Juk
New script: PartySNGHelper Quote
01-22-2007 , 04:18 AM
For some reason it stopped doing the pinball thing. I did nothing different. Then, it started again. Then it stopped. Bleh. I quess I can live with it since my ROI% at the 22s is 137% after I started using this piece of software. Sustainable?
New script: PartySNGHelper Quote
01-22-2007 , 10:42 AM
I'm having problemos with the auto-closer. But only when I'm starting my set.

Can I disable the auto-closet from the script and run it as a separate script after after I've gotten all my tables open?
New script: PartySNGHelper Quote
01-22-2007 , 11:30 AM
Quote:
For some reason it stopped doing the pinball thing. I did nothing different. Then, it started again. Then it stopped. Bleh. I quess I can live with it since my ROI% at the 22s is 137% after I started using this piece of software. Sustainable?
Lol, it seems to have blessed me with unsustainable good luck too. I'm not sure if my fold equity went up bc of the speed of my middle button pushes now though - maybe I imagined it, but I think maybe the fish think fast push = big hand?

I've been having problems with Party planner, so the table flashing thing could be something to do with it mixed with PartyPlanner (I've adapted _dave_'s StarsPlanner to work at Party now).
New script: PartySNGHelper Quote
01-22-2007 , 11:34 AM
Quote:
I'm having problemos with the auto-closer. But only when I'm starting my set.

Can I disable the auto-closet from the script and run it as a separate script after after I've gotten all my tables open?
I don't trust t, so have turned it off atm (it tried to close non finished SNGs a few times).

To use it alone you just need to make a small script like this:

<font class="small">Code:</font><hr /><pre>
#Persistent
#NoEnv

SendMode Input

SetTitleMatchMode 2

SetTimer, AutoCloseFinishedSNGs, 1000

return

AutoCloseFinishedSNGs:

; Now lets try closing the SNGs.
checkfield = Button3 ; Button3 is the "Auto Post Blind" checkbox.
LobbyWindowTitle = Poker Lobby ; identify poker lobby substring
TableWindowTitle = Buy-in. ; identify pokertable substring

WinGet, lobbyID, ID, %LobbyWindowTitle%

WinGet, pid, PID, ahk_id%lobbyID%
WinGet, rlist, LIST, %TableWindowTitle% ahk_pid%pid%
Loop %rlist%
{
this_id := rlist%a_index%
If this_id != %lobbyID%
{
WinGetTitle, name, ahk_id%this_id%

; Make sure we are not seating.
ControlGet, result, Visible, , Seat Open, ahk_id%this_id%
if (result = 0)
{

; Is it not visible?
ControlGet, result, Visible, , %checkfield%, ahk_id%this_id%
if (result = 0)
{
; Lets make 100% sure and try again incase of a graphics delay.
Sleep, 150
ControlGet, result, Visible, , %checkfield%, ahk_id%this_id%
if (result = 0)
{
WinClose, ahk_id%this_id% ; Close the table.
}
}
}
}
}

return</pre><hr />
You can also right click on it's taskbar icon and use "Pause Script" to turn it on/off.

Juk
New script: PartySNGHelper Quote
01-22-2007 , 11:57 AM
This is priceless, ty. Btw I'm still running four scripts.

1. DeMonster (kills the pop-ups, jackpot tables and does all sorts of neat little stuff)

2. PartySNGhelper

3. PartyPlanner (works better for me than the dave's one)

4. Auto close script

Turbojunge once wrote an auto-SNG-opener (it wasn't open source). I bought it, he abandoned it, i hated him for that. I wonder if one could be made again?
New script: PartySNGHelper Quote
01-22-2007 , 12:18 PM
Quote:

Turbojunge once wrote an auto-SNG-opener (it wasn't open source). I bought it, he abandoned it, i hated him for that. I wonder if one could be made again?

I actually have a fully functional auto SNG opener for Party / Empire.

I will put it online when I get home from work (~3 hours) and check it still works OK.

I was unaware the old one was broken / abandoned, or I'd have published my Free AHK one already...



Some very nice work you have done here Juk - I have a few comments, but I'll save them until I get home since I'm not really suposed to be posting here while "working" lol.

EDIT: and Juk - have you seen this thread yet? code worth checking out I'd think...

dave.
New script: PartySNGHelper Quote
01-22-2007 , 02:12 PM
Quote:
This is priceless, ty. Btw I'm still running four scripts.

1. DeMonster (kills the pop-ups, jackpot tables and does all sorts of neat little stuff)

2. PartySNGhelper

3. PartyPlanner (works better for me than the dave's one)

4. Auto close script

Turbojunge once wrote an auto-SNG-opener (it wasn't open source). I bought it, he abandoned it, i hated him for that. I wonder if one could be made again?
Yep, I'm still running 3:

1. SNG-Helper.
2. Table Highlighter - you might find this useful too, but it needs a few tiny tweaks to make flashing work with SNGs. I'm finding a purple/blue (using Multi-Grey mod it shows up nice) chat-box when you have actions (not advanced action though) with flashing purple after 10 seconds of no action being made (this warns me about the tables eating into my timebank).
3. The Party AHK Planner script I converted from StarsPlanner last night (seems to be working better now).

As far as making a SNG opener, then I think it might be possible, but could end up buggy (after seeing the leave table thing go wrong yesterday - I don't know if I'd trust it. If I get chance I'll start with something that opens a table and tries to seat u using F11 or something and see how robust it is - I'd also like to fix the filters too as nearly started up a whole set of limit SNGs earlier without realizing (luckily I used to play S/H limit, but it's only a mater of time b4 I start some Omaha or Stud games and be totally clueless).

Juk
New script: PartySNGHelper Quote
01-22-2007 , 03:07 PM
Quote:

2. Table Highlighter - you might find this useful too, but it needs a few tiny tweaks to make flashing work with SNGs. I'm finding a purple/blue (using Multi-Grey mod it shows up nice) chat-box when you have actions (not advanced action though) with flashing purple after 10 seconds of no action being made (this warns me about the tables eating into my timebank).
Sell?
New script: PartySNGHelper Quote
01-22-2007 , 03:10 PM
Quote:
Quote:

Turbojunge once wrote an auto-SNG-opener (it wasn't open source). I bought it, he abandoned it, i hated him for that. I wonder if one could be made again?

I actually have a fully functional auto SNG opener for Party / Empire.

I will put it online when I get home from work (~3 hours) and check it still works OK.

I was unaware the old one was broken / abandoned, or I'd have published my Free AHK one already...
Cool, I never tried the old one or the one in MTH, but look forward to trying your AHK one (maybe it will explain why my table closer is buggy, as I must be doing something wrong with it).

Quote:
Some very nice work you have done here Juk - I have a few comments, but I'll save them until I get home since I'm not really suposed to be posting here while "working" lol.
Most of my scripts are just about 100% recycled from your's and Roland's. Even when I don't know what I'm doing, I can usually find a nice snippet as an example without ever having to read the AHK docs!

Quote:
EDIT: and Juk - have you seen this thread yet? code worth checking out I'd think...
I havn't checked the code yet - there is also a open source poker server here that's worth looking at. I was considering making a play money HU server from the code to allow for practice in all structures and stack sizes of holdem, but never got round to starting.

OT rant: I think he'll get flamed after the rakefree thing, but alot of what he said it true - pokersite owners are laughing all the way to the bank. If games like WOW can charge $20 a month for their immensely complex/artistic games, then how the [censored] can pokersites charge like 1000x times more for such simplistic software? IMHO, it's 100% robbery - ok so WSEX was a total failure with all it's rocks and no fish, but I'm sure 1% rake would generate some decent advertising revenue. Also, as somebody once pointed out in another post, why do the sites not compete on rake? In pretty much every industry the competitors compete based on providing the most cost effective service, yet pokersites seem to have some kind of monopolistic gentleman's agreement that they won't compete. Maybe one day the UK will have a poker-site regulator and they tend to punish monopolies and induce competition - we can only hope. Anyway, that just my 2c...

Juk
New script: PartySNGHelper Quote

      
m