AutoHotkey [PokerStars]

    • ZeroTheGreat
      ZeroTheGreat
      Бронза
      На форуме с: 23.08.2010 Сообщения: 8.043
      Нахожу очень полезными скрипты StarsCash и авто-таймбанк (мониторит по собственным координатам стола место кнопки ТБ и щёлкает её при появлении).

      Тема преследует две цели:

      1) Кому не жалко, делитесь полезными скриптами для крупнейшего покер-рума :)

      2) Более глобальная - я хочу написать скрипт. Задача: щёлкнуть по 6 точкам на каждом новом столе, получить цвет, сравнить с шаблоном и, если совпадение есть, закрыть стол (ну вы поняли ;) ). Я пока в этом деле новичок, прошу совета.

      Upd (офф-топ): Коль скоро подпись длиннее непросто заделать, ссылку держите на тему одну: Запросы в PostgreSQL по базе HM2
  • 24 ответов
    • ZeroTheGreat
      ZeroTheGreat
      Бронза
      На форуме с: 23.08.2010 Сообщения: 8.043
      Подниму, уточнив цели:

      1) По меткам на игроков определить состав стола и в хорошей ли позиции свободное место, в противном случае закрыть стол
      2) Опять же по меткам определить, когда состав стола портится и автоматически щёлкать галку ухода.

      Технически нужно:

      1) Снять цвет определённой точки, иметь подключённые шаблоны и провести сравнение
      2) Реализовать щелчок для второй задачи
      3) Либо прописать WinClose, либо просто жать клавишу при совпадении с шаблоном (StarsCash то ли обновился, то ли починился, я наконец могу закрывать столы, в которых не залогинен, хоткеем :f_biggrin: )

      Вроде задачи простые, но всё равно нужно время написать и отладить скрипт. Умельцы есть тут точно, если совсем никто не хочет бесплатно помочь, назовите свою цену за такой скрипт. iZeroTheGreat в гуглопочте.

      P.S. Разумеется, как и StarsCash, скрипт должен это делать в реал-тайм и без видимого отжора процессора - тут может быть тоже несколько блоков кода нужны.
    • ZeroTheGreat
      ZeroTheGreat
      Бронза
      На форуме с: 23.08.2010 Сообщения: 8.043
      Значительно времени трачу на клики, почти последнее, что можно в рамках правил переложить на автоматы.

      Потом останется только бота писать :facepalm: :coolface:
    • vpmarat
      vpmarat
      Модератор
      Модератор
      На форуме с: 22.01.2008 Сообщения: 83.735
      По AutoHotkey есть куча инструкций в инете. И готовых скриптов, которые така чуток переделать - тоже.
    • ZeroTheGreat
      ZeroTheGreat
      Бронза
      На форуме с: 23.08.2010 Сообщения: 8.043
      Разумеется, я полистал Гугл, у меня, лентяя, уйдёт ряд вечеров целиком на написание скрипта по кусочкам, ничего невозможного в этом нет, но время... Хочется тратить впустую после катки :coolface: :pokerface: :facepalm:

      Вот потому и создал тему, может кто-нибудь мне время сэкономит :)
    • vpmarat
      vpmarat
      Модератор
      Модератор
      На форуме с: 22.01.2008 Сообщения: 83.735
      Тогда жди, вдруг и в самом деле такой найдется
    • tribeprime
      tribeprime
      Бронза
      На форуме с: 02.12.2008 Сообщения: 359
      Оригинал пользователя vpmarat
      Тогда жди, вдруг и в самом деле такой найдется
      Довольно давно известный тренер nickmd юзал какие-то скрипты на АХК, но наверняка для пати и скорее всего уже не актуально. :coolface:
      Как вариант спросить у него, где он брал эти скрипты, мб возможно найти человека кто писал/сможет что-то подсказать/написать еще для старзов...

      ЗЫ. Я и сам рад любой автоматизации :coolface:
    • lister32
      lister32
      Бронза
      На форуме с: 30.09.2009 Сообщения: 921
      использую два ахк скрипта.
      один сворачивает стол. играю сопкой по 15+ столов.
      второй перемещает стол из стопки в сторону и возвращает назад.
      если кому интересно выложу.
      сейчас с мобилы пишу
    • Tramantana09
      Tramantana09
      Бронза
      На форуме с: 13.07.2010 Сообщения: 767
      to lister32 , выложи плиз -- любопытно посмотреть как работает. Т.е у тебя в две стопки получается : стек, где все столы лежат и один слот для выноса столов с постфлопом ??

      Вот еще пару полезных скриптов для старсов, если кто не в курсе :

      SFSO - Автоматическая регистрация в турнирах

      StarsHotkeys - реализованы многие функции ниндзи,выход из ситаута , бетсайзинг и т.д . Выводит общее и текущее количество столов за сессию . Добавил еще два слота для перемещения столов по хоткеям , подробней тут (в конце поста).

      Кстати тема по АНК очень интересная, странно что здесь редко попадается -- в немецком комьюнити сразу в шапку форума прикрепили.
    • DontStopMe
      DontStopMe
      Бронза
      На форуме с: 03.09.2010 Сообщения: 242
      Tramantana09, а в StarsHotkeys есть автовключение таймбанка?
    • lister32
      lister32
      Бронза
      На форуме с: 30.09.2009 Сообщения: 921
      после 20:00 выложу.
      все столы в одной стопке.
      и три слота для перемещения столов на которые требуется обратить внимания.
    • lister32
      lister32
      Бронза
      На форуме с: 30.09.2009 Сообщения: 921
      свой скрипт я брал тут
      Кто не разберется сам, я помогу.
    • DYRD
      DYRD
      Бронза
      На форуме с: 04.11.2008 Сообщения: 15.939
      Оригинал пользователя Tramantana09


      StarsHotkeys - реализованы многие функции ниндзи,выход из ситаута , бетсайзинг и т.д . Выводит общее и текущее количество столов за сессию . Добавил еще два слота для перемещения столов по хоткеям , подробней тут (в конце поста).

      .


      Только хотел ненавистную нинзю подключить к старзхоткиз, чтоб столы важные сдвигать, а оно уже готово и на шару, апсвинга тебе огромного!
    • DYRD
      DYRD
      Бронза
      На форуме с: 04.11.2008 Сообщения: 15.939
      Оригинал пользователя DontStopMe
      Tramantana09, а в StarsHotkeys есть автовключение таймбанка?
      есть дополнительный скрипт для олд блэк (код):
      #NoEnv
      #Persistent
      SetBatchLines -1


      CheckTime := 500 ; Check every n MilliSeconds
      sitin_x := 532
      sitin_y := 468

      timebank_x := 450
      timebank_y := 460

      If A_OSVersion in WIN_VISTA
      {
      _FILE := A_AppData . "PokerStarsPokerStars.log.0"
      IfNotExist %_FILE%
      stringreplace,_FILE,_FILE,Roaming,Local
      IfNotExist %_FILE%
      {
      msgbox, PokerStars.log.0 file was not found
      return
      }
      }
      else
      _FILE := A_ProgramFiles . "PokerStarsPokerStars.log.0"
      ;_FILE := "E:sitout.txt"
      SysGet, border, 32
      SysGet, caption, 4
      SetTimer, FILE_CHECK, %CheckTime%
      return


      FILE_CHECK:
      If (_NEWLINES := CheckFile(_FILE))
      {
      ;msgbox, %_NEWLINES%
      Loop, Parse, _NEWLINES, `n
      {
      if(regExMatch(a_loopfield, "MSG_0x000A-Tsw{8}s(w{8})s", m))
      {
      ;msgbox, %m1%
      PostStarsClick(sitin_x, sitin_y, ("0x" . m1))

      }
      else if (regExMatch(a_loopfield, "MSG_0x0023-Tsw{8}s(w{8})", m))
      {
      ;msgbox, %m1%
      PostStarsClick(timebank_x, timebank_y, ("0x" . m1))
      }
      }
      ;msgbox, %m1%

      }
      Return


      CheckFile(File) {
      ; THX Sean for File.ahk : http://www.autohotkey.com/forum/post-124759.html
      Static CF := "" ; Current File
      Static FP := 0 ; File Pointer
      Static OPEN_EXISTING := 3
      Static GENERIC_READ := 0x80000000
      Static FILE_SHARE_READ := 1
      Static FILE_SHARE_WRITE := 2
      Static FILE_SHARE_DELETE := 4
      Static FILE_BEGIN := 0
      BatchLines := A_BatchLines
      SetBatchLines, -1
      If (File != CF) {
      CF := File
      FP := 0
      }
      hFile := DllCall("CreateFile"
      , "Str", File
      , "Uint", GENERIC_READ
      , "Uint", FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE
      , "Uint", 0
      , "Uint", OPEN_EXISTING
      , "Uint", 0
      , "Uint", 0)
      If (!hFile) {
      CF := ""
      FP := 0
      SetBatchLines, %BatchLines%
      Return False
      }
      DllCall("GetFileSizeEx"
      , "Uint", hFile
      , "Int64P", nSize)
      If (FP = 0 Or nSize <= FP) {
      FP := nSize
      SetBatchLines, %BatchLines%
      DllCall("CloseHandle", "Uint", hFile) ; close file
      Return False
      }
      DllCall("SetFilePointerEx"
      , "Uint", hFile
      , "Int64", FP
      , "Uint", 0
      , "Uint", FILE_BEGIN)
      VarSetCapacity(Tail, Length := nSize - FP, 0)
      DllCall("ReadFile"
      , "Uint", hFile
      , "Str", Tail
      , "Uint", Length
      , "UintP", Length
      , "Uint", 0)
      DllCall("CloseHandle", "Uint", hFile)
      VarSetCapacity(Tail, -1)
      FP := nSize
      SetBatchLines, %BatchLines%
      Return Tail
      }

      relStarsClientPoint(id, ByRef x, ByRef y)
      {
      global border
      global caption
      rw := 792
      rh := 546
      WinGetPos, , , w, h, ahk_id%id%
      w := w - (2*border)
      h := h - (2*border) - caption

      x := Floor( (x / rw ) * w )
      y := Floor( (y / rh) * h )

      }

      ;Juks rocks
      PostLeftClick(x, y, table_id, activate=0) {
      ; ### JUK: Send the down left click, then the mouse-up messages.
      ; NOTE: This is relative to the top left of the client area and NOT the top left of the
      ; window (ie: It *doesn't* include the title-bar like AHK's MouseClick does!!!).
      If activate
      WinActivate, ahk_id%table_id%
      PostMessage, 0x201, 0x0001, ((y<<16)^x), , ahk_id%table_id%
      PostMessage, 0x202 , 0, ((y<<16)^x), , ahk_id%table_id%
      }

      PostStarsClick(x, y, id)
      {
      relStarsClientPoint(id, x, y)
      PostLeftClick(x, y, id)
      }

      Для других тем тоже есть, или координаты можно поискать
    • DYRD
      DYRD
      Бронза
      На форуме с: 04.11.2008 Сообщения: 15.939
      В общем, я остановился на таком варианте:

      1. Таймбанк отсюда

      2. Действия за столом: старый (простой) вариант StarsHotkeys отсюда. В нем мне больше всего нравится то, что пока клавишу не отпустил, действие не выполнено. То есть, его можно изменить, а в ниндзе и в новом варианте, нажал = выполнил.

      3. Перемещение стола: вариант Tramantana09

      И все работает как часы :grin:
    • DYRD
      DYRD
      Бронза
      На форуме с: 04.11.2008 Сообщения: 15.939
      мысль возникла: создайте экзешник или батник, чтоб все три скрипта можно было одним кликом запускать, указав в нем местонахождение файлов, лень три нажимать :coolface:
    • AC90210
      AC90210
      Золото
      На форуме с: 07.04.2010 Сообщения: 471
      Оригинал пользователя DYRD
      мысль возникла: создайте экзешник или батник, чтоб все три скрипта можно было одним кликом запускать, указав в нем местонахождение файлов, лень три нажимать :coolface:
      Уже есть такой на 2+2 - The opener
    • DYRD
      DYRD
      Бронза
      На форуме с: 04.11.2008 Сообщения: 15.939
      :f_thumbsup:
    • Tramantana09
      Tramantana09
      Бронза
      На форуме с: 13.07.2010 Сообщения: 767
      Оригинал пользователя DontStopMe
      Tramantana09, а в StarsHotkeys есть автовключение таймбанка?
      На старсех же таймбанк автоматом включается ? не ?? Автовыход из ситаута есть.

      Ой робяты -- сча потрут все ваши сцылки на конкурирующие организации))

      to lister32 - спасибо за ссылку ... такой скрипт еще не пробовал , на TOI похож. Хотел спросить --- те столы что в решетку выносишь ,он в один слой ложит ?? Нельзя скажем финалки в них разложить , а поверху еще дополнительно интересные столы выбрасывать , c возвратом в стек по фолду ?
    • DYRD
      DYRD
      Бронза
      На форуме с: 04.11.2008 Сообщения: 15.939
      Оригинал пользователя Tramantana09
      Оригинал пользователя DontStopMe
      Tramantana09, а в StarsHotkeys есть автовключение таймбанка?
      На старсех же таймбанк автоматом включается ? не ?? Автовыход из ситаута есть.

      Ой робяты -- сча потрут все ваши сцылки на конкурирующие организации))

      только если деньги внес оно включается, только что на плеймани проверил. "Мой" скрипт реально работает. 2+2 не трут
    • 1
    • 2