Two Plus Two Newer Archives  

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

Reply
 
Thread Tools Display Modes
  #1  
Old 02-17-2006, 05:13 PM
Roland Roland is offline
Senior Member
 
Join Date: Mar 2005
Location: Norwich, UK
Posts: 2,703
Default MiniLobby V2

Here we go again:





(The Lobby is bigger that the Seat Available window obviously).

Instructions:

You’ll have to edit some images for this one. First, edit the image “background_client”. I use some old table mod, but you can use whatever you like.
Then edit these two: “client_gradient” and “client_top”. They are part of the background, so the easiest way to do it is just open them in Paint or whatever and than paste the images you used for the background on top of the default image: Then select “save as…” and confirm you want to overwrite.
Next, you’ll have to edit the filter buttons. I just use the same filter button for everything (that way I only had to “make” one). Just experiment a bit - all that matters is that it’s short enough. Keep in mind that Party uses one half of it for “open” and the other for “closed”.
That was the “hard” part.
Now, resize these to one pixel:

bulletin_background
filters_background_normal
tab_background
tab_description
tab_game_info
tab_players
tab_players_right
tab_tournament_info
tree_main_background
box_corners

And that’s it.

You can use these two lines of code to make a backup copy before you start:

FileSelectFolder, ImageFolder, C:\Programs\PartyGaming\PartyPoker\Images, , Select the Images Folder:
FileCopyDir, %ImageFolder%, %ImageFolder%\MiniLobbyBackup

Remarks:

I had to do a few things differently for technical reasons.
[*]The menu bar buttons freeze up when moved and don’t react to mouse-clicks. They do, however, react to ControlClick, so I assigned a hotkey (Alt-m) to the “Options and Rules” menu (or whatever it’s called). I don’t think I’ll ever use any of the other menus while playing, so there’s no way to acces them. If somebody wants me to I can change that though.[*]Likewise, the buttons game info buttons were causing trouble, so they too got a hotkey (Alt-i). It will toggle between seated players and info.
[*]As you can see from the pic, I managed to display the average pot size on in the Seat Available window. I just wrote this and tested it only pro forma so I wouldn’t be surprised if there are bugs (that’s true for the rest also btw). For this to work, you ListView in the lobby has to be displaying the limit of the table you’ve just gotten a seat at (though the lobby can be minimzed).
[*]The columns for Stud and Omaha will be auto-resized when necessary (because the avg. pot column was beeing pushed aside).
[*]I’m sure I’ve forgotten something.

Finally, to use this you
[*]download AHK here . It’s free. [*]copy the code below into an editor of your choice (no line wrapping please) and save it as .ahk; then double-click the icon

Sorry the code is such a mess.

I hope Party’s taking screenshots. [img]/images/graemlins/laugh.gif[/img]


;___________________MiniLobby V2__________________________________

; AutoHotkey Version: 1.0.41.02
; Platform: WinXP
; Author: Roland

ControlList = Internet Explorer_Server1,Internet Explorer_Server2, Internet Explorer_Server3
,Shell DocObject View2,Internet Explorer_Server4,Shell DocObject View4,Shell Embedding5
,AfxWnd4213,AfxWnd4264,AfxWnd4261,AfxWnd4262,AfxWn d4263,AfxWnd423,AfxWnd424
,Shell DocObject View1,Shell Embedding2,Shell Embedding3,Static6,AfxWnd425,AfxWnd426
,Static5,AfxWnd4211,AfxWnd421,AfxWnd422,Static1,Af xWnd4212,AfxWnd4213
,AfxWnd4217,AfxWnd4267,AfxWnd4268,AfxWnd4269,AfxWn d4271,AfxWnd4272,AfxWnd4273
,AfxWnd4212,AfxWnd4210,Static7,Static8


WinWait, PartyPoker.com: Poker Lobby ;_____script will keep waiting until you start Party
WinGet, lobby_id, ID, PartyPoker.com: Poker Lobby

