Hallo zusammen
Da ich hier im Forum nirgends ein Thread zur Problemlösung gefunden habe, habe ich nun mal das Vorgehen Step-by-Step zusammengestellt.
Da Pockertracker 3 auf sich warten lässt und es vielleicht Leute gibt die sich PT3 nicht zulegen, vielleicht ganz interessant.
(Evt. gibt es ja Leute die von diesem Tool noch nie was gehört haben..)
Es gibt eine Möglichkeit sich die Stats auf Everest richtig anzeigen zu lassen.
Da leider PAH nicht auf Everest funktioniert, ist man wohl oder übel auf Gametime angewiesen.
Ich habe es selbst getesten und es funktioniert sogar
Also hier die Anleitung:
1. Download und Installation von Gametime+ auf
SourceForge.net: Files
2. Download und Installation von
http://www.python.org/ftp/python/2.5.1/python-2.5.1.msi
3. Windows Editor öffnen und nachstehenden Code reinkopieren und als *.py Datei abspeichern (am besten Verknüpfung auf Desktop)
Code:
import os, time, re, xml.dom.minidom, xml.parsers.expat
############################### SETTINGS ###############################
everest_dir = "C:\Program Files\Everest Poker\history\\"
output_dir = "D:\Poker\Hand Histories\Everest\\"
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 )
4. Oben in der Codemaske muss bei den Settings noch manuell geändert werden:
everest_dir =
"C:\Program Files\Everest Poker\history\\"
Verweis auf die Hauptdatei, in welcher Everest die gespeilten Hände speichert.
output_dir =
"D:\Poker\Hand Histories\Everest\\"
Verweis auf einen leeren und neu erstellten Ordner z.B. Handhistory
number_of_players =
6
Eingabe der Tischgrösse an der man spielt, also 10 für FR oder 6 für SH
5. In Pockertracker muss unter Auto-Import (die Maske die auftaucht wenn man das Everesticon drückt) der Pfad angepasst werden.
Das Programm konvertiert vorgängig die HH's von PT und setzt dich immer auf Platz 0, da wo du von Everest hingesetzt wirst.
(PT auf das Output-Directory umstellen zum Einlesen)
6. Starten von Gametime und dem Hilfsprogramm, nachher Start von Everest.
7. Beim ersten öffnen eines Tisches kann bzw. muss man die Stats noch manuell richtig anordnen, bei jedem weiteren öffnen kommen alle Stats dann richtig. (Werden automatisch gespeichert)
Wichtig: Zuerst einige Hände spielen, damit man den Tisch von Gametime hinzufügen kann.
Somit entfällt schlussendlich das mühsame manuelle zuordnen bei jedem Tisch, was das Multitablen enorm erleichtert.
Somit empfinde ich Gametime als fast gleichwertigen Ersatz für PAH mit dem Unterschied, dass Gametime Freeware ist.