Лирическое вступление Как и когда вы сохраняете раздачи, которые хотели бы проанализировать позже, выложить на форум или обсудить с кем-то за его пределами? Насколько я могу судить, сформировалось два основных подхода к сохранению, анализу и шарингу отдельных раздач.
1. Сохранение непосредственно во время игры - простое копирование исходного текста раздач в файл на вашем компьютере, либо импорт этого текста в какое-то хранилище в интернете (лично я знаю только http://weaktight.com, но, возможно, есть еще подобные сервисы). 2. Поиск и просмотр в ХолдемМенеджере / Покертрекере.
У каждого из этих подходов, на мой взгляд, есть существенные недостатки. В первом случае - это отсутствие в тексте раздачи такой важной вещи, как статистика. Если вы хотите снабдить раздачу этой информацией, вам приходится тратить дополнительное время на определение и набор статов, которые важны в данном конкретном розыгрыше. Это, вдобавок к процессу копирования-вставки-сохранения основного текста, еще раз отвлекает от игры. Во втором случае - это необходимость поиска раздачи среди уймы других в далеко не быстрых ХМ/ПТ и, что важнее, "подводный камень" в виде некорректной статистики. Дело в том, что при просмотре раздачи постфактум, ХАД выводит статистику на игрока на основе всех раздач с его участием (да, можно поставить галку Stats up to day of hand, но это очень редко решает проблему - вы ведь могли в тот день сыграть с этим оппонентом еще сотню-другую раздач), и та статистика, которая выводится сейчас может довольно сильно отличаться от той, которой вы руководствовались в момент принятия решения в процессе розыгрыша. Ну и, опять же, чтобы сконвертировать/поделиться, нужно выкладывать куда-то в интернет.
Я лично пользуюсь первым способом, и до недавнего времени меня жутко парило, что в половине раздач нет никакой информации об оппонентах (я просто не успевал ее добавлять во время сессии) - получался просмотр раздач в вакууме (особенно, если я добирался до этого через неделю-другую). Приходилось шариться в ХМе и искать хоть какие-то статы на оппов. Но внезапно мне пришла в голову идея программы, которая в некоторой мере устраняла бы недостатки сохранения раздач во время игры. Идея настолько овладела мной, что, сев вечером за компьютер и отыграв 20 минут, я понял, что откладывать нельзя - срочно отрегался от новых турниров и начал разработку.
Результат
Основные функции программы: 1. Сохранение текста раздачи на диск при простом копировании в буфер обмена. Не нужно самому вставлять этот текст в какой-то файл, всё будет сделано за вас; 2. Импорт раздачи на weaktight. Процесс тоже полностью автоматизирован; 3. Сохранение скриншотов. Может происходить как в ручном, так и в автоматическом режиме через настраиваемый интервал времени. Позволяет сохранять картинки со статистикой и цветовыми метками из клиента покер-рума на момент раздачи; 4. Копирование к сохраненной раздаче нескольких последних скриншотов; 5. Возможность быстро добавить какие-то нотсы.
Все эти фичи могут работать как вместе, так и по отдельности - это настраивается под нужды конкретного пользователя. Кроме того, доступны следующие приятные вещи: 1. Поддержка нескольких мониторов при сохранении скриншотов. Казалось бы, вполне ожидаемое поведение, но его могло и не быть, если бы у меня самого не стояло на столе 2 монитора; 2. Дополнительная проверка текста раздачи на валидность через weaktight (то, что происходит перед тем, как появляется кнопка submit при ручном импорте на сайт); 3. Ограничение количества хранимых на диске скриншотов.
Настройка При первом старте программы появляется окно с кучей галочек. Не пугайтесь, сейчас я расскажу подробно, какая галочка за что отвечает (хотя, как разработчикам обычно кажется, там всё интуитивно понятно). Кроме того, в процессе объяснения раскроются некоторые дополнительные фишки.
▼ см. спойлер ▼
Общие настройки: Путь для сохранения данных. Определяет место на диске, куда будут сохранятся скриншоты, тексты раздач и прочие вспомогательные файлы. Показывать окно настроек при старте. Понимать буквально. Автоматический запуск съёмки экрана при старте. В принципе, тоже всё очевидно. Если опция выключена, то запустить регулярное сохранение скриншотов можно вручную через меню программы. Максимально ограничивать размер расходуемой памяти. Сохранение скриншотов в .NET, как оказалось, довольно затратная операция - у меня на каждый новый скриншот программа отжирает 20-25 Мб оперативки. После сохранения на диск, место в ОЗУ освобождается не сразу. Через каждые 6 скриншотов я запускаю процесс освобождения лишней памяти (так, чтобы программа на пике хавала не больше 140-150 Мб) независимо от состояния этой галки в настройках. Однако, вы можете включить опцию очистки памяти после сохранения каждого скриншота (хотя это может немного повысить нагрузку на ЦП).
Сохранение раздач: Сохранять исходный текст раздачи. Сохранять на диск текст раздачи, как он был скопирован в буфер обмена. Сохраняется в отдельный файл для каждой раздачи и в один общий для всех раздач, сохраненных в этот день.
Тут отдельно стоит отметить 3 момента: * Дата и время берутся из настроек компьютера. Если вы копируете какую-то старую раздачу из ХМа, она всё равно сохранится в папку, соответствующую локальному времени на момент копирования. * Копируется не любой текст, который попадает в буфер обмена. Предварительно проводится проверка на наличие в тексте одной (и только одной) подстроки - "Dealt to YourScreenName [...]". При этом результат проверки будет положительным, даже если скопирована не полностью и присутствует только эта строка. Т.е. это всего лишь базовое отсеивание данных, совсем не похожих на текст раздачи. * Исходя из пункта выше, текст раздачи должен быть на английском!
Перед сохранением проводить проверку через weaktight. Использование этой опции позволяет надежнее проверять раздачи на целостность - на сайт отправляется запрос валидации текста раздачи. Для выполнения этого запроса необходимы корректные логин/пароль к сервису. Отправлять раздачу на weaktight. Автоматический постинг раздачи при копировании в вашем профиле на сайте. В качестве приятного бонуса - если включена эта опция и раздача успешно запостилась, в буфере обмена оказывается ссылка на страницу раздачи, которой можно сразу же с кем-нибудь поделиться. Логин/пароль от аккаунта http://weaktight.com. Хранятся в открытом виде. Я не думаю, что это такая уж секретная информация, чтобы заморачиваться над ее шифрованием в файле на локальном диске, главное - не используйте для weaktight пароль от действительно важных сайтов (да и вообще, не используйте одинаковых паролей). Сохранять каждую раздачу в отдельной папке. Позволяет выбирать между скидыванием раздач в одну общую кучу, либо разделением их по отдельным папкам, где будут данные по каждой конкретной раздаче. При сохранении сразу открывать окно редактирования нотсов. Что будет, если включить, думаю, понятно. А вот если эта опция выключена, то вызвать окно для редактирования нотсов вручную можно только к последней сохраненной раздаче.
Сохранение скриншотов: Сохранять скриншоты каждые Х секунд. Задание интервала времени, через который на диск будет сохраняться новый скриншот. Минимальное возможное значение 5 секунд. Оптимальным я считаю что-то в районе 15-20 секунд - сохранение будет проходить не слишком часто, но в то же время достаточно, чтобы захватить актуальную статистику. Важно: скриншоты не начнут сохраняться до того момента, как будет запущена съёмка экрана (вручную, либо автоматически при старте программы, если в настройках выставлена соответствующая галка). Оставлять на диске только Х последних. Эта опция позволяет ограничивать число хранимых на диске файлов со скриншотами. Ограничение работает по принципу простой очереди - при добавлении нового скриншота старые, выходящие за рамки ограничений, удаляются. Минимальное возможное значение - 5. Копировать в папку с раздачами Х последних. Включает/отключает копирование скриншотов в папку с раздачей. Скриншоты берутся с хвоста очереди. Допустимые значения от 2 до 9. Удалять скриншоты сессии из основной папки при выходе. Включение позволит сразу удалять ненужные файлы при завершении программы (но только те, которые были сохранены в эту сессию; если раньше эта галка не стояла, предыдущие скриншоты сохранятся). Скриншоты из папок с раздачами в любом случае останутся на месте.
Как видно, можно достаточно гибко подогнать программу под свои нужды. Например, упростить лишь процесс перенесения текста раздач в файл. Или отдельно пользоваться быстрым постингом на weaktight. А можно использовать только съемку экрана для каких-то других непокерных целей. В общем, выбирайте, что нужно лично вам.
Также, советую немного поиграть с числовыми параметрами сохранения скриншотов, чтобы найти наиболее удобный для себя вариант, гарантирующий попадание нужного скриншота в папку с раздачей. И еще рекомендация - если непосредственно на столы у вас выводится только минимальный набор статов (и вы не хотите его расширять), то перед копированием текста раздачи можно вызвать нужный вам попап с дополнительными данными, сделать скриншот вручную, а уже потом сохранять раздачу - скриншот с попапом скопируется в папку вместе с остальными данными.
Немного картинок, или как это выглядит на практике
.
. Программа запускается в трее и не имеет основного окна. Взаимодействие происходит через меню, доступное при правом клике на иконку. В нём всего несколько простых пунктов. Кроме того, для удобства добавлены горячие клавиши (Ctrl+F12 - внеочередной скриншот, Ctrl+F11 - открытие окна нотсов к последней сохраненной раздаче) и реакция на двойные клики по иконке (левый даблклик - скриншот, средний - нотсы).
На диске хранение файлов организуется следующим образом.
В общей папке (на каждый день создается отдельная) хранятся скриншоты (как автоматические, так и ручные), файл с текстом всех сохраненных раздач (чтобы было удобно вставить в какой-нибудь реплеер и быстренько посмотреть всё целиком) и папка (либо папки, при включении соответствующей опции в настройках) с сохраненными раздачами.
Внутри папки с раздачей хранится заданное количество скришнотов, предшествующих раздаче, файл с текстом раздачи, файл с нотсами и файл со ссылкой на страницу раздачи на weaktight.com (советую сходить в панель управления и напрямую завязать открытие файлов .url на ваш любимый браузер, т.к. у меня до этого такие файлы не открывались).
Всё! Просто, как две копейки. Однако позволяет ощутимо сэкономить время и гарантирует, что к каждой раздаче будут приложена актуальная статистика.
Требования 1. Microsoft .NET Framework 4.0. 2. Доступ на запись и изменение файлов в папке, где располагается программа (для сохранения файла настроек). 3. Доступ на запись, изменение и удаление файлов в папке, где будут сохраняться скриншоты и текст раздач. 4. Сетевой доступ к сайту http://weaktight.com (обычный http по 80му порту) - необходим только при соответствующих настройках программы.
Заметка для параноиков Я ничего не собираюсь у вас красть. Программа не шпионит, не ведет логи клавиатуры, никуда не отправляет ваши скриншоты, не предоставляет удаленный доступ к вашему компьютеру. Можете вообще запретить ей любую сетевую активность и импортировать раздачи на weaktight или в любой другой конвертер вручную. Продвинутые параноики могут скачать исходный код (C#, проект для VS 2010), изучить его со всех желаемых сторон и скомпилировать исполняемый файл самостоятельно.
Скачать! Сделать это можно вот здесь. Другие файлообменные хостинги я пока что использовать не планирую (если изменю свое решение, об этом будет объявлено дополнительно в этой ветке), поэтому не стоит скачивать что-то похожее на мою программу из других мест. Если у вас нет .NET Framework 4.0, то его можно взять с официального сайта Mircosoft.
Лицензия Advanced Hand Saver распространяется бесплатно по лицензии WTFPL - Do What The Fuck You Want To Public License.
Donate Если после использования программы у вас появилось непреодолимое желание поблагодарить меня за нее материально, я совершенно не против, мой ник на старзах - Floyd Lapp. Если желания не появилось - вы неблагодарный жлоб мммм подумайте, как вы будете жить с этим ээээ, всё нормально, у меня есть работа и покер.
Заключение Спасибо, что дочитали досюда. Надеюсь, что решение поделиться моим творением с комьюнити было правильным, и программа будет полезна кому-нибудь кроме меня - это полностью оправдает время, затраченное на превращение маленькой домашней аппликухи в конечный программный продукт и написание этого поста, и потешит мое самолюбие. Фидбэк со всеми вопросами, обнаруженными багами и предложениями по улучшению можете постить в этой теме или у меня в бложике - будем обсуждать.
Flat @ 21.2.2012 я, как и многие на этом сайте, конвертирую раздачи через http://www.handconverter.com/ возможно ли сделать дополнение с привязкой к этому сайту?
Да, практически наверняка можно. И складывать рядом такой же файлик с уже отконвертированным текстом.
Значимые изменения: 1.Добавлена конвертация через http://handconverter.com. Всегда выставлены опции конвертации Two Plus Two Forum, Use player names, Show Results, галка Store publicly in THC.com database выключена. Файл с отконвертированной раздачей сохраняется на диск, кроме того тот же текст оказывается в буфере обмена (однако weaktight имеет приоритет - если одновременно раздача постится на weaktight, в буфере обмена будет ссылка). 2.Добавлено сочетание клавиш Ctrl+F10 для быстрого запука/остановки съёмки экрана. 3.Изменен формат хранения файла настроек. Поэтому, если вы уже скачали версию 1.0, вам придется ввести все настройки заново. 4.Включено логгирование ошибок в отдельный файл error.log. Если программа постоянно сообщает об ошибках сохранения/постинга/конвертации раздач, полезно будет приложить этот файл к сообщению на форуме. Впрочем, можете попробовать изучить его содержимое самостоятельно ;)
Сразу скачать эту версию можно отсюда. Если вам нужен .NET Framework или исходники, то вот ссылка на все файлы.
Файлообменник вчера внезапно лёг, в таком состоянии и находится на текущий момент. Если еще через пару дней ничего не поднимется - буду думать, куда бы в другое место выложить.
Пока не ставил, но задумка выглядит довольно не плохо. Автор однозначно молодец. Есть один вопрос, правильно я понимаю:
Допустим, я играю 20 столов, у меня сложный момент в раздаче на одном столе, нажимаю Ctrl+F10, тут же делается первый скриншот монитора/ров и копируется в папку вместе с хенд хистори. Вот тут вопрос, сохраненная хенд хистори ведь будет с предидущей раздачей, так как актуальная еще не записалась на диск (розыгрыш еще идет). Чтобы нужная раздача сохранилась, приведу конкретный пример, я так понимаю, нужно выставить сохранение к примеру 3 скриншотов в настройках с интервалом времени скажем 10 секунд.
Вот тут непонятно. Получается, чтобы сохранить все три скриншота с включая хенд хистори, нужно чтобы все 30 секунд всегда ТОЛЬКО нужный стол был активным, но ведь столы мелькают и за 30 секунд сменится много столов.
Вопрос: прога наделает хенд хистори с разных столов с интервалом в 10 секунд или прога как-то запоминает первый нужный стол и копирует впоследствии вторую и третью хенд хистори только этого стола, даже если он уже не активен?
Для игры на столах с перекрытиями программа в принципе применима, но требует дополнительной настройки - как раз-таки из-за того, что новые столы постоянно всплывают и загораживают собой старые.
Общий принцип работы еще раз: на скриншотах сохраняется только то, что сейчас видно на экране (весь экран/экраны целиком, а не какой-то отдельный стол). В папку с сохраненной раздачей копируются несколько файлов со скриншотами, которые были сохранены _до_ копирования текста ХХ (важно сохранять раздачу сразу после ее окончания, а не через 2-3 минуты). Дальше уже сам игрок при анализе сохраненных раздач должен разобраться на каком из столов со скриншотов произошла эта раздача и, соответственно, взять оттуда статы на соперника.
При игре с перекрытиями я советую попробовать выставить большую частоту сохранения и большее количество копируемых скриншотов - тогда более вероятно попадание нужного активного окна в один из файлов.
У меня не сохраняет ХХ ни при CTRL+F10, ни при CTR+F12. Сохраняет только скриншоты. Пробовал правда на плеймани, но на диск раздачи точно пишутся. Холдем манагер их видит. Но Advanced Hand Saver нет.
для инфо: Win 7, 64, прога имеет права на запись-копирование.
Читаем внимательно: в версии 1.0: Ctrl+F12 - внеочередной скриншот, Ctrl+F11 - открытие окна нотсов к последней сохраненной раздаче в версии 1.1: Ctrl+F10 для быстрого запука/остановки съёмки экрана
Для того, чтобы сохранилась раздача, нужно просто скопировать ее текст в буфер обмена (на старзах это делается из окна Instant Hand History, которое появляется по клику на номер последней раздаче на столе, либо по сочетанию Ctrl+I).
ЗДравствуйте,не могу найти куда программа сохранилась, т.е. при первом запуске все ок!(прога действительно ништятская,спасибо),но при повторном включении компьтера она как-будто куда-то исчезла,не могу нигде найти..подскажите пожалуйста.
Скидываю сеттингс и пару раздач. Лог ошибок у меня почему-то не создается, пишет "программа успешно сохранена". Однако по-прежнему записывает на виктайт дважды.
Баг, проявившийся у MoronMode, побежден. Это исправление войдет в следующую версию.
Раз такое дело, принимаю еще пожелания/замечания по доработке. Пока что есть один запрос - счетчик сыгранных раздач. Но я еще сомневаюсь на этот счет (хотя технически это реализовать не сложно).
Я тут заметил одну штуку. При копировании из окна с текстом раздачи на ФТП, клиент ФТП подвисает, пока программа не закончит все свои действия (а при постинге раздачи на виктайт, это несколько секунд). Есть у кого-нибудь похожее поведение?
Надеюсь, что через недельку у меня будет свободное время, и я этот косяк исправлю. Всё так же жду других пожеланий по доработке.
Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
На каждой странице будет видно, где появились новые посты и комментарии.
Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.
Лирическое вступление
Как и когда вы сохраняете раздачи, которые хотели бы проанализировать позже, выложить на форум или обсудить с кем-то за его пределами? Насколько я могу судить, сформировалось два основных подхода к сохранению, анализу и шарингу отдельных раздач.
1. Сохранение непосредственно во время игры - простое копирование исходного текста раздач в файл на вашем компьютере, либо импорт этого текста в какое-то хранилище в интернете (лично я знаю только http://weaktight.com, но, возможно, есть еще подобные сервисы).
2. Поиск и просмотр в ХолдемМенеджере / Покертрекере.
У каждого из этих подходов, на мой взгляд, есть существенные недостатки. В первом случае - это отсутствие в тексте раздачи такой важной вещи, как статистика. Если вы хотите снабдить раздачу этой информацией, вам приходится тратить дополнительное время на определение и набор статов, которые важны в данном конкретном розыгрыше. Это, вдобавок к процессу копирования-вставки-сохранения основного текста, еще раз отвлекает от игры. Во втором случае - это необходимость поиска раздачи среди уймы других в далеко не быстрых ХМ/ПТ и, что важнее, "подводный камень" в виде некорректной статистики. Дело в том, что при просмотре раздачи постфактум, ХАД выводит статистику на игрока на основе всех раздач с его участием (да, можно поставить галку Stats up to day of hand, но это очень редко решает проблему - вы ведь могли в тот день сыграть с этим оппонентом еще сотню-другую раздач), и та статистика, которая выводится сейчас может довольно сильно отличаться от той, которой вы руководствовались в момент принятия решения в процессе розыгрыша. Ну и, опять же, чтобы сконвертировать/поделиться, нужно выкладывать куда-то в интернет.
Я лично пользуюсь первым способом, и до недавнего времени меня жутко парило, что в половине раздач нет никакой информации об оппонентах (я просто не успевал ее добавлять во время сессии) - получался просмотр раздач в вакууме (особенно, если я добирался до этого через неделю-другую). Приходилось шариться в ХМе и искать хоть какие-то статы на оппов. Но внезапно мне пришла в голову идея программы, которая в некоторой мере устраняла бы недостатки сохранения раздач во время игры. Идея настолько овладела мной, что, сев вечером за компьютер и отыграв 20 минут, я понял, что откладывать нельзя - срочно отрегался от новых турниров и начал разработку.
Результат
Основные функции программы:
1. Сохранение текста раздачи на диск при простом копировании в буфер обмена. Не нужно самому вставлять этот текст в какой-то файл, всё будет сделано за вас;
2. Импорт раздачи на weaktight. Процесс тоже полностью автоматизирован;
3. Сохранение скриншотов. Может происходить как в ручном, так и в автоматическом режиме через настраиваемый интервал времени. Позволяет сохранять картинки со статистикой и цветовыми метками из клиента покер-рума на момент раздачи;
4. Копирование к сохраненной раздаче нескольких последних скриншотов;
5. Возможность быстро добавить какие-то нотсы.
Все эти фичи могут работать как вместе, так и по отдельности - это настраивается под нужды конкретного пользователя. Кроме того, доступны следующие приятные вещи:
1. Поддержка нескольких мониторов при сохранении скриншотов. Казалось бы, вполне ожидаемое поведение, но его могло и не быть, если бы у меня самого не стояло на столе 2 монитора;
2. Дополнительная проверка текста раздачи на валидность через weaktight (то, что происходит перед тем, как появляется кнопка submit при ручном импорте на сайт);
3. Ограничение количества хранимых на диске скриншотов.
Настройка
При первом старте программы появляется окно с кучей галочек. Не пугайтесь, сейчас я расскажу подробно, какая галочка за что отвечает (хотя, как разработчикам обычно кажется, там всё интуитивно понятно). Кроме того, в процессе объяснения раскроются некоторые дополнительные фишки.
▼ см. спойлер ▼
Общие настройки:
Путь для сохранения данных. Определяет место на диске, куда будут сохранятся скриншоты, тексты раздач и прочие вспомогательные файлы.
Показывать окно настроек при старте. Понимать буквально.
Автоматический запуск съёмки экрана при старте. В принципе, тоже всё очевидно. Если опция выключена, то запустить регулярное сохранение скриншотов можно вручную через меню программы.
Максимально ограничивать размер расходуемой памяти. Сохранение скриншотов в .NET, как оказалось, довольно затратная операция - у меня на каждый новый скриншот программа отжирает 20-25 Мб оперативки. После сохранения на диск, место в ОЗУ освобождается не сразу. Через каждые 6 скриншотов я запускаю процесс освобождения лишней памяти (так, чтобы программа на пике хавала не больше 140-150 Мб) независимо от состояния этой галки в настройках. Однако, вы можете включить опцию очистки памяти после сохранения каждого скриншота (хотя это может немного повысить нагрузку на ЦП).
Сохранение раздач:
Сохранять исходный текст раздачи. Сохранять на диск текст раздачи, как он был скопирован в буфер обмена. Сохраняется в отдельный файл для каждой раздачи и в один общий для всех раздач, сохраненных в этот день.
Тут отдельно стоит отметить 3 момента:
* Дата и время берутся из настроек компьютера. Если вы копируете какую-то старую раздачу из ХМа, она всё равно сохранится в папку, соответствующую локальному времени на момент копирования.
* Копируется не любой текст, который попадает в буфер обмена. Предварительно проводится проверка на наличие в тексте одной (и только одной) подстроки - "Dealt to YourScreenName [...]". При этом результат проверки будет положительным, даже если скопирована не полностью и присутствует только эта строка. Т.е. это всего лишь базовое отсеивание данных, совсем не похожих на текст раздачи.
* Исходя из пункта выше, текст раздачи должен быть на английском!
Перед сохранением проводить проверку через weaktight. Использование этой опции позволяет надежнее проверять раздачи на целостность - на сайт отправляется запрос валидации текста раздачи. Для выполнения этого запроса необходимы корректные логин/пароль к сервису.
Отправлять раздачу на weaktight. Автоматический постинг раздачи при копировании в вашем профиле на сайте. В качестве приятного бонуса - если включена эта опция и раздача успешно запостилась, в буфере обмена оказывается ссылка на страницу раздачи, которой можно сразу же с кем-нибудь поделиться.
Логин/пароль от аккаунта http://weaktight.com. Хранятся в открытом виде. Я не думаю, что это такая уж секретная информация, чтобы заморачиваться над ее шифрованием в файле на локальном диске, главное - не используйте для weaktight пароль от действительно важных сайтов (да и вообще, не используйте одинаковых паролей).
Сохранять каждую раздачу в отдельной папке. Позволяет выбирать между скидыванием раздач в одну общую кучу, либо разделением их по отдельным папкам, где будут данные по каждой конкретной раздаче.
При сохранении сразу открывать окно редактирования нотсов. Что будет, если включить, думаю, понятно. А вот если эта опция выключена, то вызвать окно для редактирования нотсов вручную можно только к последней сохраненной раздаче.
Сохранение скриншотов:
Сохранять скриншоты каждые Х секунд. Задание интервала времени, через который на диск будет сохраняться новый скриншот. Минимальное возможное значение 5 секунд. Оптимальным я считаю что-то в районе 15-20 секунд - сохранение будет проходить не слишком часто, но в то же время достаточно, чтобы захватить актуальную статистику. Важно: скриншоты не начнут сохраняться до того момента, как будет запущена съёмка экрана (вручную, либо автоматически при старте программы, если в настройках выставлена соответствующая галка).
Оставлять на диске только Х последних. Эта опция позволяет ограничивать число хранимых на диске файлов со скриншотами. Ограничение работает по принципу простой очереди - при добавлении нового скриншота старые, выходящие за рамки ограничений, удаляются. Минимальное возможное значение - 5.
Копировать в папку с раздачами Х последних. Включает/отключает копирование скриншотов в папку с раздачей. Скриншоты берутся с хвоста очереди. Допустимые значения от 2 до 9.
Удалять скриншоты сессии из основной папки при выходе. Включение позволит сразу удалять ненужные файлы при завершении программы (но только те, которые были сохранены в эту сессию; если раньше эта галка не стояла, предыдущие скриншоты сохранятся). Скриншоты из папок с раздачами в любом случае останутся на месте.
Как видно, можно достаточно гибко подогнать программу под свои нужды. Например, упростить лишь процесс перенесения текста раздач в файл. Или отдельно пользоваться быстрым постингом на weaktight. А можно использовать только съемку экрана для каких-то других непокерных целей. В общем, выбирайте, что нужно лично вам.
Также, советую немного поиграть с числовыми параметрами сохранения скриншотов, чтобы найти наиболее удобный для себя вариант, гарантирующий попадание нужного скриншота в папку с раздачей. И еще рекомендация - если непосредственно на столы у вас выводится только минимальный набор статов (и вы не хотите его расширять), то перед копированием текста раздачи можно вызвать нужный вам попап с дополнительными данными, сделать скриншот вручную, а уже потом сохранять раздачу - скриншот с попапом скопируется в папку вместе с остальными данными.
Немного картинок, или как это выглядит на практике
Программа запускается в трее и не имеет основного окна. Взаимодействие происходит через меню, доступное при правом клике на иконку. В нём всего несколько простых пунктов. Кроме того, для удобства добавлены горячие клавиши (Ctrl+F12 - внеочередной скриншот, Ctrl+F11 - открытие окна нотсов к последней сохраненной раздаче) и реакция на двойные клики по иконке (левый даблклик - скриншот, средний - нотсы).
На диске хранение файлов организуется следующим образом.
В общей папке (на каждый день создается отдельная) хранятся скриншоты (как автоматические, так и ручные), файл с текстом всех сохраненных раздач (чтобы было удобно вставить в какой-нибудь реплеер и быстренько посмотреть всё целиком) и папка (либо папки, при включении соответствующей опции в настройках) с сохраненными раздачами.
Внутри папки с раздачей хранится заданное количество скришнотов, предшествующих раздаче, файл с текстом раздачи, файл с нотсами и файл со ссылкой на страницу раздачи на weaktight.com (советую сходить в панель управления и напрямую завязать открытие файлов .url на ваш любимый браузер, т.к. у меня до этого такие файлы не открывались).
Всё! Просто, как две копейки. Однако позволяет ощутимо сэкономить время и гарантирует, что к каждой раздаче будут приложена актуальная статистика.
Требования
1. Microsoft .NET Framework 4.0.
2. Доступ на запись и изменение файлов в папке, где располагается программа (для сохранения файла настроек).
3. Доступ на запись, изменение и удаление файлов в папке, где будут сохраняться скриншоты и текст раздач.
4. Сетевой доступ к сайту http://weaktight.com (обычный http по 80му порту) - необходим только при соответствующих настройках программы.
Заметка для параноиков
Я ничего не собираюсь у вас красть. Программа не шпионит, не ведет логи клавиатуры, никуда не отправляет ваши скриншоты, не предоставляет удаленный доступ к вашему компьютеру. Можете вообще запретить ей любую сетевую активность и импортировать раздачи на weaktight или в любой другой конвертер вручную. Продвинутые параноики могут скачать исходный код (C#, проект для VS 2010), изучить его со всех желаемых сторон и скомпилировать исполняемый файл самостоятельно.
Скачать!
Сделать это можно вот здесь. Другие файлообменные хостинги я пока что использовать не планирую (если изменю свое решение, об этом будет объявлено дополнительно в этой ветке), поэтому не стоит скачивать что-то похожее на мою программу из других мест. Если у вас нет .NET Framework 4.0, то его можно взять с официального сайта Mircosoft.
Лицензия
Advanced Hand Saver распространяется бесплатно по лицензии WTFPL - Do What The Fuck You Want To Public License.
Donate
Если после использования программы у вас появилось непреодолимое желание поблагодарить меня за нее материально, я совершенно не против, мой ник на старзах - Floyd Lapp. Если желания не появилось -
вы неблагодарный жлобммммподумайте, как вы будете жить с этимээээ, всё нормально, у меня есть работа и покер.Заключение
Спасибо, что дочитали досюда. Надеюсь, что решение поделиться моим творением с комьюнити было правильным, и программа будет полезна кому-нибудь кроме меня - это полностью оправдает время, затраченное на превращение маленькой домашней аппликухи в конечный программный продукт и написание этого поста, и потешит мое самолюбие. Фидбэк со всеми вопросами, обнаруженными багами и предложениями по улучшению можете постить в этой теме или у меня в бложике - будем обсуждать.
На этом всё. Live long and prosper!