By APerfect10. The corresponding thread on 2+2 is here.
DeMonster v1.2.5
This script will completely eliminate the Monster Jackpot, Slider & Popup windows on PartyPoker.
No need for 1x1 blank images, this script will work with Party's default images as well as modified images.
The Monster Jackpot slider consumes a lot of CPU; running DeMonster and auto-pinning each slider will regain this CPU and increase performance of the PartyPoker application.
NoSpam! Eliminate popups and automate repetitive non-game play tasks ie) Auto login, auto post BB, auto leave table, etc. (see below)
How To Use This Script
Read instructions for AutoHotkey, and make sure you have the latest version installed.
Read all instructions on this page.
Save the script code below in a file named "DeMonster.ahk"
Open script file in a text editor and edit settings.
Run the script (double-click the file).
Default settings will:
Auto close Monster popups when joining a Monster table.
Pin all monster jackpot sliders on Monster tables.
Disable & Hide monster jackpot on Monster tables.
Optional Settings will:
Disable Lobby Jackpot
Auto minimize lobby news & events
Auto join waiting list
Auto join first available table
Auto Buy-in (any amount)
Auto leave table
Auto post big blind
Auto wait for big blind
Auto login
No spam/popups
Auto scroll to last game in hand history
Auto select chat options
Hotkeys to sitout (play until blinds or not) & return
Hotkey to auto leave tables and close Party Poker
Detailed explanation of Optional settings
A blue DeMonster icon will show in the system tray as long as the script is running. Right-click this icon and choose "Exit" to exit the script. If the script seems to have gone wild, choose "Reload this script".
Change Log
v1.0.1 Added option to disable/hide the lobby jackpot(s)
v1.0.2 Added option to auto minimize the lobby news & events
v1.0.3 Improved reliability to decrease PartyGaming.exe CPU usage further
v1.1.0 Added NoSpam (see optional settings above)
v1.1.1 Added ability to buy-in for preset amount.
v1.2.0 Fixed Monster bug. Removed auto post BB toggle (Added auto detection)
v1.2.1 Improved reliability (auto hand history)
v1.2.2 Improved reliablity of auto buyin. Added hotkeys to sitout and return.
v1.2.3 Fixed PL auto buy-in bug. Added option to play until blinds once sitting out via hotkey. Added sitout/return menu item.
v1.2.5 Added auto select chat options and hotkey to auto leave tables and close Party application. Hopefullly fixed some small stability issues
Troubleshooting
If things don't seem to work, restart the script from the system tray.
Script Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Code begins here ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;------------------------------------------------------------------------------------------------
; DeMonster
; Version: 1.2.5
;------------------------------------------------------------------------------------------------
; Date: 2006-09-12
; AHK version: 1.0.44.10
;------------------------------------------------------------------------------------------------
; Author(s): APerfect10
;------------------------------------------------------------------------------------------------
; Default Settings
; 1. Auto close Monster popups when joining a Monster table
; 2. Pin all monster jackpot sliders on Monster tables
; 3. Disable & Hide monster jackpot on Monster tables
;
; Optional Settings
; 1. Disable Lobby Jackpot
; 2. Auto minimize lobby news & events
; 3. Auto join waiting list
; 4. Auto join first available table
; 5. Auto Buy-in
; 6. Auto leave table
; 7. Auto post big blind
; 8. Auto wait for big blind
; 9. Auto login
; 10. No spam/popups
; 11. Auto scroll to last game in hand history
; 12. Auto Select Chat Option
; 13. Hotkeys to sitout (play until blinds or not) and return
; 14. Hotkey to auto leave all tables and close Party
;
; See web page for more details.
;
; http://overcards.com/wiki/moin.cgi/DeMonster
;
; All rights reserved. Use at your own risk.
;------------------------------------------------------------------------------------------------
;________________________________________________________________________________________________
;
; EDIT THESE SETTINGS
;________________________________________________________________________________________________
; ***************************
; * *
; * Monster Settings *
; * *
; ***************************
; Set if Monster Popup window should be closed when joining a Monster table (1) or not (0).
dm_auto_close_popup = 1
; Set if the Monster Jackpot Should be Pinned (1) or not (0).
; (Note: Recommended to be Pinned (1) to increase PartyGaming performance
dm_pin_jackpot = 1
; Set if the Monster Jackpot Should be Hidden (1) or not (0).
dm_hide_jackpot = 1
; Set if the Lobby Monster Jackpot should be Hidden (1) or not (0).
dm_hide_lobby_jackpot = 0
; Set if the Lobby News & Events should be Minimized (1) or not (0).
dm_minimize_lobby_news = 0
; ***************************
; * *
; * No Spam Settings *
; * *
; ***************************
; Set if you want to auto join the waiting list (1) or not (0).
dm_auto_join_waiting_list = 0
; Set if you want to auto join the first available table (1) or not (0).
dm_auto_join_first_available = 0
; Set if you want to auto buy-in (only full amount) (1) or not (0).
dm_auto_buyin = 0
dm_buyin_amount = 100 ; (in BB) ie) Full NL stack = 100, Limit Default Stack = 25
; Set if you want to auto leave the table (1) or not (0).
dm_auto_leave_table = 0
; Set if you want to auto post the big blind (1) or not (0).
dm_auto_post_bb = 0
; Set if you want to wait for the big blind to post (1) or not (0).
dm_Wait_for_bb = 0
; Set if you want to auto login to PartyPoker (1) or not (0).
dm_auto_login = 0
; Set if you want to disable spam/popups (1) or not (0).
dm_no_spam = 0
; Set if you want to auto choose your last hand when opening the hand history (1) or not (0).
dm_auto_handhistory = 0
; Set which chat option you want selected when initially opening a table
; Disabled = 0, Dealer:Normal = 1, Dealer:Summary = 2, Dealer:Silent = 3
; No Player Chat = 4, Summary without Chat = 5, Totally Silent = 6
dm_default_chat = 0
; Set hotkey to auto sitout (leave blank to disable)
dm_hotkey_sitout = F5
; Wait to sitout until the blinds hit (1) or not (0) when using auto-sitout hotkey.
dm_play_until_blinds = 1
; Set hotkey to auto return (leave blank to disable)
dm_hotkey_return = F6
; Set hotkey to leave all tables and close out Party application
; **WARNING: This will fold your hand!** (Disabled by default)
dm_hotkey_closeParty =
;________________________________________________________________________________________________
;
; DO NOT EDIT BELOW HERE
;________________________________________________________________________________________________
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; auto-execute ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#NoEnv
#SingleInstance Ignore
#Persistent
;#NoTrayIcon
version = DeMonster v1.2.5
If(!FileExist("deMonster.ico"))
{
gosub, definepicture
WriteFile("deMonster.ico",bmpicon)
}
Menu, Tray, Icon, deMonster.ico,, 1
Menu, Tray, Tip, %version%
Menu, Tray, Add
Menu, sitoutSubmenu, add, Sit Out Now, DM_Sitout_Label1
Menu, sitoutSubmenu, add, Play until blinds, DM_Sitout_Label2
Menu, tray, add, Sit Out, :sitoutSubmenu
ahk_version = 1.0.44.10
if A_AhkVersion < %ahk_version%
{
msgbox, 4, , This script needs AutoHotkey version %ahk_version% or newer (you are using version %A_AhkVersion%). Script will exit`n`nGo to web page and download new version now?
IfMsgBox, Yes
Run, http://www.autohotkey.com
ExitApp
}
Hotkey, %dm_hotkey_sitout%, DM_Sitout_Label, UseErrorLevel
Hotkey, %dm_hotkey_return%, DM_Return_Label, UseErrorLevel
Hotkey, %dm_hotkey_closeParty%, DM_CloseParty_Label, UseErrorLevel
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Global Variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Monster Slider Pin
dm_monster_control1 = AfxWnd4233
dm_monster_control2 = AfxWnd4235
; Monster Jackpot Numbers
dm_monster_control3 = Static1
dm_monster_control4 = Static2
; Monster Jackpot Title
dm_monster_control5 = AfxWnd4232
dm_monster_control6 = AfxWnd4234
; Monster Lobby Jackpot
dm_monster_control_lobby1 = AfxWnd422
dm_monster_control_lobby2 = AfxWnd421
dm_monster_control_lobby3 = Static1
dm_monster_control_lobby4 = Static2
; Monster Lobby News Arrow
dm_monster_control_lobby_arrow = AfxWnd424
;Auto Post Blinds checkbox
dm_auto_post_blinds_control = Button3
; Chat Options Select Box
dm_chatOption_control = ComboBox1
; Leave Table Button
dm_leaveTable_control = AfxWnd423
WinCnt = 0 ; Window Count
MonCnt = 0 ; Monster Count
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; labels ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SetTimer, DM_NewWindow_Label, 50
SetTimer, DM_Process_Label, 500
SetTimer, DM_MonsterProcess_Label, 5000
DM_Process_Label:
DM_Process()
return
DM_NewWindow_Label:
DM_NewWindowProcess()
return
DM_MonsterProcess_Label:
DM_MonsterProcess()
DM_HideLobbyJackpotProcess()
return
DM_Sitout_Label1:
SitOutNow = 1
Goto, DM_Sitout_Label
DM_Sitout_Label2:
SitOutNow = 2
Goto, DM_Sitout_Label
DM_Sitout_Label:
If(SitOutNow = 1)
Lib_DM_Sitout_Party(0)
else If(SitOutNow = 2)
Lib_DM_Sitout_Party(1)
else
Lib_DM_Sitout_Party(dm_play_until_blinds)
SitOutNow = 0
Menu, Tray, DeleteAll
Menu, Tray, Add
Menu, Tray, Add, Return, DM_Return_Label
return
DM_Return_Label:
Lib_DM_Return_Party()
Menu, Tray, DeleteAll
Menu, Tray, Add
Menu, sitoutSubmenu, add, Sit Out Now, DM_Sitout_Label1
Menu, sitoutSubmenu, add, Play until blinds, DM_Sitout_Label2
Menu, Tray, add, Sit Out, :sitoutSubmenu
return
DM_CloseParty_Label:
DM_CloseParty()
return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Main Functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DM_Process()
{
Global dm_auto_post_bb, dm_wait_for_bb, dm_auto_post_blinds_control
if(dm_auto_post_bb || dm_wait_for_bb)
{
SetTitleMatchMode, 2
DetectHiddenText, Off
WinGet, idList, List, Good Luck ahk_class #32770, Auto Post Blind, Lobby
DetectHiddenText, On
if (idList < 1){
return
}
waitButton = Wait For BB
PostButton = Post BB
Loop, %idList%
{
winID := idList%a_index%
if(dm_Wait_for_bb)
{
If (!Lib_DM_IsChecked(winID, "Button3"))
{
If(Lib_DM_IsVisCtrl(waitButton, winID))
{
Lib_DM_ClickControl(winID, waitButton)
If(dm_auto_post_bb = 1)
{
Control, Check, , Button3, ahk_id%winID%
Lib_DM_SetPrevPost(winID, 1)
}
}
else If( dm_auto_post_bb && Lib_DM_IsVisCtrl(PostButton, winID, 2) && !Lib_DM_PrevPost(winID) )
{
Lib_DM_ClickControl(winID, PostButton)
Control, Check, , %dm_auto_post_blinds_control%, ahk_id%winID%
Lib_DM_SetPrevPost(winID, 1)
}
}
}
else If(dm_auto_post_bb)
{
Control, Check, , %dm_auto_post_blinds_control%, ahk_id%winID%
}
If( !Lib_DM_PrevPost(winID) )
{
If ( Lib_DM_DealtIn(winID) ){
Lib_DM_SetPrevPost(winID, 1)
}
}
else If( Lib_DM_SittingOut(winID) ){
Lib_DM_SetPrevPost(winID, 0)
}
}
}
return
}
DM_NewWindowProcess()
{
Global MonCnt, WinCnt, dm_pin_jackpot, dm_hide_jackpot, dm_auto_close_popup
monsterBlock = 0 ; Pinned + Hidden monster table count
spamBlock = 0 ; Spam blocked count
spamBlock := DM_NoSpamProcess()
; Make 2nd pass if we closed a window
if(spamBlock)
{
WinCnt = 0
DM_NoSpamProcess()
}
If( dm_auto_close_popup )
{
WinGet, idList, List, Message from PartyPoker.com ahk_class #32770
Loop, %idList%
{
winID := idList%A_Index%
If( Lib_DM_IsVisCtrl("Internet Explorer_Server1", winID) )
WinClose, ahk_id%winID%
}
}
If ( (dm_pin_jackpot || dm_hide_jackpot) && Lib_DM_NewMonsterTable() )
{
monsterBlock := DM_MonsterProcess()
; Make 2nd pass if we hid/pinned a monster table
If(monsterBlock)
{
MonCnt = 0
DM_MonsterProcess()
}
}
}
DM_MonsterProcess()
{
Global dm_pin_jackpot, dm_hide_jackpot, dm_monster_control1
pinned = 0
hidden = 0
SetTitleMatchMode, 2
WinGet, idList, List, Monster #
if (idList < 1){
return 0
}
Loop, %idList%
{
winID := idList%a_index%
if(dm_pin_jackpot = 1)
{
if (Lib_DM_Pin_Slider(winID, dm_monster_control1)){
pinned := pinned + 1
}
}
if(dm_hide_jackpot = 1)
{
if (Lib_DM_Disable_Slider(winID)){
hidden := hidden + 1
}
}
}
return pinned + hidden
}
DM_HideLobbyJackpotProcess()
{
Global dm_minimize_lobby_news, dm_hide_lobby_jackpot, dm_monster_control_lobby1, dm_monster_control_lobby_arrow
if( dm_minimize_lobby_news || dm_hide_lobby_jackpot )
{
If(!Lib_DM_Logins_Windows_Exist())
{
winID := Lib_DM_Get_LobbyID()
if(winID)
{
if(dm_hide_lobby_jackpot && !Lib_DM_Is_Hidden(winID, dm_monster_control_lobby1))
{
Lib_DM_Disable_Lobby_Jackpot(winID)
}
if(dm_minimize_lobby_news && !Lib_DM_Is_Hidden(winID, dm_monster_control_lobby_arrow))
{
Lib_DM_Minimize_News(winID, dm_monster_control_lobby_arrow)
}
}
}
}
}
DM_NoSpamProcess()
{
Global dm_no_spam
SetTitleMatchMode, 2
blockedSpam = 0
if(dm_no_spam){
blockedSPam := Lib_DM_Close_PartyMessages(blockedSpam)
}
If (Lib_DM_NewWindow("ahk_class #32770")){
blockedSpam := Lib_DM_NoPartySpam(blockedSpam)
}
return blockedSpam
}
DM_CloseParty()
{
Global dm_leaveTable_control
LobbyID := Lib_DM_Get_LobbyID()
WinGet, list, list, Good Luck ahk_class #32770
Loop, %list%
{
winID := list%A_Index%
Lib_DM_ClickControl(winID, dm_leaveTable_control)
IfWinExist, ahk_class #32770, want to stand-up and leave
{
WinGet, wID, ID, ahk_class #32770, want to stand-up and leave
ControlSend, Button1, {ENTER}, ahk_id%wID%
}
IfWinExist, ahk_class #32770, fold and leave the table
{
WinGet, wID, ID, ahk_class #32770, fold and leave the table
ControlSend, Button1, {ENTER}, ahk_id%wID%
}
}
; WinClose, ahk_id%LobbyID%
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; library (poker) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Lib_DM_NoPartySpam(blockedSpam)
{
Global dm_auto_buyin, dm_buyin_amount, dm_auto_join_waiting_list, dm_auto_leave_table, dm_no_spam, dm_auto_login, dm_auto_handhistory, dm_default_chat
IfWinExist, PartyPoker.com: Poker Lobby ahk_class #32770
{
if(dm_auto_buyin)
{
IfWinExist, Buy-In ahk_class #32770
{
WinGet, winID, ID, Buy-In ahk_class #32770
ControlGetText, buyinStr, Static3, ahk_id%winID%
ControlGetText, initial, Static2, ahk_id%winID%
ControlGet, sTxt, Selected,,Edit1, ahk_id%winID%
If(sTxt = "")
{
ControlFocus, Edit1, ahk_id%winID%
SendInput {Home}
SendInput +{END}
SendInput {Del}
}
buyinStart := InStr(buyinStr,"Big Blind") + 12
buyinEnd := StrLen(buyinStr) - buyinStart
StringMid,BigBlind,buyinStr,%buyinStart%,%buyinEnd%
if( (InStr(buyinStr, "NL")) || (InStr(buyinStr, "PL")) ){
SetFormat, float, 0.2
buyin_amount := dm_buyin_amount * BigBlind
NLPL = 1
}
else{
SetFormat, float, 0.2
buyin_amount := dm_buyin_amount * BigBlind * 2
NLPL = 0
}
IfInString,initial,reserved
{
Control, EditPaste, %buyin_amount%, Edit1, ahk_id%winID%
ControlSend, Button1, {ENTER}, ahk_id%winID%
}
else If (NLPL)
{
ControlGet, amnt, Line, 1, Edit1, ahk_id%winID%
SetFormat, float, 0.2
rebuyAmnt := buyin_amount - ((BigBlind * 100) - amnt)
if(rebuyAmnt > 0.01){
Control, EditPaste, %rebuyAmnt%, Edit1, ahk_id%winID%
ControlSend, Button1, {ENTER}, ahk_id%winID%
}
else{
ControlSend, Button2, {ENTER}, ahk_id%winID%
}
}
else
{
ControlSend, Button2, {ENTER}, ahk_id%winID%
}
IfWinExist,PartyPoker.com,You can bring a maximum
{
Send {ENTER}
}
else{
blockedSpam = 1
}
}
}
if(dm_auto_join_waiting_list)
{
IfWinExist, Join Wait List ahk_class #32770
{
WinGet, winID, ID, Join Wait List ahk_class #32770
Lib_DM_AutoJoinWaitingLIst(winID, dm_auto_join_first_available)
blockedSpam = 1
}
}
if(dm_auto_leave_table)
{
IfWinExist, ahk_class #32770, want to stand-up and leave
{
WinGet, idList, List, ahk_class #32770, want to stand-up and leave
Loop, %idList%
{
winID := idList%a_index%
ControlSend, Button1, {ENTER}, ahk_id%winID%
}
blockedSpam = 1
}
}
If(dm_no_spam)
{
IfWinExist, PartyPoker.com ahk_class #32770, , Good Luck
{
WinGet, idList, List, PartyPoker.com ahk_class #32770, , Good Luck
Loop, %idList%
{
winID := idList%a_index%
WinGetText, winTxt, ahk_id%winID%
IfInString, winTxt, You are joining
{
WinClose, ahk_id%winID%
blockedSpam = 1
}
else IfInString, winTxt, You can have maximum
{
WinClose, ahk_id%winID%
blockedSpam = 1
}
else IfInString, winTxt, greater than 0
{
WinClose, ahk_id%winID%
WinGet, winID, ID, Buy-In ahk_class #32770, Decide the amount
WinClose, ahk_id%winID%
blockedSpam = 1
}
else IfInString, winTxt, Additional chips
{
WinClose, ahk_id%winID%
blockedSpam = 1
}
else IfInString, winTxt, You may select the
{
WinClose, ahk_id%winID%
blockedSpam = 1
}
}
}
IfWinExist, Confirm fold ahk_class #32770
{
WinGet, winID, ID
WinActivate, ahk_id%winID%
Lib_DM_ClickControl(winID, "Button2")
blockedSpam = 1
}
}
if(dm_auto_login)
{
IfWinExist, PartyAccount Login
{
WinGet, winID, ID, PartyAccount Login
Lib_DM_ClickControl(winID, "BUtton2")
}
}
if(dm_auto_handhistory)
{
IfWinExist, HH – ahk_class #32770
{
WinGet, winID, ID, HH – ahk_class #32770
ControlGetText, cTxt, Static1, ahk_id%winID%
If(cTxt = "Hand No's"){
SendMessage, 0x188, 0, 0, ListBox1, ahk_id%winID%
ChoicePos = %ErrorLevel% ; -1 if there is no item selected.
ChoicePos += 1
if(ChoicePos > 1)
{
choosePos := ChoicePos - 1
Control, Choose,%choosePos%, ListBox1, ahk_id%winID%
ControlFocus, RICHEDIT1, ahk_id %winID%
Loop, 3
Send {PgDn}
}
; Mark static1 so we know that already scrolled this window
ControlSetText,Static1,Hand No,ahk_id%winID%
}
}
}
If ( dm_default_chat ){
Lib_DM_SetChatOptions(dm_default_chat)
}
}
return blockedSpam
}
Lib_DM_Close_PartyMessages(blockedSpam)
{
IfWinExist, Message from PartyPoker.com ahk_class #32770
{
WinGet, idList, List, Message from PartyPoker.com ahk_class #32770
Loop, %idList%
{
winID := idList%a_index%
WinClose, ahk_id%winID%
}
blockedSpam = 1
}
return blockedSpam
}
Lib_DM_AutoJoinWaitingLIst(winID, first_available=0)
{
if(first_available){
Lib_DM_ClickControl(winID, "Button2")
}
Lib_DM_ClickControl(winID, "Button3")
}
Lib_DM_Pin_Slider(winID, pin_control)
{
pinned = ""
ControlGetText, pinned, %pin_control%, ahk_id%winID%
if(pinned <> "Y")
{
Lib_DM_ClickControl(winID, pin_control)
ControlSetText, %pin_control%, Y, ahk_id%winID%
return true
}
return false
}
Lib_DM_Disable_Slider(winID)
{
Global dm_monster_control1, dm_monster_control2, dm_monster_control3, dm_monster_control4, dm_monster_control5, dm_monster_control6
myx = 0
ControlGetPos, myx, myy, myw, myh, %dm_monster_control3%, ahk_id%winID%
if(myx < 900)
{
Loop, 6
{
Lib_DM_Disable_Control(winID, dm_monster_control%a_index%)
}
return true
}
return false
}
Lib_DM_Disable_Control(winID, buttonName, x=900, y=900, w=1, h=1)
{
Control, Disable, , %buttonName%, ahk_id%winID%
Control, Hide, , %buttonName%, ahk_id%winID%
Lib_DM_Move_Slider(winID, buttonName, x, y, w, h)
}
Lib_DM_Move_Slider(winID, buttonName="", x=900, y=900, w=1, h=1)
{
If(buttonName <> "")
{
ControlMove, %buttonName%, %x%, %y%, %w%, %h%, ahk_id%winID%
}
}
Lib_DM_Disable_Lobby_Jackpot(winID)
{
Global
Loop, 4
{
Lib_DM_Disable_Control(winID, dm_monster_control_lobby%a_index%)
}
ControlSetText, %dm_monster_control_lobby1%, Y, ahk_id%winID%
}
Lib_DM_Get_LobbyID()
{
SetTitleMatchMode, 2
WinGet, winID, ID, PartyPoker.com: Poker Lobby - Good Luck ahk_class #32770
return winID
}
Lib_DM_Minimize_News(winID, buttonName)
{
Lib_DM_ClickControl(winID, buttonName)
ControlSetText, %buttonName%, Y, ahk_id%winID%
}
Lib_DM_PrevPost(winID)
{
ControlGetText, prevPost, AfxWnd421, ahk_id%winID%
If(prevPost <> ""){
return true
}
return false
}
Lib_DM_SetPrevPost(winID, val)
{
if(val)
ControlSetText, AfxWnd421, ., ahk_id%winID%
else
ControlSetText, AfxWnd421, , ahk_id%winID%
}
Lib_DM_DealtIn(winID)
{
If( Lib_DM_IsVisCtrl("AfxWnd4243", winID) || Lib_DM_IsVisCtrl("Fold", winID, 2) ){
return true
}
return false
}
Lib_DM_SittingOut(winID)
{
If( Lib_DM_IsVisCtrl("I am Back", winID) ){
return true
}
return false
}
Lib_DM_Logins_Windows_Exist()
{
IfWinExist, Message from PartyPoker.com
{
return true
}
IfWinExist, PartyAccount Login
{
return true
}
return false
}
Lib_DM_Sitout_Party(play_until_blinds)
{
SetTitleMatchMode, 2
WinGet, tables, List, Good Luck ahk_class #32770,Auto Post Blind,Lobby
Loop, %tables%
{
winID := tables%a_index%
If(Lib_DM_IsVisCtrl("Button5", winID))
{
If( play_until_blinds ){
Control, Uncheck, , Button3, ahk_id %winID%
}
else{
Control, Check, , Button5, ahk_id %winID%
}
}
}
}
Lib_DM_Return_Party()
{
SetTitleMatchMode, 2
WinGet, tables, List, Good Luck ahk_class #32770,Auto Post Blind,Lobby
Loop, %tables%
{
winID := tables%a_index%
If(Lib_DM_IsVisCtrl("Button5", winID))
{
Control, Uncheck, , Button5, ahk_id %winID%
}
}
}
Lib_DM_SetChatOptions(chat)
{
Global dm_chatOption_control
WinGet, tables, List, Good Luck ahk_class #32770,,Lobby
Loop, %tables%
{
winID := tables%A_Index%
ControlGet, optionNum, FindString, Totally Silent., %dm_chatOption_control%, ahk_id%winID%
If(optionNum = "")
{
SendMessage, 0x147, 0, 0, %dm_chatOption_control%, ahk_id%winID%
ChoicePos = %ErrorLevel%
ChoicePos += 1
If( ChoicePos <> chat )
Control, Choose, %chat%, %dm_chatOption_control%, ahk_id%winID%
Control, Delete,6,%dm_chatOption_control%, ahk_id%winID%
Control, Add, Totally Silent., %dm_chatOption_control%, ahk_id%winID%
}
}
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; library (general) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Lib_DM_NewWindow(title, matchMode=2)
{
global WinCnt
SetTitleMatchMode, %matchMode%
WinGet, wCnt, Count, %title%
if(wCnt <> WinCnt){
WinCnt := wCnt
return true
}
WinCnt := wCnt
return false
}
Lib_DM_NewMonsterTable()
{
global MonCnt
SetTitleMatchMode, 2
WinGet, mCnt, Count, Monster # ahk_class #32770
if(mCnt > MonCnt)
{
MonCnt := mCnt
return true
}
MonCnt := mCnt
return false
}
Lib_DM_Is_Hidden(winID, controlName)
{
ControlGetText, hidden, %controlName%, ahk_id%winID%
if(hidden = "Y")
{
return true
}
return false
}
Lib_DM_ClickControl(winID, buttonName)
{
Control, Enable, , %buttonName%, ahk_id%winID%
Control, Check, , %buttonName%, ahk_id%winID%
return (ErrorLevel)
}
Lib_DM_IsVisCtrl(ctrl, win, matchMode=1)
{
mm = %a_titleMatchMode%
SetTitleMatchMode %matchMode%
ControlGet, vis, Visible,, %ctrl%, ahk_id%win%
SetTitleMatchMode %mm%
return vis
}
Lib_DM_IsChecked(winID, ctrl)
{
ControlGet, val, Checked, , %ctrl%, ahk_id%winID%
return val
}
WriteFile(file,data)
{
Handle := DllCall("CreateFile","str",file,"Uint",0x40000000
,"Uint",0,"UInt",0,"UInt",4,"Uint",0,"UInt",0)
Loop
{
if strlen(data) = 0
break
StringLeft, Hex, data, 2
StringTrimLeft, data, data, 2
Hex = 0x%Hex%
DllCall("WriteFile","UInt", Handle,"UChar *", Hex
,"UInt",1,"UInt *",UnusedVariable,"UInt",0)
}
DllCall("CloseHandle", "Uint", Handle)
return
}
definepicture:
bmpicon =
( join
424d381b000000000000360000002800000030000000300000000100180000000000021b0000120b0000120b00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdeeaebdee2d4b0dabe8ddabe8d9ca19adabe8ddabe8ddabe8de2d4b0eaebdee2d4b0eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdee2d4b09ca19a6f67509879416f6750b1660c6f6750b1660c9879419879416f67506f67506f67509ca19ac9a366dabe8de2d4b0eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdee2d4b09ca19a987941e58d18e58d18e58d18e58d18e58d18e58d18b1660cb1660cb1660cb1660cb1660cb1660cb1660cb1660c4e4830ab8c59ab8c59dabe8de2d4b0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdec9a366ab8c59e58d18f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55e58d18e58d18e58d18e58d18b1660cb1660cb1660cb1660cb1660c6f6750ab8c59dabe8ddabe8deaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdec9a366f3ba55f3ba55f3ba55dabe8de2d4b0e2d4b0eaebdee2d4b0e2d4b0dabe8df3ba55f3ba55f3ba55f3ba55f3ba55f3ba55e58d18e58d18e58d18b1660cb1660cb1660cb1660c4e4830987941c9a366dabe8deaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdec9a366f3ba55c9a366e2d4b0eaebdeffffffffffffffffffffffffe2d4b06f67504e48304e48302323184e4830987941c9a366f3ba55f3ba55f3ba55f3ba55e58d18e58d18b1660cb1660cb1660cb1660c4e48306f6750dabe8de2d4b0eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9a366f3ba55c9a366eaebdeffffffffffffffffffeaebdee2d4b06f67502323182323180000000000002323182323184e48304e4830987941c9a366f3ba55dabe8df3ba55f3ba55e58d18e58d18b1660cb1660cb1660cb1660c6f6750ab8c59e2d4b0eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdabe8df3ba55ab8c59eaebdeffffffffffffffffffeaebde9ca19a2323182323180000002323184e48304e4830987941987941987941987941987941987941ab8c59c9a366f3ba55dabe8df3ba55f3ba55e58d18e58d18b1660cb1660cb1660c4e4830ab8c59dabe8deaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdef3ba55c9a3669ca19affffffffffffffffffe2d4b06f67502323180000002323184e48304e4830987941987941987941ab8c59ab8c59987941ab8c59ab8c59ab8c59ab8c59ab8c59c9a366dabe8ddabe8df3ba55f3ba55e58d18b1660cb1660cb1660c4e4830ab8c59dabe8dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdabe8df3ba556f6750e2d4b0ffffffffffffe2d4b04e48300000000000002323186f6750987941987941987941ab8c59987941987941ab8c59987941ab8c59ab8c59ab8c59ab8c59ab8c59ab8c59c9a366c9a366dabe8ddabe8df3ba55e58d18b1660cb1660cb1660c4e4830ab8c59dabe8dffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdef3ba55f3ba559ca19aeaebdeffffff9ca19a4e48300000002323184e4830987941987941987941987941987941987941987941ab8c59ab8c59ab8c59ab8c59ab8c59ab8c59c9a366ab8c59c9a366ab8c59c9a366c9a366dabe8ddabe8df3ba55f3ba55e58d18b1660cb1660c4e4830ab8c59e2d4b0ffffffffffffffffffffffffffffffffffffffffffffffffe2d4b0f3ba559879419ca19aeaebdee2d4b02323180000002323184e4830987941987941987941987941987941987941ab8c59ab8c59ab8c59ab8c59ab8c59ab8c59c9a366ab8c59c9a366c9a366c9a366c9a366c9a366c9a366c9a366dabe8ddabe8ddabe8de58d18e58d18b1660cb1660c4e4830c9a366e2d4b0ffffffffffffffffffffffffffffffffffffeaebdedabe8df3ba559879419ca19aeaebde4e48300000002323184e4830987941987941987941987941987941987941ab8c59ab8c59ab8c59ab8c59c9a366ab8c59c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366dabe8ddabe8df3ba55e58d18e58d18b1660cb1660c4e4830dabe8deaebdeffffffffffffffffffffffffffffffeaebdee2d4b0f3ba556f67509ca19a9ca19a2323180000004e4830987941987941987941987941987941ab8c59c9a366ab8c59c9a366c9a366ab8c59c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366dabe8de2d4b0dabe8de58d18b1660cb1660cb1660c987941dabe8dffffffffffffffffffffffffffffffe2d4b0e2d4b0f3ba556f67509ca19a2323180000002323186f6750987941987941987941987941ab8c599879416f67504e48304e48304e48306f67504e48306f6750ab8c59c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366dabe8de2d4b0f3ba55e58d18b1660cb1660c4e4830c9a366e2d4b0ffffffffffffffffffffffffeaebdef3ba55c9a3666f67509ca19a2323180000004e48309879419879419879419879419879412323182323182323180000000000000000000000000000002323182323186f6750c9a366c9a366c9a366c9a366c9a366ab8c59ab8c59ab8c59987941ab8c59ab8c59c9a366dabe8ddabe8df3ba55e58d18b1660cb1660c6f6750dabe8deaebdeffffffffffffffffffeaebdee2d4b0f3ba556f67509ca19a2323180000004e48309879419879419879414e48302323180000002323182323184e48306f67509879416f67504e4830232318000000232318987941c9a366c9a366c9a366ab8c594e48302323182323182323182323184e48306f6750ab8c59e2d4b0f3ba55e58d18b1660cb1660c4e4830c9a366e2d4b0ffffffffffffffffffe2d4b0e2d4b0c9a3666f67506f67500000002323184e4830987941987941987941232318000000232318987941ab8c59c9a366c9a366c9a366c9a366c9a366c9a3664e48300000004e4830c9a366ab8c596f67502323182323184e48304e48304e48304e48302323182323184e4830dabe8de2d4b0f3ba55e58d18b1660cb1660c6f6750dabe8deaebdeffffffffffffeaebdee2d4b0f3ba559879416f67500000002323184e48309879419879419879412323180000004e4830c9a366dabe8dc9a366c9a366c9a366c9a366c9a366c9a3664e4830000000232318ab8c596f67502323182323186f67509ca19a9ca19aeaebde9ca19a9ca19a4e48300000004e4830dabe8de2d4b0e58d18b1660cb1660cb1660c9ca19aeaebdeffffffffffffeaebdee2d4b0c9a3666f67506f67500000002323186f67509879419879419879414e48300000002323186f6750c9a366c9a366c9a366c9a366c9a366c9a366c9a3664e48300000004e48309879414e48302323186f67509ca19aeaebdeeaebdeeaebdeeaebde9ca19a9ca19a4e48300000006f6750dabe8df3ba55e58d18b1660c4e4830ab8c59e2d4b0ffffffffffffeaebdee2d4b0f3ba55ab8c596f67500000000000004e48309879419879419879419879414e4830000000232318987941c9a366c9a366c9a366c9a366c9a366ab8c592323180000006f67509879412323182323189ca19aeaebdeeaebdeeaebde9ca19a6f67504e48306f67506f6750232318232318e2d4b0dabe8de58d18b1660cb1660c6f67509ca19aeaebdeffffffeaebdeeaebdedabe8dc9a3664e48302323180000004e48309879419879419879419879416f67502323180000006f6750c9a366c9a366c9a366c9a366c9a3664e4830000000232318c9a3666f67500000004e48309ca19aeaebdeeaebdeeaebde9ca19a0000000000002323184e4830232318232318e2d4b0e2d4b0f3ba55e58d18b1660c4e48309ca19aeaebdeffffffeaebdeeaebdedabe8df3ba556f67504e48300000002323186f6750987941987941ab8c599879412323180000006f6750c9a366c9a366c9a366c9a3664e4830000000232318987941c9a366987941000000232318ab8c599ca19aeaebdee2d4b09ca19a2323182323182323182323182323186f6750eaebdee2d4b0f3ba55e58d18b1660cb1660c9ca19ae2d4b0ffffffeaebdeeaebdee2d4b0c9a3666f67504e48302323180000004e4830987941987941ab8c594e48300000000000006f6750c9a366c9a366ab8c596f67502323180000004e4830c9a366c9a366ab8c592323180000002323184e48304e48304e48306f67504e48302323180000000000000000006f6750e2d4b0dabe8ddabe8de58d18b1660cb1660c6f6750e2d4b0ffffffeaebdeeaebdee2d4b0f3ba55c9a3666f67506f67500000000000004e48309879416f67502323180000004e4830ab8c59c9a366c9a3666f67502323180000004e4830ab8c59c9a366c9a366c9a3666f67502323182323182323184e48304e48304e48304e48304e48304e48302323182323184e48306f67506f6750dabe8df3ba55b1660cb1660c6f6750e2d4b0ffffffffffffeaebdeeaebdedabe8d9ca19a6f67509ca19a4e48300000002323184e4830232318000000232318ab8c59c9a366ab8c596f67502323180000004e4830ab8c59c9a366c9a366c9a366c9a366ab8c59987941987941987941ab8c59c9a366ab8c59ab8c59ab8c59ab8c59ab8c594e48302323184e48309ca19ae2d4b0f3ba55e58d18b1660c4e4830dabe8dffffffffffffeaebdeeaebdee2d4b0c9a366ab8c596f67509ca19a4e4830000000000000000000232318987941c9a366ab8c594e48300000000000004e4830ab8c59c9a366ab8c59c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366ab8c594e48304e48306f6750e2d4b0dabe8de58d18b1660c987941dabe8dffffffffffffffffffeaebdee2d4b0dabe8dc9a3666f67506f67504e4830000000000000232318987941ab8c599879414e48300000002323184e4830ab8c59ab8c59ab8c59c9a366c9a366ab8c59c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366c9a366ab8c59ab8c59ab8c594e48304e48306f6750dabe8de2d4b0e58d18b1660c4e4830dabe8dffffffffffffffffffeaebdeeaebdee2d4b0c9a3666f67502323180000002323184e4830ab8c59c9a3666f67502323180000002323184e4830ab8c59c9a366ab8c59ab8c59ab8c59c9a366ab8c59c9a366c9a366ab8c59c9a366c9a366c9a366c9a366c9a366c9a366ab8c59ab8c599879412323182323182323182323184e4830dabe8de58d18b1660c9879419ca19affffffffffffffffffffffffeaebdee2d4b0dabe8dab8c592323182323184e4830ab8c596f67502323180000000000000000002323186f67506f6750987941987941ab8c59ab8c59ab8c59ab8c59ab8c59ab8c59c9a366ab8c59c9a366ab8c599879419879416f67506f67504e48302323184e48302323182323184e4830987941dabe8df3ba55b1660c6f6750dabe8dffffffffffffffffffffffffffffffeaebdee2d4b0c9a3666f67502323186f67502323182323180000002323184e48302323180000000000002323182323184e48304e48306f67506f67506f67509879416f67506f67506f67504e48304e48302323182323182323182323182323186f67509ca19a9ca19ae2d4b0e2d4b0eaebdee2d4b0f3ba55b1660cb1660cdabe8dffffffffffffffffffffffffeaebdeffffffe2d4b0dabe8d9ca19a2323180000000000002323186f6750eaebde9ca19a9ca19a4e48304e48302323182323180000000000000000000000000000000000000000000000000000000000000000000000000000000000002323186f6750e2d4b0eaebdeffffffffffffffffffffffffdabe8df3ba55e58d186f6750dabe8dffffffffffffffffffffffffffffffffffffeaebdee2d4b0c9a366ab8c592323184e4830eaebdeffffffffffffffffffeaebdeffffffffffffeaebde6f67506f67504e48304e48302323180000000000002323184e48304e48302323180000000000000000004e48309ca19aeaebdeffffffffffffffffffffffffffffffffffffe2d4b0f3ba55b1660c6f6750e2d4b0ffffffffffffffffffffffffffffffffffffffffffeaebdedabe8d9ca19aab8c596f67509ca19aeaebdeffffffffffffeaebdeeaebdeffffffffffffeaebde9ca19a6f67504e48300000002323182323184e48304e48302323180000000000002323186f6750e2d4b0fffffffffffffffffffffffffffffffffffffffffffffffff3ba55f3ba55987941987941eaebdeffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdedabe8dc9a3666f67506f67509ca19affffffffffffffffffffffffffffffffffffe2d4b06f67502323180000000000002323182323182323180000000000002323186f67509ca19aeaebdeffffffffffffffffffffffffffffffffffffffffffffffffeaebdee2d4b0f3ba55b1660cc9a366eaebdeffffffffffffffffffffffffffffffffffffffffffffffffeaebdee2d4b09ca19ac9a3666f67506f67509ca19aeaebdeffffffeaebdeeaebdeab8c592323180000000000000000000000000000000000000000002323186f67509ca19aeaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdee2d4b0e58d18987941dabe8deaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdee2d4b0dabe8d9ca19a6f67506f67509ca19a9ca19a9ca19a2323180000000000000000000000000000000000002323184e48306f67509ca19ae2d4b0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2d4b0f3ba55e58d186f6750e2d4b0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdee2d4b0dabe8d9ca19a6f67504e48302323180000000000000000002323182323182323184e48304e48309ca19a9ca19aeaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2d4b0f3ba55e58d18c9a366eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdee2d4b0dabe8d9ca19a9879412323182323184e48304e48306f67509ca19a9ca19a9ca19affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdef3ba55f3ba55987941e2d4b0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdedabe8dc9a3669ca19a6f67506f67509ca19a9ca19aeaebdeeaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdedabe8df3ba55e58d18dabe8deaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdee2d4b0dabe8ddabe8dab8c596f67506f67509ca19a9ca19ae2d4b0eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebde9ca19af3ba55f3ba55ab8c59eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeffffffeaebdee2d4b0dabe8ddabe8dc9a366ab8c596f67506f67509ca19a9ca19a9ca19aeaebdeeaebdeeaebdeeaebdeeaebdeeaebdeeaebdeffffffffffffffffffeaebdeeaebdee2d4b0c9a366f3ba55f3ba55c9a366e2d4b0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdeeaebdee2d4b0e2d4b0dabe8dc9a366c9a3666f67506f67506f67506f67509ca19a9ca19a9ca19ae2d4b0e2d4b0eaebdee2d4b09ca19ae2d4b09ca19a9ca19ac9a366f3ba55f3ba55c9a366e2d4b0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdeeaebdee2d4b0e2d4b0dabe8df3ba55dabe8dc9a366ab8c596f6750ab8c596f67506f67506f67506f67506f6750ab8c59ab8c59c9a366f3ba55f3ba55f3ba55c9a366eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdeeaebdeeaebdee2d4b0e2d4b0e2d4b0f3ba55e2d4b0f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55f3ba55e2d4b0eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdeeaebdeeaebdeeaebdee2d4b0e2d4b0e2d4b0e2d4b0e2d4b0e2d4b0f3ba55e2d4b0f3ba55dabe8ddabe8ddabe8de2d4b0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaebdeeaebdeeaebdee2d4b0eaebdee2d4b0e2d4b0e2d4b0e2d4b0e2d4b0e2d4b0e2d4b0eaebdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000
)
return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Code ends here ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
