PartySNGHelper nach Update?

    • Tombery
      Tombery
      Bronze
      Dabei seit: 05.12.2006 Beiträge: 3.262
      hi , mein partysng helper nachm update hat einige seiner features nicht mehr.
      rechte maustaste fold geht noch, aber mittlere taste für push geht net, was verdammt nervig ist.
      auto hide current balance$ geht ah net , aber das würd ich ja noch überleben.
      benutzt grad die v1.22

      hat jemand eine lösung ? google spuckt mir nur alte versionen aus und overcards hat das scheinbar nicht mehr hochgeladen

      danke schonmal
  • 16 Antworten
    • Annuit20
      Annuit20
      Bronze
      Dabei seit: 14.09.2007 Beiträge: 9.225
      Hi,

      hier kannst du immer die neuste Version finden.

      Party SnG Helper
      2+2 Thread

      Gruß
    • Tombery
      Tombery
      Bronze
      Dabei seit: 05.12.2006 Beiträge: 3.262
      danke , darauf kam ich irgendwann dann auch aber war zu blöd was damit anzufangen.
      post #331 löst ja anscheinend das problem aber ich wusst nicht wie ich es einfügen soll, was muss man vorher löschen? und was davon einfügen?
      wär nett wenns mir jemand sagen könnte
    • Annuit20
      Annuit20
      Bronze
      Dabei seit: 14.09.2007 Beiträge: 9.225
      Gesamten Script-Text kopieren und in ein neues Ahk einfügen, rechts klick Desktop>Neu
    • Tombery
      Tombery
      Bronze
      Dabei seit: 05.12.2006 Beiträge: 3.262
      muss das mit dem zu blöd nochmal bekräftigen ^^
      versteh nicht ganz was du meinst.
      hab ja grad den partysnghelper_1_22 skript , an dem das pushen net mehr läuft und im 2+2 forum hat der typ im post 331 auf der letzten seite anscheinend eine lösung angeboten für das push problem, da ist ein kleiner skript abschnitt der wohl das prob behebt.
      ich weiss nur net was davon wohin kopiert werden soll, nur den kleinen abschnitt in ein neues ahk hilft mir ja nicht viel. und im bestehenden weiss ich nicht was /wie viel ich ersetzten muss etc. hab bissl rumprobiert aber failt alles
    • budder
      budder
      Bronze
      Dabei seit: 13.04.2006 Beiträge: 662
      Bei mir läuft dieses Skript:
      ;---------------------------------------------------------- ;----------------- Party SNG Helper v1.24 ----------------- ;---------------------------------------------------------- ; AutoHotkey Version: 1.x ; Language: English ; Platform: Win9x/NT ; Original Author: jukofyork (reused code and thanks to: _dave_, Roland and HighSteaks!) ; Improvements: fenixguy (FenixOnTilt) added v1.11b improvements. ; 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. ; New for v1.02: ; ============== ; 1. Have tried to make the finished SNG closer work more stably by trying for 5 times over 2.5 seconds ; and testing if each time agrees. ; New for v1.03: ; ============== ; 1. Have removed the code which closed the finished SNGs - wasn't working properly and was unsafe... ; New for v1.04: ; ============== ; 1. Fixed the problem where when using half size BB increments I was rounding the value to 1dp (no ; need to do this, as always gonna be whole number if only ever playing SNGs...). ; New for v1.05: ; ============== ; 1. Added a nice GUI to make setting the settings much easier. ; 2. Merged the code with the old EmpireLobbyFilter AHK script as is also useful on Party. ; 3. Have tried to further bullet-proof the table opening code, but still not 100% sure it will work. ; 4. Have added a button to hide the lobby and another to show the lobby. This is useful when we just want ; to use our own listview and/or the F10/F11 hotkeys for joining SNGs and the lobby is not needed. ; New for v1.06: ; ============== ; 1. Now have two different versions of OpenTable(). One works fine on Empire and is fast but won't work always on ; Party. The other works fine on Party, but is very slow to open tables if the list isn't filtered. ; - Both seem to work fine now even if the lobby is hidden using the hide button. ; 2. Have made it so that the fold and push commands will only be send when the mouse button is released. This ; give you a chance to cancel by moving the mouse off the tables (like you can with the button clicks). ; New for v1.07: ; ============== ; 1. Have removed all critical section in the code as they seem to cause an unexplained deadlock occationally. ; - Re-checked the code and there should be no reason for this as all code paths release them... ; - Seems that the sections like OpenTables, etc seem to work fine anyway (better than a deadlock anyway...). ; 2. Have made it so that you have to uncomment a line to use "act on mouse release" now, as it can be unsafe ; at times of high CPU usage and cause folds/pushes on other tables by accident (default = off now). ; New for v1.08: ; ============== ; 1. Have added 3 pixels to the list-box width to correct for change after update. ; 2. Have fixed the problem where AutoBet and IncrementHalfBigBet were not being set properly from the GUI. ; 3. Have fixed the problem from the latest update which caused numbers with commas in to mess up (eg: "1,000"). ; New for v1.09: ; ============== ; 1. Have set the priority for the Push and Check/Fold hotkeys to be higher and have gone back to using ; "action on release" as should be safe with higher priority now. ; 2. Have made it so that the timer bank clicker thread is higher priority than all but the important hotkeys. ; 3. Have made it so "Auto-Request summary" also gets rid of the "You are the champion..." popup. ; New for v1.10: ; ============== ; 1. Changed the string to match the "would you like to join another SNG..." pop-up so it now closes ones where ; you didn't win also. ; New for v1.11: ; ============== ; 1. Have fixed the "Would you like to play in another Sit & Go" dialog closer. ; 2. Have made it so that if we press push and there is no raise button, we now will click on "All-In" instead. ; New for v1.11b - imrovements by fenixguy (FenixOnTilt): ; ======================================================= ; 1. Changed the string to match the "would you like to join another SNG..." pop-up once more, because the ampersand caused some problems. ; 2. Reworked the "Auto-Request Summary" Checkbox so that it now actually does what it says and clicks YES or NO depending on your choice ; Works only if "Auto-Close Bustout Popups" is activated. ; 3. Added an "Auto-Close Bustout Popups" Checkbox to take over the function the Summary Button did before. ; 4. Added an "Auto-Close Finished SNGs" Checkbox which actually closes every active PartyPoker table you don't sit at. (Yet to be tested on Empire) ; New for 1.12: ; ============= ; 1. Have made it so that the scroll wheel should also work for european style decimal seperators (eg: 1,000 and 1.000). ; 2. Have made it so that we no longer open tables with 9 players allready seated as they are usually just filling as we sit and we have to close them. ; 3. Have fixed problem with setting the RequestSummary checkbox (should work now). ; New for 1.13: ; ============= ; 1. Have made it so that we no longer open tables with 9 players allready seated as they are usually just filling as we sit and we have to close them. (redone). ; 2. Have made it so we deafult to using the table closer now (seems 100% safe). ; 3. Have made it so that we deafult to not having summaries sent by email now. ; 4. Have added in a thread to press the "I am Back" button whenever it sees it (useful for crash recovery and time-outs). ; 5. Have added a special "Kill and restart" hotkey: use control+alt+F11 for Empire and control+alt+F12 for Party ; 6. Have made it so that we can now use the scroll wheel in MTTs too. ; 7. Have added an option to enable/disable the use of mouse hotkeys (MMB push, scrollwheel inc/dec and RMB fold). ; 8. Have made it so that "AutoBet" and "Increment 1/2 BB" option get shosted if mouse hotkets disabled. ; 9. Have added the ability to reset the lobby to (0,0) to fix the "mini-lobby bug" from within this script too. ; New for 1.14: ; ============= ; 1. Fixed the bug where the scroll wheel would stop working because of the "value added" popup. ; New for 1.15: ; ============= ; 1. Have added an option to get rid of the chat-realted stuff. ; 2. Have added an option to get rid of the 3 pointless buttons from the bottom right corner. ; 3. Have fixed a tiny slowdown bug in the automatic pressing of "I am Back" button where we kept ; returning uneccessarily. ; 4. Have altered the UI to work look slightly better and work better with non-Win98 style windows by ; putting the listbox below the other options. ; New for 1.16: ; ============= ; 1. Have tidied up the code a bit to make it easier for people to see where to change the default settings and timings. ; 2. Have added the ability to auto-change to 16bit colour when using the script. ; 3. Have fixed some problems introduced in the 28/03/08 update: ; - Static control for reading the blinds is now Static5 (was Static6 before). ; - Editbox for entering bet amounts is now Edit2 (was Edit3 before). ; 4. Have merged the code to remove spaces in a number. ; New for 1.16b: ; ============== ; 1. Have fixed the problem with the auto-timebank clicker not working after 28/03/08 update. ; 2. Have fixed a bug introduced in v1.16 where we wern't removing spaces from numbers properly. ; 3. Have re-written the ato-close finished SNGs function to use a loop so it can close all windows at the same time now. ; New for 1.17: ; ============= ; 1. Have reverted the AutoCloseFinished procedure to use the old code as it seemed to work much more safely. ; 2. Have increased the priority of the press "I am back" code so as to sit back ASAP now. ; 3. Have increased the priority of the scroll wheel handler as sometimes could "stall" while busy with other stuff. ; 4. Have re-arrange the controls on the GUI to accomodate the "Auto-Hide MTT Popups" option and seperate "Auto-Update Speed SNG List". ; New for 1.18: ; ============= ; 1. Have merged the table opener code so we now use the old Empire opener for both now. ; - The old Party-specific method would be far too slow and error prone now that we have so many things in the list... ; - To open tables from the filtered list you *MUST* have exactly the same column headers in as the classic list view. ; 2. Have added some rudamentary filtering capabilty to allow us to filter the listbox to display certain limits only. ; - Very hacky and required editing of the code atm - add somthing to the GUI later... ; 3. Had to replace all "Buy-in." with "Buy-in" - this fixed most problems (timebank, chatboc hider, buttons hider, etc). ; 4. Had to change "This Hand" to "This hand" and "Auto Post Blind" to "Auto-post blind" to get the table closer function to work. ; ; New for 1.18b: ; ============== ; 1. Have fixed the Hide/Show/Reset buttons to now resize the lobby to the correct dimmensions (the new lobby is not the same as the old). ; 2. Have made it so that "Auto-Hide 'Pointless' Buttons" option also hides the "New table" button displayed at the top of each table. ; New for 1.18c: ; ============== ; 1. Fixed a small problem whereby "Auto-Buyin" and "Auto-Close-Non-NL-SpeedSNGs" would not work properly together. ; New for 1.18d: ; ============== ; 1. Fixed the "deadlock" problem when opening tables with F11 by adding a 3 second timeout to all WinWaitActive calls. ; New for 1.18e: ; ============== ; 1. Have removed the ghosted "remove MTT popups" option, as it looks like we will never find an AHK method round these. ; 2. Have added a "Quick-Leave Non-Started SNGs" option that saves you from pressing OK on the dialog box when you want to exit ; a SNG that hasn't started yet. This should be used carefully, especially if there are allready 9 players seated... ; 3. Have made it so that the push() fucntion now double checks that the bet-amount edit box has actaully been changed and if ; it hasn't then it's redoes it (this is done to fix the occational times it min-raises instead of pushes all-in...). ; 4. We now make sure that the "raise" button gets the focus before it gets clicked (2p2er "sence" reported that sometimes it would ; fail to click the button for him - this may have been the reason...). ; 5. Have improved the FocusLooby() procedure so as to make sure the table list get focus before we do anything else. ; 6. Have increased the priority of the middle mouse button hotkey to try to fix the "minraise bug". ; New for 1.19: ; ============= ; 1. Have made it so that "Speed Double or Nothing" SNGs won't be listed or opening using F11 hotkey. ; 2. Have made it so that "Auto-Close Non-NL-Speed SNGs" will auto-close "Speed Double or Nothing" SNGs that we open by accident. ; 3. Have added the code to close the "Table loading..." screen. ; New for 1.19b: ; ============== ; 1. Have removed the "Auto-Hide Table loading..." option as Party last update made it so that it can't be hidden. ; 2. Have added an option to hide the cashier bar from the top of the lobby. ; 3. Have added a hotkey that allows you to sit at a random seat by pressing XButton1 or XButton2 (side mouse buttons). ; 4. Have changed the AutoCloseFinished() function to match vs "# " instead of "This hand" afetr the 11/08/09 update. ; New for 1.19c: ; ============== ; 1. Had use an intermediary variable to match the "# " string against in AutoCloseFinished() function to stop it also closeing the buy-in screen. ; New for 1.19d: ; ============== ; 1. Have chanced the "choose random empty seat" hotket to F9 now (to free up XButton1 or XButton2 - see below). ; 2. Have made it so that pressing XButton1 set the edit bos to full pot (uses the "Total pot:" string only) and XButton2 sets it to 1/2 pot. ; New for 1.20: ; ============= ; 1. Have made it so that the time-bank clicker waits until we have less than 8 seconds remaining before clicking it now (because of the changes in the 04/10 update). ; 2. Have made it so that we now also hide our balance on the buy-in dialog as sometimes we could see our balance on it as it flashed up before Auto-Buyin had time to work. ; 3. Have decreased the timer delay for AutoHideBalance calls to just 100ms now (was 250ms before), again to try to decrease the chance the value flashes up for a split second. ; New for 1.21: ; ============= ; 1. Had to replace all "AfxWnd42" with "AfxWnd90" after the 5/7/2010 update. ; 2. Had to redo the method for opening tables from the listbox because of the 5/7/2010 update. ; 3. Fixed a problem with the end-of-game popup closer that appeared after the 5/7/2010 update. ; 4. FiXed table opening double click bug (we were alwats using the old table opening method). ; New for 1.22: ; ============= ; 1. Had to replace all "AfxWndX" with "AfxWndX+1" after the 29/10/2010 update. ; New for 1.23: ; ============= ; 1. Have added an extra 1 rows to the SNG list and corrected the problem of it having a bottom scrollbar sometimes. ; 2. Made it so we now open/list normal SNGs (ie: non-speed SNGs) and turbo SNGs (still auto-closes DoNs though). ; 3. Have fixed a problem where AutoCloseFinished() was also closing the HH window. ; 4. Have added the ability to filter out Turbo/Speed/Normal SNGs as well as filter for 0+, 1+ or 2+ registered already. ; 5. Have tried to improve the window opening logic: ; - Now a single click on the listview will open the table (works better than double click with auto-update mode on). ; - We now remove table from the listbox as we see it open (using 5 seconds for "deadloack avoidance"). ; - We now update the list once on startup if the option is set by deafult. ; - We now update the list once after the option has been clicked by the user. ; 6. Removed the old table opener code (as it was now badly broken...) and made it so we use what was previously called "Alternate Table Opener". ; 7. Have combined the auto-hiding of the chat and the "pointless" buttons into a single option (less thread work duplication). ; 8. Added code to remove the trophy icon in "Auto-Hide Chat and Buttons" code (as it can't cause problems with button numbering if clicked by accident). ; New for 1.24: ; ============= ; 1. Have fixed the code to account for the changes made in the 7/7/11 update (ie: the name of the table is now the 1st column rather than the 2nd). ; 2. Party have gone back to using "Internet Explorer_Server1" to display the cashier bar in the 7/7/11 update so had to fix the cashier bar hiding code. ; 3. Have attempted to stop the dealoack problem we got in v1.23 by making sure we don't try and re-enter the open table function. ; 4. Have made it so that the "Hide Lobby" button now both hides and restores the lobby. ; 5. Have added a "Reset 'Drag'" button which can reset the "Display window contents when dragging" setting without having to go into control panel, etc. #Persistent #SingleInstance, Force #NoEnv SendMode Input DetectHiddenText, off DetectHiddenWindows, off SetTitleMatchMode 2 ; This is used to stop us trying to re-enter the table opening function multiple times and causing a deadlock (ie: the v1.23 bug) OpeningTableNow = 0 ; For BPP reset purposes. OnExit, ExitSub ; Add the buttons. Gui, Add, Button, vHideLobbyBtn gHideLobbyBtn x296 y4 w73 h16, Hide Lobby Gui, Add, Button, vResetLobbyBtn gResetLobbyBtn x296 y20 w73 h16, Reset Lobby Gui, Add, Button, vShowLobbyBtn gDragLobbyBtn x296 y36 w73 h16, Reset 'Drag' ; Add the first group of controls. Gui, Add, GroupBox, x10 y-2 w285 h55 Gui, Add, Checkbox, vEnableMouseAndKBStuff gEnableMouseAndKBStuff x15 y12, Enable: Global Mouse && Keyboard Gui, Add, Checkbox, vEnableFoldRMB gEnableFoldRMB x15 y32, Enable: Right Button = Fold Gui, Add, Checkbox, vAutoBet gAutoBet x198 y12, Middle = Instant PlusMinusString := Chr(177) HalfString := Chr(189) Gui, Add, Checkbox, vIncrementHalfBigBet gIncrementHalfBigBet x198 y32, Scroll = %HalfString% BB ; Add the second group of controls. Gui, Add, GroupBox, x10 y48 w360 h110 Gui, Add, Checkbox, vBuyin gBuyin x15 y60, One-Click Buy-In To SNGs Gui, Add, Checkbox, vClickTimeBank gClickTimeBank x198 y60, Auto Click Time Bank Gui, Add, Checkbox, vCloseFinished gCloseFinished x15 y80, Auto Close Finished SNGs Gui, Add, Checkbox, vPressIAmBack gPressIAmBack x198 y80, Auto Click "I am Back" Button Gui, Add, Checkbox, vQuickLeaveTable gQuickLeaveTable x15 y100, Quick Leave Non-Started SNGs Gui, Add, Checkbox, vCloseNonNLHEAndDoN gCloseNonNLHEAndDoN x198 y100, Auto Close Non-NLHE && DoNs Gui, Add, Checkbox, vHideChatAndButtons gHideChatAndButtons x15 y120, Auto Hide Chat && Useless Buttons Gui, Add, Checkbox, vHideBalance gHideBalance x198 y120, Auto Hide Current Balance $s Gui, Add, Checkbox, vClosePopups gClosePopups x15 y140, Auto Close Bustout Popups <-------- Gui, Add, Checkbox, vRequestSummary gRequestSummary x198 y140, Auto Request Summary (e-mail) ; Add the second group of controls. Gui, Add, GroupBox, x10 y153 w88 h29 Gui, Add, Checkbox, vUpdateSNGList gUpdateSNGList x15 y164, Auto-Update Gui, Add, GroupBox, x102 y153 w171 h29 Gui, Add, Checkbox, vFilterTurbo gFilterTurbo x107 y164, Turbo Gui, Add, Checkbox, vFilterSpeed gFilterTurbo x160 y164, Speed Gui, Add, Checkbox, vFilterNormal gFilterTurbo x216 y164, Normal Gui, Add, GroupBox, x277 y153 w93 h29 Gui, Add, Radio, vFilter0 gFilter0 x280 y164, 0 Gui, Add, Radio, vFilter1 gFilter1 x310 y164, 1 Gui, Add, Radio, vFilter2 gFilter2 x340 y164, 2 ; Add the Speed-SNG-specific listbox. Gui, Add, ListView, r5 w362 x9 y183 AltSubmit gMyListView, Name|Type|Game|Buy-in|Plrs/Sts|Status ; Set to "always on top" and change the title to include the version number. Gui +AlwaysOnTop Gui, Show, , Party SNG Helper v1.24 ;Get this script's PID and set our own priority (thanks to _dave_ for this!). pid := DllCall("GetCurrentProcessId") Process, Priority, %pid%, AboveNormal ; #################################################################################################################### ; ############ CHANGE THESE VALUES TO MAKE THE SCRIPT START UP WITH DIFFERENT DEFAULT/START-UP SETTINGS! ############# ; #################################################################################################################### GuiControl, , EnableMouseAndKBStuff, 1 ; This will turn on the mouse and keyboard shortcuts. # GuiControl, , EnableFoldRMB, 1 ; This will turn folding by right clicking option. # GuiControl, , AutoBet, 1 ; Do we want to actually hit raise after we set the edit box to all-in? # GuiControl, , IncrementHalfBigBet, 1 ; Set this to use 0.5BB increments with the scroll wheel, rather than 1BB. # GuiControl, , Buyin, 1 ; This will let you just click on a empty seat to join a SNG. # GuiControl, , ClickTimeBank, 1 ; This will auto-click the timebank button for you when it sees it. # GuiControl, , CloseFinished, 1 ; This will auto-close every running SNG you are not sitting in # GuiControl, , PressIAmBack, 1 ; This will auto-click the "I am Back" button. # GuiControl, , QuickLeaveTable, 0 ; This will let you quickly get up from a SNG that hasn't started yet. # GuiControl, , CloseNonNLHEAndDoN, 0 ; This will close any non-NLHE or DoN SNG opened by accident. # GuiControl, , HideChatAndButtons, 0 ; This will turn off chat hiding (also turns off buttons now). # GuiControl, , HideBalance, 0 ; This will hide your balance on both the cashier bar and the buy-in dialog. # GuiControl, , ClosePopups, 1 ; This will auto-close the "Play another" and "Summary" Popups # GuiControl, , RequestSummary, 0 ; This will auto-request a summary when it see the dialog at the end of a SNG.# GuiControl, , UpdateSNGList, 0 ; This will auto-update the SNG list (lots of CPU used - F10/F11 better...). # GuiControl, , FilterTurbo, 0 ; This will show "Turbo" SNGs in the list. # GuiControl, , FilterSpeed, 1 ; This will show "Speed" SNGs in the list. # GuiControl, , FilterNormal, 0 ; This will show "Normal" SNGs in the list. # GuiControl, , Filter0, 1 ; This will show SNGs with 0+ (or 1+ or 2+) seats registered already. # ; ------------------------------------------------------------------------------------------------------------------ # AutoSwitch16bitColour := 0 ; Set this to 1 to have the client automatically switch to using 16bit colour.# ; #################################################################################################################### ; Set the BPP to 16bit colour, as Party seems to work better using it. if (AutoSwitch16bitColour = 1) SetBPP(16) ; Start the timers (depends on the default checkbox setting as to if they start or not). GoSub, AutoBet GoSub, IncrementHalfBigBet SetTimer, AutoClickTimeBank, 1000, ,1 ; Higher priority so as not to lag and miss the timebank... GoSub, ClickTimeBank SetTimer, AutoBuyin, 250 ; Needs to be a tight loop to reduce the chance of it being seen when joining games. GoSub, Buyin SetTimer, AutoUpdateSNGList, 5000 GoSub, UpdateSNGList SetTimer, AutoCloseNonNLHEAndDoN, 1000 GoSub, CloseNonNLHEAndDoN SetTimer, AutoCloseFinished, 1000 GoSub, CloseFinished SetTimer, AutoClosePopups, 500 GoSub, ClosePopups SetTimer, AutoSitBackIn, 500, ,1 ; Higher priority so as to sit back ASAP. GoSub, PressIAmBack SetTimer, AutoHideChatAndButtons, 1000 GoSub, HideChatAndButtons SetTimer, AutoQuickLeaveTable, 500 GoSub, QuickLeaveTable SetTimer, AutoHideBalance, 100 ; Needs to be a very tight loop to reduce the chance of it being seen when logging in. GoSub, HideBalance ; Set the priority of the important hotkeys. Hotkey, ~RButton, , P2 Hotkey, ~MButton, , P3 ; This should be higher than the wheel priorities. Hotkey, ~WheelUp, , P2 Hotkey, ~WheelDown, , P2 return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Pressing F10 will manually update the SNG list. F10:: if (EnableMouseAndKBStuff) { gosub, FocusLooby gosub, AutoUpdateSNGList } return ; --------------------------------------------------------------------------------------------------------------- ; Pressing F11 will manually update the SNG list *AND* open the first SNG in the list. F11:: if (EnableMouseAndKBStuff) { gosub, FocusLooby gosub, AutoUpdateSNGList LV_GetText(TableName,1,1) if (TableName <> "" AND OpeningTableNow = 0) { OpeningTableNow = 1 OpenTable(TableName) WinWait, %TableName%, , 3 ; Avoid deadlock. OpeningTableNow = 0 if (ErrorLevel=0) GoSub, AutoUpdateSNGList } } return ; --------------------------------------------------------------------------------------------------------------- ; Pressing F12 simulates a right mouse click over a player's name (so we can take notes and still use RMB for check/fold). F12:: if (EnableMouseAndKBStuff) { id := "" MouseGetPos, x, y, id if (id <> "") PostRightClick(x, y, id) } return ; --------------------------------------------------------------------------------------------------------------- ; Pressing F9 will cause us to sit at a random empty seat. F9:: if (EnableMouseAndKBStuff) { id := getid() Var := "AfxWnd90u5|AfxWnd90u6|AfxWnd90u7|AfxWnd90u8|AfxWnd90u9|AfxWnd90u10|AfxWnd90u11|AfxWnd90u12|AfxWnd90u13|AfxWnd90u14" Sort, Var, Random D| Loop, parse, Var, |, { ControlGet, result, Visible, , %A_LoopField%, ahk_id%id% if (result) { ControlClick %A_LoopField%, ahk_id%id% break } } } return ; --------------------------------------------------------------------------------------------------------------- ; Pressing control+alt+F11 will make the Empire client restart. ^!F11:: Process, Close, EmpirePokerMaster.exe Process, WaitClose, EmpirePokerMaster.exe Sleep, 1 Process, WaitClose, EmpirePokerMaster.exe Sleep, 1 run, C:Program FilesEmpirePokerMasterEmpirePokerRunEPoker.exe return ; --------------------------------------------------------------------------------------------------------------- ; Pressing control+alt+F12 will make the Party client restart. ^!F12:: Process, Close, partygaming.exe Process, WaitClose, partygaming.exe Sleep, 1 Process, WaitClose, partygaming.exe Sleep, 1 run, C:Program FilesPartyGamingPartyPokerRunApp.exe return ; --------------------------------------------------------------------------------------------------------------- ; Right mouse click = check/fold. ~RButton:: if (EnableMouseAndKBStuff AND EnableFoldRMB) CheckFold(getid()) return ; --------------------------------------------------------------------------------------------------------------- ; Middle mouse click = push all-in. ~MButton:: if (EnableMouseAndKBStuff) Push(getid(),AutoBet) return ; --------------------------------------------------------------------------------------------------------------- ; Mouse-wheel up = Increment bet amount. ~WheelUp:: if (EnableMouseAndKBStuff) AlterAmount(getid(),"up",IncrementHalfBigBet) return ; --------------------------------------------------------------------------------------------------------------- ; Mouse-wheel down = Decrement bet amount. ~WheelDown:: if (EnableMouseAndKBStuff) AlterAmount(getid(),"down",IncrementHalfBigBet) return ; --------------------------------------------------------------------------------------------------------------- ; Side button #1 bets pot. XButton1:: if (EnableMouseAndKBStuff) BetPot(getid(),1.0,0) ;;; AutoBet) return ; --------------------------------------------------------------------------------------------------------------- ; Side button #2 bets 1/2 pot. XButton2:: if (EnableMouseAndKBStuff) BetPot(getid(),0.5,0) ;;; AutoBet) return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; EnableMouseAndKBStuff: Gui, Submit, NoHide if (EnableMouseAndKBStuff) { GuiControl, Enable, EnableFoldRMB GuiControl, Enable, AutoBet GuiControl, Enable, IncrementHalfBigBet } else { GuiControl, Disable, EnableFoldRMB GuiControl, Disable, AutoBet GuiControl, Disable, IncrementHalfBigBet } return ; --------------------------------------------------------------------------------------------------------------- EnableFoldRMB: Gui, Submit, NoHide return ; --------------------------------------------------------------------------------------------------------------- AutoBet: Gui, Submit, NoHide return ; --------------------------------------------------------------------------------------------------------------- IncrementHalfBigBet: Gui, Submit, NoHide return ; --------------------------------------------------------------------------------------------------------------- RequestSummary: Gui, Submit, NoHide return ; --------------------------------------------------------------------------------------------------------------- UpdateSNGList: Gui, Submit, NoHide if (UpdateSNGList) { GoSub, AutoUpdateSNGList SetTimer, AutoUpdateSNGList, On } else SetTimer, AutoUpdateSNGList, Off return ; --------------------------------------------------------------------------------------------------------------- FilterTurbo: Gui, Submit, NoHide gosub, AutoUpdateSNGList return ; --------------------------------------------------------------------------------------------------------------- FilterSpeed: Gui, Submit, NoHide gosub, AutoUpdateSNGList return ; --------------------------------------------------------------------------------------------------------------- FilterNormal: Gui, Submit, NoHide gosub, AutoUpdateSNGList return ; --------------------------------------------------------------------------------------------------------------- Filter0: Gui, Submit, NoHide gosub, AutoUpdateSNGList return ; --------------------------------------------------------------------------------------------------------------- Filter1: Gui, Submit, NoHide gosub, AutoUpdateSNGList return ; --------------------------------------------------------------------------------------------------------------- Filter2: Gui, Submit, NoHide gosub, AutoUpdateSNGList return ; --------------------------------------------------------------------------------------------------------------- CloseNonNLHEAndDoN: Gui, Submit, NoHide if (CloseNonNLHEAndDoN) SetTimer, AutoCloseNonNLHEAndDoN, On else SetTimer, AutoCloseNonNLHEAndDoN, Off return ; --------------------------------------------------------------------------------------------------------------- ClickTimeBank: Gui, Submit, NoHide if (ClickTimeBank) SetTimer, AutoClickTimeBank, On else SetTimer, AutoClickTimeBank, Off return ; --------------------------------------------------------------------------------------------------------------- Buyin: Gui, Submit, NoHide if (Buyin) SetTimer, AutoBuyin, On else SetTimer, AutoBuyin, Off return ; --------------------------------------------------------------------------------------------------------------- CloseFinished: Gui, Submit, NoHide if (CloseFinished) SetTimer, AutoCloseFinished, On else SetTimer, AutoCloseFinished, Off return ; --------------------------------------------------------------------------------------------------------------- HideChatAndButtons: Gui, Submit, NoHide if (HideChatAndButtons) SetTimer, AutoHideChatAndButtons, On else SetTimer, AutoHideChatAndButtons, Off return ; --------------------------------------------------------------------------------------------------------------- QuickLeaveTable: Gui, Submit, NoHide if (QuickLeaveTable) SetTimer, AutoQuickLeaveTable, On else SetTimer, AutoQuickLeaveTable, Off return ; --------------------------------------------------------------------------------------------------------------- ClosePopups: Gui, Submit, NoHide if (ClosePopups) { SetTimer, AutoClosePopups, On GuiControl, Enable, RequestSummary } else { SetTimer, AutoClosePopups, Off GuiControl, Disable, RequestSummary } return ; --------------------------------------------------------------------------------------------------------------- PressIAmBack: Gui, Submit, NoHide if (PressIAmBack) SetTimer, AutoSitBackIn, On else SetTimer, AutoSitBackIn, Off return ; --------------------------------------------------------------------------------------------------------------- HideBalance: Gui, Submit, NoHide if (HideBalance) SetTimer, AutoHideBalance, On else SetTimer, AutoHideBalance, Off return ; --------------------------------------------------------------------------------------------------------------- HideLobbyBtn: WinGetPos, , , Width, Height, Poker Lobby if (Width = 1 OR Height = 1) WinMove, Poker Lobby, , , , 791, 558 else WinMove, Poker Lobby, , , , 1, 1 return ; --------------------------------------------------------------------------------------------------------------- ; Reset the Party lobby to top left and correct dimentions. ResetLobbyBtn: WinMove, Poker Lobby, , 0, 0, 791, 558 return ; --------------------------------------------------------------------------------------------------------------- ; This resets the "show window contents while dragging" setting (SPI_SETDRAGFULLWINDOWS=37, SPIF_UPDATEINIFILE|SPIF_SENDCHANGE=3) DragLobbyBtn: DllCall("SystemParametersInfo", "Uint", 37, "Uint", 1, "Uint", 0, "Uint", 3) return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AutoClickTimeBank: checkfield = AfxWnd90u35 ; AfxWnd90u35 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) { ControlGetText, TimeLeftString, You have , ahk_id%this_id% StringReplace, TimeLeftString, TimeLeftString, You have StringReplace, TimeLeftString, TimeLeftString, secs to respond StringTrimLeft, TimeLeftString, TimeLeftString, 1 StringTrimRight, TimeLeftString, TimeLeftString, 1 if (TimeLeftString <= 6) 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 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AutoClosePopups: ; Set this to make the function click the button ASAP. SetControlDelay, -1 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% if (RequestSummary) ; Request Summary if activated ControlClick, Button1, ahk_id%winID% else ControlClick, Button2, ahk_id%winID% } } ; Lets get rid of the champion of the tournament window. IfWinExist, ahk_class #32770, Would you like to play in another Sit { WinGet, idList, List, ahk_class #32770, Would you like to play in another Sit Loop, %idList% { winID := idList%a_index% ControlClick, Button2, ahk_id%winID% ; Click NO always. } } return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MyListView: if A_GuiEvent = Normal { ;___ A_EventInfo contains the focused row number; insert the correct comlumn number LV_GetText(TableName, A_EventInfo, 1) if (TableName <> "" AND OpeningTableNow = 0) { OpeningTableNow = 1 OpenTable(TableName) WinWait, %TableName%, , 3 ; Avoid deadlock. OpeningTableNow = 0 if (ErrorLevel=0) GoSub, AutoUpdateSNGList } } return GuiClose: ; Indicate that the script should exit automatically when the window is closed. ExitApp ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 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<<16)^x), , ahk_id%table_id% PostMessage, 0x205 , 0, ((y<<16)^x), , ahk_id%table_id% } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; This will set the edit box to the maximum amount. ; - v1.18e: Have tried to make this fucntion more relyable, as the recent update seems to have made it occationally ; make min-raises and also 2p2er "sense" reported that it would occationally not press the raise button for him. Push(id, AutoBet=0) { SendMessage TBM_SETPOS := 0x405, 1, 10000, msctls_trackbar321, ahk_id%id% ControlSend, msctls_trackbar321, {Right}, ahk_id%id% Sleep -1 Sleep 50 WinSet, Redraw,, ahk_id%id% ; Do we want to press the raise button too? If(AutoBet) { ; Lets see if we can see the "Raise X (All-In)" button. ControlGet, v, Visible, , AfxWnd90u20, ahk_id%id% if (v) { ControlGetText, text, AfxWnd90u20, ahk_id%id% IfInString, text, All-In { ControlFocus, AfxWnd90u20, ahk_id%id% Sleep, -1 ControlClick, AfxWnd90u20, ahk_id%id% return } } ; Lets see if we can see the "All-In" button. ControlGet, v, Visible, , AfxWnd90u19, ahk_id%id% if (v) { ControlGetText, text, AfxWnd90u19, ahk_id%id% IfInString, text, All-In { ControlFocus, AfxWnd90u19, ahk_id%id% Sleep, -1 ControlClick, AfxWnd90u19, ahk_id%id% return } } } } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; This will set the edit box to the amount we read from the "Total pot:" static control. BetPot(id, Fraction=1.0, AutoBet=0) { WinGetTitle, title, ahk_id%id% amount := 0 ; Get the current BB amount. if (InStr(title, "NL") <> 0 AND (InStr(title, "Buy-in") <> 0 OR InStr(title, "Table #") <> 0)) { ; Get the text string from the "Total pot" static. ControlGetText, text, Total pot, ahk_id%id% StringTrimLeft, pot, text, 11 pot := RemoveCommaInNumber(pot) ;msgbox, %pot% } ; Lets take the fraction and round to the nearest 5 chips. t := pot * Fraction t := Round(t) ; v1.18e: Lets get the current value that is stored in the box (see below). ControlGetText, BeforeText, Edit2, ahk_id%id% ; Lets set the box to our desired value value. ControlSetText, Edit2, %t%, ahk_id%id% Sleep -1 Sleep 50 WinSet, Redraw,, ahk_id%id% ; v1.18e: Has the value actaully changed (this is done to try to avoid the strange min-raises we sometimes get)? ControlGetText, AfterText, Edit2, ahk_id%id% if (BeforeText = AfterText) { Sleep 100 ControlSetText, Edit2, %t%, ahk_id%id% Sleep -1 Sleep 50 WinSet, Redraw,, ahk_id%id% } ; Do we want to press the raise button too? If(AutoBet) { ; Lets see if we can see the "All-In" button. ControlGet, v, Visible, , AfxWnd90u19, ahk_id%id% if (v) { ControlGetText, text, AfxWnd90u19, ahk_id%id% IfInString, text, All-In { ControlFocus, AfxWnd90u19, ahk_id%id% Sleep, -1 ControlClick, AfxWnd90u19, ahk_id%id% return } } ; Click raise instead then. ControlFocus, AfxWnd90u20, ahk_id%id% Sleep, -1 ControlClick, AfxWnd90u20, ahk_id%id% ; Raise. } } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 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, , AfxWnd90u24, ahk_id%id% if (v) { ControlFocus, AfxWnd90u24, ahk_id%id% Sleep, -1 ControlClick, AfxWnd90u24, ahk_id%id% return } ; Fold checkbox. ControlGet, v, Visible, , AfxWnd90u23, ahk_id%id% if (v) { ControlFocus, AfxWnd90u23, ahk_id%id% Sleep, -1 ControlClick, AfxWnd90u23, ahk_id%id% return } ; Lets see if we can see the check button. ControlGet, v, Visible, , AfxWnd90u19, ahk_id%id% if (v) { ControlGetText, text, AfxWnd90u19, ahk_id%id% IfInString, text, Check { ControlFocus, AfxWnd90u19, ahk_id%id% Sleep, -1 ControlClick, AfxWnd90u19, ahk_id%id% return } } ; Lets try for fold then. ControlGet, v, Visible, , AfxWnd90u18, ahk_id%id% if (v) { ControlFocus, AfxWnd90u18, ahk_id%id% Sleep, -1 ControlClick, AfxWnd90u18, ahk_id%id% } } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Removes any comma in number and returns the result. ; ### JUK: Now tries to remove any european style decimal seperators too. RemoveCommaInNumber(n) { ; This should remove any spaces in the number. StringReplace, n, n, %A_Space%,, All If (InStr(n, ".") <> 0) { n := n*1000 } If (InStr(n, ",") <> 0) { StringReplace, n, n, `,, . n := n*1000 } return n } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; AlterAmount(id, dir="",IncrementHalfBigBet=1) { WinGetTitle, title, ahk_id%id% amount := 0 ; Get the current BB amount. if (InStr(title, "NL") <> 0 AND (InStr(title, "Buy-in") <> 0 OR InStr(title, "Table #") <> 0)) { ; ### Fixed the problem where empire stopped working sometimes. ### ControlGetText, text, Static5, ahk_id%id% IfNotInString, text, Blinds ControlGetText, text, Static6, ahk_id%id% IfNotInString, text, Blinds ControlGetText, text, Static7, ahk_id%id% ; msgbox, %text% 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 } bb := RemoveCommaInNumber(bb) ; msgbox, %bb% } ; Do we want to increment by a whole or a half BB? if (IncrementHalfBigBet = 1) amount := bb / 2 else amount := bb if (dir="down") { amount := amount - (2*amount) } ; Get the text and turn back into a number without commas (eg: 1,000 -> 1000). ControlGetText, t, Edit2, ahk_id%id% t := RemoveCommaInNumber(t) ;msgbox, %t% t := t + amount if (t < 0) { t := 0 } ; Lets round to 0dp. t := Round(t, 0) ; Alter the edit-box. ControlSetText, Edit2, %t%, ahk_id%id% ;WinSet, Redraw,, ahk_id%id% } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Opens the given table. OpenTable(TableName) { ; Lets see if the Party lobby is up? WinGet, lobby_id, ID, PartyPoker.com: Poker Lobby ; Lets try and get the Empire lobby then. if (not lobby_id) WinGet, lobby_id, ID, EmpirePoker.com: Poker Lobby if (lobby_id) { ;___ Now we want to focus that table in the PartyListView gosub, FocusLooby ; Set the focus to the topmost row. ControlFocus, SysListView321, ahk_id%lobby_id% ;set focus to the ListView ControlGet, count, List, Count, SysListView321, ahk_id%lobby_id% ;____used below to break if we reach the end of the list before we find 10 tables ControlGet, focused, List, Count Focused, SysListView321, ahk_id%lobby_id% ;____we want to select the topmost row, ; Set the focus to the top of the listview. ControlSend, SysListView321, {HOME}, ahk_id%lobby_id% ; Open the tables. Loop { ; Save the index. ListIndex = %a_index% ControlGet, Row, List, Focused, SysListView321, ahk_id%lobby_id% Loop, Parse, Row, %A_Tab% ; Fields (columns) in each row are delimited by tabs (A_Tab). { ; Is this the table we want to open? if (A_Index = 1) { if (InStr(A_LoopField,TableName)) { ControlClick, Open Table(s), ahk_id%lobby_id% return } } ; Have we run out of "Registering" tables to check? if (A_Index = 6) { if (A_LoopField = "Registering") Found := Found + 1 else return } } ControlSend, SysListView321, {DOWN}, ahk_id%lobby_id% ;_____move to the next table ; Have we gone past the end of the list? if (ListIndex > count) break } } } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; FocusLooby: WinGet, lobby_id, ID, PartyPoker.com: Poker Lobby if (lobby_id) { WinActivate, ahk_id%lobby_id% WinwaitActive, ahk_id%lobby_id%, , 3 ; @@@ v1.18d: Now exits after 3 seconds to prevent deadlock! @@@ ControlFocus, SysListView321, ahk_id%lobby_id% Sleep, -1 ControlClick, SysListView321, ahk_id%lobby_id% return } WinGet, lobby_id, ID, EmpirePoker.com: Poker Lobby if (lobby_id) { WinActivate, ahk_id%lobby_id% WinwaitActive, ahk_id%lobby_id%, , 3 ; @@@ v1.18d: Now exits after 3 seconds to prevent deadlock! @@@ ControlFocus, SysListView321, ahk_id%lobby_id% Sleep, -1 ControlClick, SysListView321, ahk_id%lobby_id% } return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; This function will update the integrated list of SNGs. AutoUpdateSNGList: ; Depends on if we have Party or empire loaded. WinGet, id, ID, EmpirePoker.com: Poker Lobby if (id) ControlGet, List, List, , SysListView321, EmpirePoker.com: Poker Lobby else ControlGet, List, List, , SysListView321, PartyPoker.com: Poker Lobby ; Clear it ready to start again. LV_Delete() RowNumber := 1 Loop, Parse, List, `n ; Rows are delimited by linefeeds (`n). { ; See if we find what we are looking for. Found := 0 Loop, Parse, A_LoopField, %A_Tab% { ; Now check it's the correct type. if (A_Index = 1) { if ((FilterTurbo=1 AND InStr(A_LoopField, "Turbo")<>0) OR (FilterSpeed=1 AND InStr(A_LoopField, "Speed")<>0) OR (FilterNormal=1 AND InStr(A_LoopField, "Table") <> 0)) { if (InStr(A_LoopField, "Double") = 0) Found := Found + 1 else break } else break } if (A_Index = 3) { if (A_LoopField = "NL Hold'em") Found := Found + 1 else break } if (A_Index = 5) { if (A_LoopField <> "10/10") { if (Filter0=1) Found := Found + 1 else if (Filter1=1 AND A_LoopField <> "0/10") Found := Found + 1 else if (Filter2=1 AND A_LoopField <> "0/10" AND A_LoopField <> "1/10") Found := Found + 1 else break } else break } if (A_Index = 6) { if (A_LoopField = "Registering") Found := Found + 1 else break } } if (Found <> 4) continue ; See if the table is open allready. Found := 0 Loop, Parse, A_LoopField, %A_Tab% { ; Now check it's the correct type. if (A_Index = 1) { if (InStr(A_LoopField, "Speed ") <> 0 OR InStr(A_LoopField, "Turbo ") <> 0 OR InStr(A_LoopField, "Table ") <> 0) IfWinNotExist, %A_LoopField% { Found := 1 break } } } if (Found <> 1) continue LV_Add(RowNumber) Loop, Parse, A_LoopField, %A_Tab% ; Fields (columns) in each row are delimited by tabs (A_Tab). { LV_Modify(RowNumber, "Col"A_Index , A_LoopField) } RowNumber := RowNumber + 1 } if (RowNumber > 1) LV_ModifyCol() ; Auto-size each column to fit its contents. return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Call this to make sure we never open a non-speed NL or DoN table by accident. AutoCloseNonNLHEAndDoN: 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% if (InStr(name, "Tournament Buy-in") = 0) { if (InStr(name, "Buy-in") <> 0 AND (InStr(name, "NL") = 0 OR InStr(name, "Hold'em") = 0 OR InStr(name, "Double") <> 0)) WinClose, ahk_id%this_id% } } } return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Call this to hide both the amount displayed in the cashier bar and the amount displayed in the buy-in dialog. ; NOTE: We need to both hide IE and Firefox contraols now as it will depend of the user's default web browser setting. AutoHideBalance: ; Lets try and get rid of the Party cashier bar (IE). LobbyWindowTitle = PartyPoker.com: Poker Lobby ; identify poker lobby substring. WinGet, lobbyID, ID, %LobbyWindowTitle% ControlGet, v, Visible, , Internet Explorer_Server1, ahk_id%lobbyID% if (v) { Control, Hide, , Internet Explorer_Server1, ahk_id%lobbyID% Sleep, -1 WinSet, Redraw, , ahk_id%lobbyID% } ; Lets try and get rid of the Party cashier bar (Firefox). LobbyWindowTitle = PartyPoker.com: Poker Lobby ; identify poker lobby substring. WinGet, lobbyID, ID, %LobbyWindowTitle% ControlGet, v, Visible, , MozillaWindowClass4, ahk_id%lobbyID% if (v) { Control, Hide, , MozillaWindowClass4, ahk_id%lobbyID% Sleep, -1 WinSet, Redraw, , ahk_id%lobbyID% } ; Lets try and get rid of the Empire cashier bar (IE). LobbyWindowTitle = EmpirePoker.com: Poker Lobby ; identify poker lobby substring. WinGet, lobbyID, ID, %LobbyWindowTitle% ControlGet, v, Visible, , Internet Explorer_Server1, ahk_id%lobbyID% if (v) { Control, Hide, , Internet Explorer_Server1, ahk_id%lobbyID% Sleep, -1 WinSet, Redraw, , ahk_id%lobbyID% } ; Lets try and get rid of the Empire cashier bar (Firefox). LobbyWindowTitle = EmpirePoker.com: Poker Lobby ; identify poker lobby substring. WinGet, lobbyID, ID, %LobbyWindowTitle% ControlGet, v, Visible, , MozillaWindowClass4, ahk_id%lobbyID% if (v) { Control, Hide, , MozillaWindowClass4, ahk_id%lobbyID% Sleep, -1 WinSet, Redraw, , ahk_id%lobbyID% } ; Lets also hide our current balance on the buy-in screen. IfWinExist, ahk_class #32770, Tournament Buy-in { WinGet, idList, List, ahk_class #32770, Tournament Buy-in Loop, %idList% { winID := idList%a_index% ControlGet, v, Visible, , Static26, ahk_id%winID% if (v) { Control, Hide, , Static26, ahk_id%winID% Sleep, -1 WinSet, Redraw, , ahk_id%lobbyID% } ControlGet, v, Visible, , Static2, ahk_id%winID% if (v) { Control, Hide, , Static2, ahk_id%winID% Sleep, -1 WinSet, Redraw, , ahk_id%lobbyID% } } } return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Call this to close all the running SNGs we are not sitting in. ; ### v1.17: Have reverted to the old code as the new code didn't work 100% and sometimes tried to close wrong table. ; ### v1.18: Had to change "This Hand" to "This hand" and "Auto Post Blind" to "Auto-post blind" to get working after the 23/09/08 update. ; ### v1.19b: Had to changed "This hand" to "# " to fix after the 11/08/09 update. ; ### v1.19c: Had use an intermediary variable to match the "# " string against. AutoCloseFinished: MatchString := "# " WinClose, ahk_class #32770, %MatchString%, , HH , Auto-post blind IfWinExist, ahk_class #32770, will not be refunded and your blinds will continue to be posted { WinGet, idList, List, ahk_class #32770, will not be refunded and your blinds will continue to be posted Loop, %idList% { winID := idList%a_index% ControlSend, Button2, {ESC}, ahk_id%winID% ; Click Cancel always. } } return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Call this to make sure we never end up sitting out. AutoSitBackIn: 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% { ; Lets see if we can see the check button. ControlGet, v, Visible, , AfxWnd90u18, ahk_id%this_id% if (v) { ControlGetText, text, AfxWnd90u18, ahk_id%this_id% IfInString, text, I am Back { ControlFocus, AfxWnd90u18, ahk_id%this_id% Sleep, -1 ControlClick, AfxWnd90u18, ahk_id%this_id% } } } } return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Call this to make sure all chat boxes are hidden. AutoHideChatAndButtons: 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% { ; Lets see if we can see the chat box. ControlGet, v, Visible, , RichEdit20W1, ahk_id%this_id% if (v) Control, Hide, , RichEdit20W1, ahk_id%this_id% ; Lets see if we can see the combo box. ControlGet, v, Visible, , ComboBox1, ahk_id%this_id% if (v) Control, Hide, , ComboBox1, ahk_id%this_id% ; Lets see if we can see the Edit box. ControlGet, v, Visible, , Edit1, ahk_id%this_id% if (v) Control, Hide, , Edit1, ahk_id%this_id% ; Lets hide the useless "Cashier","Lobby" and "Leave Table" buttons. ControlGet, v, Visible, , AfxWnd90u2, ahk_id%this_id% if (v) Control, Hide, , AfxWnd90u2, ahk_id%this_id% ControlGet, v, Visible, , AfxWnd90u3, ahk_id%this_id% if (v) Control, Hide, , AfxWnd90u3, ahk_id%this_id% ControlGet, v, Visible, , AfxWnd90u4, ahk_id%this_id% if (v) Control, Hide, , AfxWnd90u4, ahk_id%this_id% ; Lets hide to useless trophy button (this can cause button number reordering if clicked by accident). ;ControlGet, v, Visible, , AfxWnd90u1, ahk_id%this_id% ;if (v) ; Control, Hide, , AfxWnd90u1, ahk_id%this_id% } } return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; This is used to quickly leave a SNG that hasn't started yet. AutoQuickLeaveTable: IfWinExist, ahk_class #32770, If you leave now, your tournament buy-in will be refunded to you. { WinGet, idList, List, ahk_class #32770, If you leave now, your tournament buy-in will be refunded to you. Loop, %idList% { winID := idList%a_index% ControlSend, Button1, {SPACE}, ahk_id%winID% } } return ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Pass in 16 or 32 to set the BPP for all monitors. SetBPP(BPP) { ; Loop through each display device and if it is a real monitor change it's state. Loop { if ! EnumDisplayDevices(A_Index, DeviceName, StateFlags) break if (StateFlags & 4) { RetVal:=ChangeDisplaySettingsEx( DeviceName, BPP, -1, -1, -1 ) ; Primary device. ;MsgBox, Returned: %RetVal% } else if (StateFlags & 1) { RetVal:=ChangeDisplaySettingsEx( DeviceName, BPP, -1, -1, -1 ) ; The desktop extends onto this device. ;MsgBox, Returned: %RetVal% } } } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; DllCall wrapper for calls to EnumDisplayDevices(). EnumDisplayDevices(Index, ByRef DeviceName, ByRef StateFlags="", ByRef DeviceKey="") { ; DISPLAY_DEVICE DisplayDevice VarSetCapacity(DisplayDevice, 424) ; lpDisplayDevice.cb := sizeof(DISPLAY_DEVICE) NumPut(424, DisplayDevice, 0) VarSetCapacity(DeviceName, 32, 0) VarSetCapacity(DeviceKey, 128, 0) ; For consistency, clear StateFlags in case of failure. StateFlags = 0 if ! DllCall("EnumDisplayDevices" , "UInt", 0 , "UInt", Index-1 , "UInt", &DisplayDevice , "UInt", 0) return false StateFlags := NumGet(DisplayDevice, 164) DllCall("lstrcpynA", "Str", DeviceName, "UInt", &DisplayDevice+4, "int", 32) DllCall("lstrcpynA", "Str", DeviceKey, "UInt", &DisplayDevice+296, "int", 128) if (SubStr(DeviceKey,1,18)="RegistryMachine") DeviceKey := SubStr(DeviceKey,19) return true } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; DllCall wrapper for calls to ChangeDisplaySettingsEx(). ; NOTE: Pass in -1 for any value you don't wish to alter. ChangeDisplaySettingsEx(DeviceName, cD, sW, sH, rR) { ; Lets get a copy of the DEVMODE struct. VarSetCapacity(dM,156,0), NumPut(156,2,&dM,36) DllCall( "EnumDisplaySettings", UInt,0, UInt,-1, UInt,&dM) ; Lets work out which device settings we want to change. BitString:=0 if (cD!=-1) { BitString|=0x040000 ; DM_BITSPERPEL NumPut(cD,dM,104) } if (sW!=-1 && sH!=-1) { BitString|=0x080000 ; DM_PELSWIDTH BitString|=0x100000 ; DM_PELSHEIGHT NumPut(sW,dM,108) NumPut(sH,dM,112) } if (rR!=-1) { BitString|=0x400000 ; DM_DISPLAYFREQUENCY NumPut(rR,dM,120) } NumPut(BitString,dM,40) ; Lets alter it then. ; NOTE: dwflags needs to be set to CDS_UPDATEREGISTRY (1) for this to change perminantly. Return DllCall( "ChangeDisplaySettingsEx", Str, DeviceName, UInt,&dM, UInt,0, UInt,1, UInt,0) } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; This subroutine is called automatically when the script exits for any reason. ExitSub: if (AutoSwitch16bitColour = 1) SetBPP(32) ; Set BPP back to using 32bit colour. ExitApp ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      hab in der Version 1.24 das push-dingengs (ziemlich genau in der Mitte des Skriptes) ersetzt
    • Tombery
      Tombery
      Bronze
      Dabei seit: 05.12.2006 Beiträge: 3.262
      danke fürs posten , das prob ist nur, das ist ja jetzt alles in ewig langen zeilen und wenn die zeilenumbrüche nicht stimmen läuft das ding net :/
      wie könnt ich das mit den zeilenumbrüchen hinkriegen ? jemand ne idee?
    • Annuit20
      Annuit20
      Bronze
      Dabei seit: 14.09.2007 Beiträge: 9.225
      Ich uppe dir das script morgen, wenns noch keiner gemacht hat.
    • Tombery
      Tombery
      Bronze
      Dabei seit: 05.12.2006 Beiträge: 3.262
      thx a lot
    • Annuit20
      Annuit20
      Bronze
      Dabei seit: 14.09.2007 Beiträge: 9.225
      Hi,

      Check/Fold habe ich erfolgreich integriert, aber sonst funktioniert eigentlich nichts^^
      jukofyork wird heute eine überarbeitet Version posten, ich würde vorschlagen
      lieber solange mit dem Script zu warten.

      Gruß
    • Morrus
      Morrus
      Black
      Dabei seit: 12.10.2006 Beiträge: 1.204
      Ich weiß nicht, ob mittlerweile alles klar ist, aber ich habe einfach die

      Push(id, AutoBet=0) - Funktion durch die neue von juk in post 331 gepostete ersetzt und es funktioniert einwandfrei.
    • Tombery
      Tombery
      Bronze
      Dabei seit: 05.12.2006 Beiträge: 3.262
      Original von Morrus
      Ich weiß nicht, ob mittlerweile alles klar ist, aber ich habe einfach die

      Push(id, AutoBet=0) - Funktion durch die neue von juk in post 331 gepostete ersetzt und es funktioniert einwandfrei.
      in die 1.22 oder die 1.24 version?
      jetzt mit beiden versucht und es will net -.-

      ich hab im 1.24er das hier stehen :

      ; Middle mouse click = push all-in.
      ~MButton::
      if (EnableMouseAndKBStuff)
      Push(getid(),AutoBet)
      return



      was davon lösch ich ? und füg ich dann komplett :

      Push(id, AutoBet=0)
      {
      SendMessage TBM_SETPOS := 0x405, 1, 10000, msctls_trackbar321, ahk_id%id%
      ControlSend, msctls_trackbar321, {Right}, ahk_id%id%
      Sleep -1
      Sleep 50
      WinSet, Redraw,, ahk_id%id%

      ; Do we want to press the raise button too?
      If(AutoBet)
      {
      ; Lets see if we can see the "Raise X (All-In)" button.
      ControlGet, v, Visible, , AfxWnd90u20, ahk_id%id%
      if (v)
      {
      ControlGetText, text, AfxWnd90u20, ahk_id%id%
      IfInString, text, All-In
      {
      ControlFocus, AfxWnd90u20, ahk_id%id%
      Sleep, -1
      ControlClick, AfxWnd90u20, ahk_id%id%
      return
      }
      }

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

      }

      }

      das alles ein ?
    • Tombery
      Tombery
      Bronze
      Dabei seit: 05.12.2006 Beiträge: 3.262
      Original von Tombery
      Original von Morrus
      Ich weiß nicht, ob mittlerweile alles klar ist, aber ich habe einfach die

      Push(id, AutoBet=0) - Funktion durch die neue von juk in post 331 gepostete ersetzt und es funktioniert einwandfrei.
      in die 1.22 oder die 1.24 version?
      jetzt mit beiden versucht und es will net -.-

      ich hab im 1.24er das hier stehen :

      ; Middle mouse click = push all-in.
      ~MButton::
      if (EnableMouseAndKBStuff)
      Push(getid(),AutoBet)
      return



      was davon lösch ich ? und füg ich dann komplett :

      Push(id, AutoBet=0)
      {
      SendMessage TBM_SETPOS := 0x405, 1, 10000, msctls_trackbar321, ahk_id%id%
      ControlSend, msctls_trackbar321, {Right}, ahk_id%id%
      Sleep -1
      Sleep 50
      WinSet, Redraw,, ahk_id%id%

      ; Do we want to press the raise button too?
      If(AutoBet)
      {
      ; Lets see if we can see the "Raise X (All-In)" button.
      ControlGet, v, Visible, , AfxWnd90u20, ahk_id%id%
      if (v)
      {
      ControlGetText, text, AfxWnd90u20, ahk_id%id%
      IfInString, text, All-In
      {
      ControlFocus, AfxWnd90u20, ahk_id%id%
      Sleep, -1
      ControlClick, AfxWnd90u20, ahk_id%id%
      return
      }
      }

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

      }

      }

      das alles ein ?
      in beiden versionen lässt sich das skript garnet erst öffnen, wenn ichs so mach
    • Annuit20
      Annuit20
      Bronze
      Dabei seit: 14.09.2007 Beiträge: 9.225
      Danke an Morrus fürs schicken :)

      Hab dir das Script wie versprochen geuppt

      http://www.share-online.biz/dl/THK8KAXLBBM

      Gruß
    • Tombery
      Tombery
      Bronze
      Dabei seit: 05.12.2006 Beiträge: 3.262
      danke morrus, danke annuit
      die version läuft :)
    • paraaa
      paraaa
      Bronze
      Dabei seit: 06.10.2007 Beiträge: 117
      Ich bin erst seit heute bei PP und wollte das tool auch mal testen. Das Problem ist allerdings, dass die Befehle per Maus nicht funktionieren. Ich hab das script geöffnet und alle Einstellungen vorgenommen. Aber im Script wird auch nicht der Tisch angezeigt an dem ich sitze...
    • Morrus
      Morrus
      Black
      Dabei seit: 12.10.2006 Beiträge: 1.204
      Jo, sry hab den thread total vergessen. Aber jetzt könnt ihr das funktioniernde Skript ja dank Annuit runterladen.

      @paraaa:
      Nutz du auch das alte layout? Das muss man glaube ich für das Skript. Und das Skript sollte doch gar nicht den Tisch anzeigen an dem du sitzt. Verstehe nicht ganz was du da meinst?