Как ХМ выдирает инфу с Zoom столов?

    • Pesso711
      Pesso711
      Гость
      На форуме с: 02.09.2011 Сообщения: 690
      Собственно говоря, вопрос вынесен в заголовок.

      Возник спор с приятелем - тот утверждает, что ХМ читает картинку с экрана и переводит в текст, после чего выводит ХАД. Я не программист и не могу возразить ему со знанием дела, но, на мой взгляд, это глупо. Помогите расставить точки над "i" в этом вопросе.

      Спасибо.
  • 15 ответов
    • ZaPokerDrot
      ZaPokerDrot
      Бронза
      На форуме с: 02.06.2013 Сообщения: 164
      Он всю инфу берет из истории раздач(текстовый файл). Соответственно, статы обновляются после сыгранной раздачи.
    • zava86
      zava86
      Бронза
      На форуме с: 03.05.2011 Сообщения: 1.694
      100%. если не сохранять хенд хистори, то статы не обновятся.
    • Pesso711
      Pesso711
      Гость
      На форуме с: 02.09.2011 Сообщения: 690
      :facepalm:

      Я про зум столы спрашиваю, там хад выскакивает до появления Хенд Хистори.
    • tt3206
      tt3206
      Бронза
      На форуме с: 24.05.2010 Сообщения: 35
      имена игроков и размеры ставок он берет из чата
    • vpmarat
      vpmarat
      Модератор
      Модератор
      На форуме с: 22.01.2008 Сообщения: 83.737
      ХМ не берет инфу для Zoom из чата (а нужны ему всего лишь ники игроков, чтобы потом на них из базы статы вытащить). Потому что оптическое распозначание символов - вещь чрезвычайно капризная.
      Года четыре назад - да, они пробовали OCR применять для получения инфы на столах Zoom - но это было еще в ХМ1, и даже там быстро от этой идеи отказались.
      Как именно делается сейчас (в обоих ХМ одинаково кстати) - официально подробностей никто не рассказал.

      А вот размеры ставок - да, ХМ читает чат. Но это ведь действует всего лишь на "побочные" функции в ХМ - Live Tracking и Street-By-Street- и они "некритичные". И пользуются ими не очень многие.
      И, кстати, работают только на столах с размером не более тыщи с мелочью пикселов - пока шрифт в чате не изменился.
    • Nik1952
      Nik1952
      Модератор
      Модератор
      На форуме с: 15.06.2009 Сообщения: 4.204
      "Я про зум столы спрашиваю, там хад выскакивает до появления Хенд Хистори."
      Я сейчас с этим подробно разбирался в связи с написанием нашего VPP счетчика. Он ловит изменения в папке с историями средствами ОС, то есть, практически, мгновенно и читает добавления к файлам историй. Параллельно (я же играю под деньги!) у меня работает ХМ2. Так вот я заметил, что сперва обновляется счетчик VPP (это видно только в отладчике, потому что окно мы обновляем 1 раз в 10 секунд и глазом этого можно не заметить), а затем уже обновляются HUDы в ХМ2. Мы руку разбираем быстро, потому что нас интересует только рейк. Если рука без рейка, она пропускается. А ХМ2 проводит большую работу по каждой раздаче. Он и в БД пишет и статы считает. Рука в файле полная независимо от того, что я может ушел со стола до конца раздачи (игра Zoom). Поэтому, я думаю, что ХМ все берет из файла истории. По крайней мере, я могу 100% утверждать, что HUDы обновляются ПОСЛЕ обновления файлов историй. Глазом без программы вы этого не заметите! Поэтому могут создаться другие впечатления. Хотя все это имеет лишь спортивный интерес. Можешь считать, что ты спор выиграл! Пусть твой друг проставляется!
      Что касается чтения с экрана, то этого ХМ не делает. Это очень сложная задача. Насчет чтения чата я только могу возразить то, что ХМ работает и при ненастроенном чате. Хотя здесь я не уверен до конца. С другой стороны, нельзя утверждать, что между PokerStars и командой ХМ отсутствует соглашение о передаче данных. Можно теоретически предположить, что ХМ получает данные от клиента или от сервера по специальному протоколу, известному только им. Но, это тоже гипотеза.
    • vpmarat
      vpmarat
      Модератор
      Модератор
      На форуме с: 22.01.2008 Сообщения: 83.737
      1) Да, ХМ берет инфу в базу именно после обновления файла истории. И не "обычном" столе все так и происходит.
      2) Но проблема с Зумом в том, что покерный клиент пишет историю сдачи в файл только после того, как она реально завершится. С учетом наличия кнопки Fast fold - это гарантированно означает, что ХМ не знает из файла, кто сидит за Зумовским столом пока сдача еще играется. А знать надо - статы ж на этих парней выводить приходится прямо сейчас. Вот как-то имена эти они берут. Но не говорят, как.

      3) Насчет чата и его чтения - дык речь шла об одной только функции в ХМ: вывода пот-оддсов. Именно (и только) для нее и читается чат с помощью OCR, причем обязательно задание в клиенте опции show all dealers's messages/
    • xslavik
      xslavik
      Бронза
      На форуме с: 26.12.2011 Сообщения: 726
      Интересно - библиотеку OCR можно где то взять(купить)? Что бы можно было купить и что то самому с помощью неё написать?
    • ExConfessor
      ExConfessor
      Супер-модератор
      Супер-модератор
      На форуме с: 21.08.2007 Сообщения: 36.941
      Да, есть бесплатные библиотеки OCR. На Хабре было несколько статей об их использовании, можешь поискать.
    • Nik1952
      Nik1952
      Модератор
      Модератор
      На форуме с: 15.06.2009 Сообщения: 4.204
      Полностью согласен с Владимиром (vpmarat) по 1) и 2). По 3) я думаю, что читать чат можно без OCR, хотя нигде не написано как это делается (по OCR или хуками). Можно перехватывать сообщения к этому окну и обрабатывать (hooks). Это разрешается. Так, кстати, делает LikeAA в своей программе PartyCaption. Он даже когда-то написал ссылку на соответствующую библиотеку. Он это делает для PartyPoker, но думаю, что и для PokerStars годится
      такой подход. (Я из нашего форума узнал массу полезного для себя!)
      И еще информация для xslavik. Если ты хочешь что-то для покера написать, то вот ссылка на полезную библиотеку
      http://www.codeproject.com/Articles/27637/EasyHook-The-reinvention-of-Windows-API-hooking
      Ссылку LikeAA дал. Это как раз, как забирать данные с окна чата и вообще как перехватывать сообщения к любому окну.
    • vpmarat
      vpmarat
      Модератор
      Модератор
      На форуме с: 22.01.2008 Сообщения: 83.737
      Я так думаю, что продолжение применения OCR для работы Live tracking + Street-by-Street в ХМ имеет только одно обоснование:
      Don't touch working system
      и это правильно
    • xslavik
      xslavik
      Бронза
      На форуме с: 26.12.2011 Сообщения: 726
      Оригинал пользователя ExConfessor
      Да, есть бесплатные библиотеки OCR. На Хабре было несколько статей об их использовании, можешь поискать.
      Спасибо, посмотрел, результат неплохой
    • xslavik
      xslavik
      Бронза
      На форуме с: 26.12.2011 Сообщения: 726
      Оригинал пользователя Nik1952
      И еще информация для xslavik. Если ты хочешь что-то для покера написать, то вот ссылка на полезную библиотеку
      http://www.codeproject.com/Articles/27637/EasyHook-The-reinvention-of-Windows-API-hooking
      Ссылку LikeAA дал. Это как раз, как забирать данные с окна чата и вообще как перехватывать сообщения к любому окну.
      Очень любопытная ссылка, спасибо. Даже не предполагал, что с приложениями можно вот так обращаться
    • Nik1952
      Nik1952
      Модератор
      Модератор
      На форуме с: 15.06.2009 Сообщения: 4.204
      Надо только учитывать, что приложения могут проверять наличие хуков. Клиенту PokerStars это может "не понравиться". Хотя PartyPoker разрешает такие вещи. Если хочешь использовать, я бы рекомендовал обратиться в саппорт за консультацией о законности этого дела. В принципе есть техники сокрытия, но это уже тема не покерного форума. Поэтому Владимир трижды прав, когда пишет про хуки: "Don't touch working system". OCR может и сложно, но безопасно. Каждая программа имеет право читать экран компьютера и разбирать его. Может я просто скриншот делаю или сессию записываю. Это точно законно и не вызовет нареканий.
    • vpmarat
      vpmarat
      Модератор
      Модератор
      На форуме с: 22.01.2008 Сообщения: 83.737
      Вообще-то, я имел в виду несколько другое.
      Намекающий анекдот:
      Сын спрашивает отца-программиста:
      - Папа, а почему солнце всегда встает на восходе, а заходит на западе?
      Папа поворачивает от монитора голову с красно-воспаленными глазами к сыну:
      - Всегда восходит на востоке?
      - Всегда
      - заходит всегда на западе?
      - Да
      - ничего не глючит? все работает нормально?
      - да, все нормально
      - Ну так и не трогай там ничего!