Two Plus Two Newer Archives  

Go Back   Two Plus Two Newer Archives > Internet Gambling > Software
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #11  
Old 01-20-2007, 04:25 PM
jukofyork jukofyork is offline
Senior Member
 
Join Date: Sep 2004
Location: Leeds, UK.
Posts: 2,551
Default Re: AHK script for Party Poker SNGs - ALL-IN

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 [img]/images/graemlins/smile.gif[/img]
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:09 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.