#11
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
Button also moves. You won't be able to tell a difference in any way when you use this script.
|
#12
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
OK, thank you, I'll try it out
Greets. K. |
#13
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
Does something similar or another work-around exist for Full Tilt? I looked but couldn't find. I could try to hack this script, but i'm not sure if i'm up to it...! Since i'm a parasite, i thought i'd ask first. (-:
|
#14
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
I have a little problem with the script, it seems like I'm not seat 0 but seat 1 because the stats are shifted of one seat. Could anyone help me to edit the script please ?
|
#15
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
Reposition the labels once, it should be correct from then on.
|
#16
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
Nice work!
However I multitable with 4 6-max tables and 4 10-max tables. So I will get HH of SH and FR tables. Can I just use the script or won't that work? I don't know anything about Python, however I do know some AutoItv3 and was thinking of coding something like this myself. However I don't know how the Everest HH's work and since I know nothing about Python, I can't make much out of your code. If I have the following HH as an example and my Screenname is "Cusem", how should the HH be adjusted. That all the data of seat 5 (my seat) will become in seat 0? And all the data of seat 6 will become in seat 1? What should the parsedfile look like? [ QUOTE ] <SESSION time="1188253255" tableName="Malabo-0" id="276.35.613" type="ring" money="$" screenName="Cusem" game="hold-em" gametype="no-limit"/> <HAND time="1188253259" id="1997228239" index="0" blinds="$.15/$.25" stakes="$.25/$.25"> <SEAT position="0" name="Empousa" balance="2546"/> <SEAT position="1" name="tjappie81" balance="2385"/> <SEAT position="2" name="@kerstin@" balance="4055"/> <SEAT position="3" name="mathieu07" balance="700"/> <SEAT position="4" name="cornev" balance="1795"/> <SEAT position="5" name="Cusem" balance="2500"/> <SEAT position="6" name="fred3463" balance="5170"/> <SEAT position="7" name="Horstus" balance="2700"/> <SEAT position="8" name="k4l4sh" balance="3010"/> <SEAT position="9" name="Dr-Hugo" balance="1072"/> <DEALER position="0"/> <BLIND position="1" amount="15" penalty="0"/> <BLIND position="2" amount="25" penalty="0"/> <XBLIND position="5"/> <HOLE position="1">--</HOLE> <HOLE position="2">--</HOLE> <HOLE position="3">--</HOLE> <HOLE position="4">--</HOLE> <HOLE position="6">--</HOLE> <HOLE position="7">--</HOLE> <HOLE position="8">--</HOLE> <HOLE position="9">--</HOLE> <HOLE position="0">--</HOLE> <HOLE position="1">--</HOLE> <HOLE position="2">--</HOLE> <HOLE position="3">--</HOLE> <HOLE position="4">--</HOLE> <HOLE position="6">--</HOLE> <HOLE position="7">--</HOLE> <HOLE position="8">--</HOLE> <HOLE position="9">--</HOLE> <HOLE position="0">--</HOLE> <FOLD position="3"/> <FOLD position="4"/> <FOLD position="6"/> <FOLD position="7"/> <BET position="8" amount="25"/> <FOLD position="9"/> <FOLD position="0"/> <BET position="1" amount="10"/> <BET position="2" amount="0"/> <SWEEP rake="0">75</SWEEP> <COMMUNITY>4c, Js, 4d</COMMUNITY> <BET position="1" amount="0"/> <BET position="2" amount="0"/> <BET position="8" amount="25"/> <BET position="1" amount="25"/> <FOLD position="2"/> <SWEEP rake="5">120</SWEEP> <COMMUNITY>10d</COMMUNITY> <BET position="1" amount="100"/> <FOLD position="8"/> <PUSH position="1" amount="100"/> <SWEEP rake="5">120</SWEEP> <XSHOW position="1"/> <WIN position="1" amount="120" pot="0", potAmount="120"/> </HAND> [/ QUOTE ] |
#17
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
Figured it out. I'm not a programmer, so the code isn't very tidy and probably can be much more efficient, but it works.
It is written in AutoITv3 ;testvariables $parsechk = 1 $maxplayers = 10 Opt("TrayIcondebug",1) #include <file.au3> $hh_everestpath = "C:\Program Files (x86)\Everest Poker\history\" $hh_outputpath = "C:\Program Files (x86)\Everest Poker\historyparsed\" $hh_backuppath = "C:\Program Files (x86)\Everest Poker\historyparsed\BackupHH" $parsetimeout = 2500 $search = FileFindFirstFile($hh_everestpath & "*.*") $hh_file = FileFindNextFile($search) $lines = _FileCountLines($hh_everestpath&$hh_file) ;===>>> Get ScreenName $screenname = "" $hh_in = FileOpen($hh_everestpath&$hh_file,0) For $a = 1 to $lines $line = FileReadline($hh_in) $result = StringInStr($line, "screenName", 1, 1) If $result <> 0 Then $screenname = StringMid($line, $result + 12, 45) $stoppos = StringInStr($screenname, Chr(34), 0, 1) $screenname = StringTrimRight($screenname, 44 - $stoppos) EndIf Next FileClose($hh_in) ;===>>> Get Seat Position $offset = 0 $hh_in = FileOpen($hh_everestpath&$hh_file,0) For $a = 1 to $lines $line = FileReadline($hh_in) $result = StringInStr($line, $screenname & Chr(34) & " balance", 1, 1) If $result <> 0 Then $offset = Int(StringMid($line, 19, 1)) EndIf Next FileClose($hh_in) ;===>>> FileParsing $hh_in = FileOpen($hh_everestpath&$hh_file,0) $hh_out = FileOpen($hh_outputpath&$hh_file,1) For $a = 1 to $lines $line = FileReadLine($hh_in) $replace = StringInStr($line, "position=", 1, 1) If $replace <> 0 Then $seat = Int(StringMid($line, $replace + 10, 1)) $seat = $seat - $offset If $seat < 0 Then $seat = $seat + $maxplayers $line = StringReplace($line, $replace + 10, $seat, 1, 1) EndIf FileWriteLine($hh_out, $line) Next FileClose($hh_in) FileClose($hh_out) FileMove($hh_everestpath&$hh_file, $hh_backuppath, 1) |
#18
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
[ QUOTE ]
Hi, If anyone here plays on Everest Poker and uses GameTime+ they probably noticed that you have to move the labels around each time you open a new table, because Everest always places you at the front seat no matter what seat you have. I've created a script to workaround this annoying problem. It's written in Python which you'll need to run the script. Python can be found here: http://www.python.org/download/ What this script does is monitor the HH's Everest Poker produces, converts them to make sure you are always at seat 0 in the handhistory and writes them in a different directory (output_dir) which you can import into PT. There are 3 settings in this script: - everest_dir: this is the directory where Everest Poker places the handhistories, this is usually correct by default. - output_dir: the directory the script outputs the parsed handhistories, make sure this directory exists. - number_of_players: whether you play headsup (2), shorthanded (6) or fullring (10). Save the code of the script to a .py file (e.g. ConvertEverest.py) and doubleclick to run it. It will not output anything on screen but will parse the handhistories every 60 seconds. Just let it run. Make sure PT imports the output_dir and not the everest_dir. Here's the script: <font class="small">Code:</font><hr /><pre>import os, time, re, xml.dom.minidom, xml.parsers.expat ############################### SETTINGS ############################### everest_dir = "C:\Program Files\Everest Poker\history\\" output_dir = "C:\Program Files\Everest Poker\history\processed\\" number_of_players = 6 ############################# / SETTINGS ############################### def ParseFile( filename ): in_file = open( everest_dir + filename, 'rb' ) out_file = open( output_dir + filename, 'wb' ) lines = in_file.readlines() handtext = [ ] for line in lines: handtext.append( line ) if '<SESSION' in line: xmlLine = xml.dom.minidom.parseString( line ) nickname = xmlLine.childNodes[0].getAttribute( 'screenName' ) elif '<HAND' in line: position = { } elif '<SEAT' in line: xmlLine = xml.dom.minidom.parseString( line ) pos = xmlLine.childNodes[0].getAttribute( 'position' ) name = xmlLine.childNodes[0].getAttribute( 'name' ) position[ name ] = pos elif '<DEALER' in line: offset = int( position[ nickname ] ) elif '</HAND>' in line: for l in handtext: try: xmlLine = xml.dom.minidom.parseString( l ) pos = xmlLine.childNodes[0].getAttribute( 'position' ) pos = int(pos) pos = (pos - offset) % number_of_players out_file.write( re.sub( 'position="[0-9]+"', 'position="' + str(pos) + '"', l ) ) except (ValueError, xml.parsers.expat.ExpatError): if '<WIN' in l: pos = int( l[ 17 ] ) pos = (pos - offset) % number_of_players l = l[:17] + str(pos) + l[18:] out_file.write( l ) handtext = [ ] handled = { } while True: files = os.listdir( everest_dir ) for file in files: if re.match( "^[0-9]+\.txt", file ): mtime = os.path.getmtime( everest_dir + file ) if file not in handled: handled[ file ] = 0 if mtime > handled[ file ]: ParseFile( file ) handled[ file ] = mtime time.sleep( 60 )</pre><hr /> I have tested this briefly and it seems to work. Any questions/comments/suggestions are welcome. [/ QUOTE ] Can someone who has this working please give me some help getting it going, it's driving me crazy positioning these every time and I can't get it to go. I installed Python- 2.5.1.msi and then put the script above in a text, I then put my Everest path in, made a "processed" folder and set it to 10 players and then saved it with py on the end . Double clicked the icon and a DOS window opened for a fraction of a second and went away- nothing doing at all from there, please help before I go nuts [img]/images/graemlins/confused.gif[/img] Pretty funky little site other than that [img]/images/graemlins/grin.gif[/img] |
#19
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
Ok, can someone that knows Python let me know if you put the scripts in a text file then? My script looked like continuous text when I pasted it in, not set out like the post. Should I get an icon in the system tray like AHK if it takes off? Anything on this would help, it's brutal setting GT+ up every time.
|
#20
|
|||
|
|||
Re: Fix for GameTime+ on Everest Poker
[ QUOTE ]
Ok, can someone that knows Python let me know if you put the scripts in a text file then? My script looked like continuous text when I pasted it in, not set out like the post. Should I get an icon in the system tray like AHK if it takes off? Anything on this would help, it's brutal setting GT+ up every time. [/ QUOTE ] Run the script in a command prompt (Start > Run > cmd), you should get an error then. There's no icon in system tray, but the black window should remain open. Your problem is probably that the linebreaks didn't go through like you indicated. Make sure if you paste the script in a text editor it looks exactly like it does here. Using an other browser/editor might do the trick. |
|
|