;______move the controls out of sight and resize them to one pixel:
Loop, Parse, ControlList, `,
{
ControlMove, %a_loopfield%, 1000, 1000, 1, 1, ahk_id%lobby_id%
}

;______move some controls around:

ControlMove, #327701, 0, 0, 1000, 1000, ahk_id%lobby_id%
ControlMove, SysListView321, 7, 30, , 145, ahk_id%lobby_id%
ControlMove, AfxWnd4270, 7, 30, 1, 1, ahk_id%lobby_id%
ControlGetPos, , , , h, SysListView322, ahk_id%lobby_id%
h := h - 18
ControlMove, SysTreeView321, 7, 180, 165, %h%, ahk_id%lobby_id%
ControlMove, SysListView322, 177, 180, , , ahk_id%lobby_id%
ControlMove, SysListView323, 177, 180, , , ahk_id%lobby_id%
y := h + 5 + 180
ControlMove, AfxWnd4214, 177, %y%, , , ahk_id%lobby_id%
ControlMove, AfxWnd4215, 177, %y%, , , ahk_id%lobby_id%
ControlMove, AfxWnd4218, 177, %y%, , , ahk_id%lobby_id%
ControlMove, AfxWnd4219, 295, %y%, , , ahk_id%lobby_id%
ControlMove, AfxWnd427, 7, %y%, , , ahk_id%lobby_id%
ControlGetPos, , , w, h, AfxWnd428, ahk_id%lobby_id%
x := 7 + w + 2
ControlMove, AfxWnd428, %x%, %y%, , , ahk_id%lobby_id%
x := 7 + w*2 + 4
ControlMove, AfxWnd429, %x%, %y%, , , ahk_id%lobby_id%
ControlGetPos, , y, , h, AfxWnd4214, ahk_id%lobby_id%
ControlGetPos, , , w, , SysListView321, ahk_id%lobby_id%
w := w + 14
h := y + h + 7
WinMove, PartyPoker.com, , , , %w%, %h%
ControlGetPos, SysListView322, , y, w, h, ahk_id%lobby_id%
SendMessage, 4126, 0, 0, SysListView322, ahk_id%lobby_id%
SendMessage, 4126, 1, 95, SysListView322, ahk_id%lobby_id%
SendMessage, 4126, 2, 35, SysListView322, ahk_id%lobby_id%
SendMessage, 4126, 0, 55, SysListView323, ahk_id%lobby_id%
SendMessage, 4126, 1, 75, SysListView323, ahk_id%lobby_id%
ControlMove, SysListView322, , , 130, %h%, ahk_id%lobby_id%
ControlMove, AfxWnd4221, 312, 180, , , ahk_id%lobby_id%
ControlMove, AfxWnd4222, 312, 180, , , ahk_id%lobby_id%
ControlMove, AfxWnd4225, 312, 180, , , ahk_id%lobby_id%
ControlMove, AfxWnd4226, 312, 180, , , ahk_id%lobby_id%
ControlMove, SysListView323, , , 130, %h%, ahk_id%lobby_id%

;_____set timers:

SetTimer, ResizeColumns, 1000
SetTimer, ShowAvg, 1000
return

;__________end fo auto-execute section____________

;_____Hotkeys:


!m::
ControlClick, AfxWnd4270, ahk_id%lobby_id%
return

!i::
ControlGet, is_vis, Visible, , SysListView322, ahk_id%lobby_id%
If is_vis = 1
ControlClick, AfxWnd4212, ahk_id%lobby_id%
else
ControlClick, AfxWnd4211, ahk_id%lobby_id%
return

;______Subroutines:

ResizeColumns:
ControlGet, limit, List, Col2, SysListView321, ahk_id%lobby_id%
StringGetPos, pos_linefeed, limit, `n
StringLeft, limit, limit, %pos_linefeed%
ControlGet, is_stud, List, Col3, SysListView321, ahk_id%lobby_id%
type1 = Stud
type2 = Omaha
If (InStr(is_stud, type1) <> 0 OR InStr(is_stud, type2) <> 0)
{
game_type = stud
If limit <> %limit_prev%
{
SendMessage, 4126, 2, 0, SysListView321, ahk_id%lobby_id%
SendMessage, 4126, 6, 110, SysListView321, ahk_id%lobby_id%
limit_prev = %limit%
}
}
return


