Check the new version here

Popular channels

Automatizar mesa de Pokerstars en Linux

Les dejo un script en bash que automatiza algunas acciones en una mesa de pokerstars.
Basicamente hace lo siguiente; cada vez que aparece el boton "No ir", es decir cada vez que nos toca jugar, reconoce las cartas de la mano y si alguna es A o K pulsa el boton "Subir" sino pulsa el boton "No ir".
Deberia funcionar bien en cualquier distro o gestor de ventanas ajustando los valores de las geometrias y de las coordenadas ($GEO_* y $POS_* en el script).
Con los mismos comandos del script y un poco de programacion pueden hacerse muchas cosas mas, como por ejemplo elegir rango de manos y de posicion preflop, conocer el color de cartas, etc.
Es necesario tener instalado los siguientes paquetes/programas:
- xdotool (permite simular entradas de teclado, actividad del mouse, etc)
- gocr (reconocedor de texto en imagenes)
- imagemagick ( procesamiento de imagenes, generalmente instalado por defecto en las distros)
Estoy corriendo Pokerstars con el emulador Wine en la distro Slackware 14.1 y el gestor de ventanas XFCE.
Cualquier duda pregunten. Salute

#############################################################################
#!/bin/bash
# geometrias "ancho"x"alto"+"posicion x"+"posicion y"
GEO_MANO=100x30+331+338
GEO_NOIR=65x25+411+499
# coordenadas
POS_SUBIR='714 512'
POS_NOIR='441 512'
# archivos de imagenes
MESA=./mesa.mpc
MANO=./mano.jpg
NOIR=./noir.jpg
# id de ventana de la mesa
WID=$(xwininfo -tree -root | grep PokerStars | grep -v "has no name" |
           grep -v Lobby | cut -d ' ' -f 9)

while true; do
     echo -n "*"
     # trae a primer plano la ventana
     xdotool windowactivate --sync $WID
     # hace una captura de la ventana y la guarda
     import -w $WID $MESA
     # corta geometria
     convert $MESA -crop $GEO_NOIR $NOIR
     # reconoce texto en imagen
     OCR=$(gocr $NOIR)
     # si $OCR es igual a "No ir", nuestro turno para jugar
     if [ "$OCR" == "No ir" ]; then
          convert $MESA -crop $GEO_MANO $MANO
          OCR=$(gocr -u "" -C 0-9AKQJ -l 60 -s 5 -a 85 $MANO)
          # si hay un as o un rey en la mano
          if [[ "$OCR" == *[AK]* ]]; then
               # entonces pulsa boton subir
               xdotool mousemove --window $WID $POS_SUBIR click 1
               echo "$OCR-Subir."
          else
               # sino pulsa boton no ir
               xdotool mousemove --window $WID $POS_NOIR click 1
               echo "$OCR-No ir."
          fi
     fi
     # espera 5 segundos
     sleep 5
done
#############################################################################
2Comments
      GIF
      New