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

  1. Read instructions for AutoHotkey, and make sure you have the latest version installed.

  2. Read all instructions on this page.

  3. Save the script code below in a file named "DeMonster.ahk"

  4. Open script file in a text editor and edit settings.

  5. Run the script (double-click the file).

Default settings will:

  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 will:

  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 (any amount)

  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 options

  13. Hotkeys to sitout (play until blinds or not) & return

  14. 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

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   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

CategoryAutoHotKey

DeMonster (last edited 2008-05-06 18:49:31 by MogobuTheFool)