17 декабря 2008 ~ 4 комментария

Как подружить русский TitanPoker и PokerTracker 3

Есть такая замечательная программа PokerTracker 3, которая собирает вашу игровую статистику и позволяет анализировать свою игру, игру противником, следить за банкролом и пр. В общем очень хорошая и нужная программа для игроков в покер. Но есть один неприятный момент. Программа буржуйская, а клиент TitanPoker у меня русский и импортировать из статистику из второго в первое без дополнительных телодвижений не получается.

Проблема в том, что русский Титан названия игр сохраняет тоже по-русски. Т.е. вместо Holdem L (лимитный Холдем), пишет Холдем Л. PokerTracker такого не понимает и ругается.

Как исправить?

Все просто. Есть такая штука, Windows Hosting Script. По умолчанию есть во всех Windows, начиная с 2000. Позволяет писать скрипты на VBScript или JavaScript.

Собственно этим я и воспользовался:


var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFolder("./");
var fc = new Enumerator(f.files);
var s = '';
var fProcessed = 0;

var forReading = 1;
var forWriting = 2;

var file, logFile, text;

if (fso.FileExists('./replace.log')) {
logFile = fso.OpenTextFile('./replace.log', 8, true);
}
else {
logFile = fso.CreateTextFile('./replace.log');
}

var d = new Date();
logFile.Write("\n" + 'Start ' + d.getDate() + '.' + d.getMonth() + '.' + d.getYear() + ' at ' + d.getHours() + ':' + d.getMinutes() + "\n");

for (; !fc.atEnd(); fc.moveNext()) {
if (fso.GetExtensionName(fc.item()) == 'xml') {
file = fso.OpenTextFile(fc.item(), forReading);
text = file.ReadAll();
file.Close();

text = text.replace(/Холдем Л/g, 'Holdem L');
text = text.replace(/Холдем НЛ/g, 'Holdem NL');

file = fso.OpenTextFile(fc.item(), forWriting);
file.Write(text);
file.Close();

logFile.Write(fc.item() + "\n");
fProcessed++;
}
}

logFile.Write('Total processed files: ' + fProcessed + "\n\n");
logFile.Close();

WScript.Echo('Total processed files: ' + fProcessed + "\n\n" + 'See details in *replace.log*');

Сохраняете в кодировке UTF-8 с именем, например, run.js. Кладете в папку со статистикой (например, C:\Program Files\TitanPoker\History\Название_аккаунта\Table\) и запускаете. Он во всех xml файлах заменить русские названия на английские.

Напомню, что стартовый капитал для игры в покер можно получить тут: PokerStrategy.

P.S. Все таки лучше играть в покер, там живые противники, хотя и в БлекДжек иногда очень везет:

4 комментария to “Как подружить русский TitanPoker и PokerTracker 3”

  1. true_master 23 января 2009 at 19:00 Permalink

    Не работает твой скрипт, выдает ошибку
    Строка:1
    Символ:8
    Ошибка: Предпологается наличие “;”
    Код: 800А03ЕС
    Если сохранять в кодировке АNCI то ничего не меняет, но работает без ошибок =)

  2. Knave 27 января 2009 at 17:15 Permalink

    Точно в UTF-8 сохранили. Выводит какие-нибудь ошибки?

    У меня прекрасно работает.

  3. Knave 29 января 2009 at 9:30 Permalink

    Вы сами-то посмотрите на первую строку, где там точка с запятой может предполагаться?

    var fso = new ActiveXObject(“Scripting.FileSystemObject”);

    Я надеюсь, вы без номеров строк скрипт сохранили?

  4. Sergey 7 апреля 2009 at 15:48 Permalink

    А как этот скрипт найти в Винде? Можно поподробнее?