ShowAvg:
IfWinNotExist, Seat Available
id_list =
else
{
WinGet, id, List, Seat Available
Loop, %id%
{
StringTrimRight, this_id, id%a_index%, 0
If this_id in %id_list%
continue
id_list = %id_list%,%this_id%
target = %this_id%
ControlGetText, waitlist_dialog_text, Static1, ahk_id%target%
StringGetPos, pos_on, waitlist_dialog_text, on
StringGetPos, pos_brace, waitlist_dialog_text, (
pos_name := pos_on + 3
name_len := pos_brace - (pos_on + 2)
StringMid, table_name, waitlist_dialog_text, pos_name, %name_len%
ControlGet, list, list, Col1, SysListView321, ahk_id%lobby_id%
pos_name := pos_name - 8
StringTrimLeft, waitlist_dialog_text, waitlist_dialog_text, 36
StringTrimLeft, table_name, table_name, 1
Loop, Parse, list, `n
{
IfInString, A_LoopField, %table_name%
{
If game_type = stud
column = 7
else
column = 6
ControlGet, pot_size, list, Col%column% Row%A_index%, SysListView321, ahk_id%lobby_id%
num_linefeed := A_Index - 1
StringGetPos, pos_linefeed, pot_size, `n, L%num_linefeed%
pos_linefeed++
StringTrimLeft, pot_size, pot_size, %pos_linefeed%
StringGetPos, pos_linefeed, pot_size, `n, L
StringLeft, pot_size, pot_size, %pos_linefeed%
ControlSetText, Button1, %pot_size%, ahk_id%target%
break
}
}
}
}
return

;_____end of code
Reply With Quote
  #2  
Old 02-20-2006, 06:18 PM
pif pif is offline
Senior Member
 
Join Date: Feb 2005
Location: israel
Posts: 106
Default tnx!!! u saved me :). question:

Is there any way to change the font size in the table lists?
Reply With Quote
  #3  
Old 02-21-2006, 02:24 AM
pif pif is offline
Senior Member
 
Join Date: Feb 2005
Location: israel
Posts: 106
Default Re: MiniLobby V2

I read ur replay in "sam code..."

in heneral i dont understand why u say that im the only user of ur script.
What others do? they use other script, or dont use script at all?

About the seat avaliable thing. yes, the avg pot size is great. but maybe u can add more info, like "AvgPotSize,Hands/Hour,NumberOfPlayers" together in the button? [img]/images/graemlins/smirk.gif[/img]

tnx
pif
Reply With Quote
  #4  
Old 02-21-2006, 06:59 AM
pif pif is offline
Senior Member
 
Join Date: Feb 2005
Location: israel
Posts: 106
Default other proposal

what u say about this idea:
to save all those mouse clickings on buttons during the game, maybe u can write a small script that auto click on button if i hold the mouse pointer over it for more then 1 or 2 sec.
after the autoclick, move the mouse above the button (to prevent reclick in new turn).
u need to assure that u click on button and not on premove chkbox.
is it going to work?

another idea:
can u auto queue the order of tables to action sequence and bring the mouse to the next table after the prev action as finishd?
in this way after u made decision, u put the mouse above the desire button for the autoclick (it takes 1-2 sec to click), and meanwhile u go to the next table (we need some sign to know what is the next). after autoclick u automove the mouse pointer to the nexttable.

what u say?
(pressing on shift will temporarly igonre this, and capslock=on will ignore permanently)
Reply With Quote
  #5  
Old 02-21-2006, 07:01 AM
pif pif is offline
Senior Member
 
Join Date: Feb 2005
Location: israel
Posts: 106
Default another question: resize

is there anyway to manual resize the tables screen to specific size, meaning that every table i open will open in this size.

?
Reply With Quote
  #6  
Old 02-21-2006, 09:14 AM
Roland Roland is offline
Senior Member
 
Join Date: Mar 2005
Location: Norwich, UK
Posts: 2,703
Default Re: another question: resize

[ QUOTE ]
is there anyway to manual resize the tables screen to specific size, meaning that every table i open will open in this size.

?

[/ QUOTE ]

Yep - do a search for PartyPlanner. [img]/images/graemlins/smile.gif[/img]
Reply With Quote
  #7  
Old 02-23-2006, 05:32 PM
Roland Roland is offline
Senior Member
 
Join Date: Mar 2005
Location: Norwich, UK
Posts: 2,703
Default Update

Okay, I did what I should have done the first time around and added lot's of comments. The code is now much more readable and should be easy to modify/use in other scrips/whatever.
I improved the column resizing for Stud/Omaha; I do this better than Party now. [img]/images/graemlins/laugh.gif[/img]
Also added hands/h, since requested.
The instructions for image editing/resizing from version 2 still apply.

I'm gonna edit on OC when I've finished my battle with the Wiki Sandbox [img]/images/graemlins/smile.gif[/img]; or can someone else do it, till I find the time?

Enjoy. [img]/images/graemlins/smile.gif[/img]


;___________________MiniLobby V3__________________________________

; Date: 2006-02-23
; AutoHotkey Version: 1.0.42.03
; Platform: WinXP
; Author: Roland


WinWait, PartyPoker.com: ;_____script will keep waiting until you start Party
WinGet, lobby_id, ID, PartyPoker.com: Poker Lobby ;____retrieve id to use later

;____make a list of all the controls we don't want:

;________these are the "menubar" buttons, excluding the "Game Rules&Options" button
ControlList = AfxWnd4268,AfxWnd4269,AfxWnd4270,AfxWnd4272,AfxWnd 4273,AfxWnd4274
;_______all those announcements, and, most importantly, "My Account"
,Internet Explorer_Server1,Internet Explorer_Server2,Internet Explorer_Server3
;_______the 2 Afx's are New&Events, the Shell Docs are behind the IE servers
,Static6,Static7,Static8,AfxWnd422,AfxWnd423,Shell DocObject View1,Shell DocObject View2
;_______...and the embeddings are behind the shell docs
,Shell DocObject View3,Shell Embedding2,Shell Embedding3,Shell Embedding5
,AfxWnd4211,AfxWnd4214 ;____My Favorites and Open Table

;______move the controls out of sight and resize them to one pixel:
Loop, Parse, ControlList, `,
{
ControlMove, %a_loopfield%, 1000, 1000, 1, 1, ahk_id%lobby_id%
}

;___this is some kind of control that just serves as a background for all the other controls; we need it to cover the entire window:
ControlMove, #327701, 0, 0, 1000, 1000 ;___we can ommit the window title since we're operating on the last found window

;___adjust the position and height of the Listview:
ControlMove, SysListView321, 7, 30, , 145

;___retrieve the height of the player name list...
ControlGetPos, , , , h, SysListView322

;___we want to adjust the height of the TreeView; but we have to alow for the height of the arrow bitmap
;so we use SysGet to retrieve it :
SysGet, h_arrow, 20 ;____20 is SM_CYVSCROLL
h := h - h_arrow - 2 ;apparently it's still not flush... two more pixels...

;___adjust the position and size of the TreeView (5 pixel margin to ListView) and make it the same height as the name list:
ControlMove, SysTreeView321, 7, 180, 165, %h%

;___now move the player name list and adjust it's width (happens to be at the right x-position)
;___(I spent like 3 hours trying to get rid of the scroll bar; stupid me figuring I had to decrease the height
;___actually you have to increase it; (300 is just random))
ControlMove, SysListView322, 177, 180, 130, 300
ControlMove, SysListView323, 177, 180, 130, 300 ;___323 is the same for tourneys

;___and resize the columns:
SendMessage, 4126, 0, 0, SysListView322, ahk_id%lobby_id%
SendMessage, 4126, 1, 95, SysListView322, ahk_id%lobby_id%
SendMessage, 4126, 2, 35, SysListView322, ahk_id%lobby_id%
SendMessage, 4126, 0, 55, SysListView323, ahk_id%lobby_id%
SendMessage, 4126, 1, 75, SysListView323, ahk_id%lobby_id%

;___move the Cash/Tourney/All buttons:
y := 180 + h + 5 ;___y-position of TreeView plus height of TreeView plus margin
ControlMove, AfxWnd428, , %y%
ControlMove, AfxWnd429, , %y%
ControlMove, AfxWnd4210, , %y%

;___move the Join Waitlist/Get off Waitlist buttons:
ControlMove, AfxWnd4215, 177, %y% ;___177 is the position of ListView322/323
ControlMove, AfxWnd4216, 177, %y%

;___... and the Register Now /Tourney Lobby buttons:
ControlMove, AfxWnd4219, 177, %y%
ControlGetPos, , , w, h, AfxWnd4219 ;__height is used for the calculation of the window size later
x := 177 + w + 5 ;___x-position plus width of the first button plus margin
ControlMove, AfxWnd4220, %x%, %y%

;___move the remaining menubar button and resize it to 1 pixel:
ControlMove, AfxWnd4271, 7, 30, 1, 1, ahk_id%lobby_id%

;___move the various filter buttons to their position next to the player list:

ControlMove, AfxWnd4222, 312, 180
ControlMove, AfxWnd4223, 312, 180
ControlMove, AfxWnd4226, 312, 180
ControlMove, AfxWnd4227, 312, 180

;___finally, resize the window:
ControlGetPos, , , w, , SysListView321
h := h + y + 5 ; "h" is the height of the Join Wait list button retrieved above; "y" is it's y-position
w := w + 7 + 7
WinMove, , , , , %w%, %h%

;___this just scrolls down by one line in the TreeView (avoids drawing problems)
SendMessage, 0x115, 1, 0, SysTreeView321

;___set our two timers:
SysGet, scrollbar_w, 2 ;___2 is SM_CXVSCROLL; used to account for the scrollbar when resizing the column
;___the column sizes, excluding the table name column (we change the width depending on the presence of the scrollbar:
column_sizes = 75,0,55,40,50,67
SetTimer, ResizeColumns, 1000
SetTimer, ShowAvg, 100
return

;______________end of auto-execute section___________________


;______________hotkeys:

;____this toggles game info/players; for some reason it works for both tourneys and cash games even thought the controls have different names (?)
!i::
ControlGet, is_vis, Visible, , SysListView322, ahk_id%lobby_id%
If is_vis = 1
ControlClick, AfxWnd4213, ahk_id%lobby_id%
else
ControlClick, AfxWnd4212, ahk_id%lobby_id%
return

!m::
ControlClick, AfxWnd4271, ahk_id%lobby_id%
return

;_____________subroutines:

ResizeColumns:
;____only post our messages if we actually have to (i.e. if the limit has changed); posting those messages every other second might not be a good idea:
ControlGet, limit, List, Col2, SysListView321, ahk_id%lobby_id% ;____could use just the selected row, but might not work for the LobbyControl script I'm writing
StringGetPos, pos_linefeed, limit, `n
StringLeft, limit, limit, %pos_linefeed%
ControlGet, is_stud, List, Col3, SysListView321, ahk_id%lobby_id% ;___only neccessary for stud/omaha
If (((InStr(is_stud, "Stud") <> 0 OR InStr(is_stud, "Omaha") <> 0)) AND (limit <> limit_prev))
{
ControlGet, count, List, Count, SysListView321, ahk_id%lobby_id%
If count < 9
SendMessage, 4126, 0, 135, SysListView321, ahk_id%lobby_id%
else
SendMessage, 4126, 0, 135 - scrollbar_w, SysListView321, ahk_id%lobby_id% ;____Parameters can be expressions, nice!
Loop, Parse, column_sizes, `,
SendMessage, 4126, a_index, a_loopfield, SysListView321, ahk_id%lobby_id%
;___and yeah, I'm anal
limit_prev = %limit%
}
return


ShowAvg:
IfWinNotExist, Seat Available
id_list = ;___probably not neccassary
else
{
WinGet, id, List, Seat Available ;___there could be more than one
Loop, %id%
{
StringTrimRight, this_id, id%a_index%, 0
If this_id in %id_list% ;___to avoid flickering from setting the same text every other second only do it once
continue
id_list = %id_list%,%this_id%
target = %this_id%

;___retrieve the name of the table:
ControlGetText, waitlist_dialog_text, Static1, ahk_id%target%
StringGetPos, pos_on, waitlist_dialog_text, on
StringGetPos, pos_brace, waitlist_dialog_text, (
StringMid, table_name, waitlist_dialog_text, pos_on + 4, pos_brace - (pos_on + 3)

;___look for it in the lobby:
ControlGet, list, list, , SysListView321, ahk_id%lobby_id%
Loop, Parse, list, `n
{
IfInString, a_loopfield, %table_name%
{
;__columns are different for stud/omaha and holdem; we use the current game type from ResizeColumns:
If game_type = stud
tab = 6
else
tab = 5
;___retrieve the pot size:
StringGetPos, pos_tab, a_loopfield, %a_tab%, L%tab%
StringTrimLeft, pot_size, a_loopfield, pos_tab + 1
;__retrieve hands/h:
tab--
StringGetPos, pos_tab, a_loopfield, %a_tab%, L%tab%
StringTrimLeft, hands, a_loopfield, pos_tab + 1
StringTrimRight, hands, hands, StrLen(pot_size)
;___put the info on the buttons:
ControlSetText, Button1, %pot_size%, ahk_id%target%
ControlSetText, Button2, %hands%, ahk_id%target%
break ;___stop parsing the list and move on to the next window (if neccassary)
}
}
}
}
return

;____end of code
Reply With Quote
  #8  
Old 02-21-2006, 09:13 AM
Roland Roland is offline
Senior Member
 
Join Date: Mar 2005
Location: Norwich, UK
Posts: 2,703
Default Re: other proposal

Lol - you're re-inventing the wheel here. [img]/images/graemlins/laugh.gif[/img] Although the "click after two seconds-idea is new I believe. Thing is, this wouldn't be all that easy to do and I suspect it woun't be very functional either. A much better way to reduce the strain of using a mouse is to use the keybord or a joypad instead - do a search for MTH and AHK and you'll discover some interesting stuff, I promise. [img]/images/graemlins/grin.gif[/img]
MTH already does the move cursor to active table - thing btw.
Any other questions, just ask.
Reply With Quote
  #9  
Old 02-21-2006, 05:30 PM
Mogobu The Fool Mogobu The Fool is offline
Senior Member
 
Join Date: Sep 2005
Location: On teh internets.
Posts: 617
Default Re: other proposal

[ QUOTE ]
Lol - you're re-inventing the wheel here. [img]/images/graemlins/laugh.gif[/img] Although the "click after two seconds-idea is new I believe. Thing is, this wouldn't be all that easy to do and I suspect it woun't be very functional either. A much better way to reduce the strain of using a mouse is to use the keybord or a joypad instead. . .

[/ QUOTE ]

Here's a quickie that might help mouse/KB users. . . how about a script that echoes a keypress (like space bar) into a mouseclick? Would that help you, PIF?
Reply With Quote
  #10  
Old 02-22-2006, 06:39 AM
supersub supersub is offline
Member
 
Join Date: Nov 2004
Location: sweden
Posts: 80
Default Re: other proposal

hi,
is it possible for you guys to create the files and post them here so that we can just copy and paste them into the party poker directory? i have no clue what to do, even after reading the instructions. thanks
Reply With Quote
Reply


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

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

Forum Jump


All times are GMT -4. The time now is 04:19 PM.


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