Clicks automáticos, una ayuda con los juegos en línea

Según la mayoria de los juegos, se considera trampa usar cualquier herramienta que permita realizar tareas al jugador de manera automática, así que haganlo con precaución ;)

Me acabo de topar con un problema en un juego en línea, debo actualizar 4,500 páginas para incluirlas en una herramienta de análisis que provee cierta ventaja sobre los demas usuarios, nada raro para un jugador mas o menos dedicado… si, leiste bien, ¡actualizar 4,500 páginas!

Como buen programador, prefiero que un ciclo repita esta tarea en lugar de someterme a tanta repitición. Una busqueda rapida arroja varios resultados y el mejor que encontré se los explico en breve.

xdotool

Esta herramienta permite simular la entrada de teclado, ratón, mover y redimensionar ventanas entre otras cosas, todo en X (claro!)

tan sencillo como siempre

$sudo apt-get install xdotool

luego el comando para dar un click izquierdo se ejecuta algo así:

$xdotool click 1

¡Ya esta! Puedo hacer click en la pantalla cuando quiera, falta determinar ese “cuando”

watch

Este comando permite ejecutar otro comando en un intervalo de tiempo regular y determinado. Se ejecuta así:

watch [option(es)] comando

Para el problema original el comando que lo soluciona es:

$watch -n 2 xdotool click 1

Siempre y cuando posicionemos el cursos del ratón sobre el botón que cambia la página. Con esto, el programa actualizará una nueva página cada 2 segundos hasta completar las 4,500 repeticiones… de hecho, hasta que lo termine :P

¿Que más?

Aquí es donde lo usas a tu imaginación, por ejemplo, puede programarse un detector de caracteres (OCR) para dotar a nuestro programa de la habilidad de adaptarse a varios entornos simples o complejos, siempre que sean repetitivos.

Por ejemplo, puede hacerse un programa que juegue por ti automáticamente mientras no estas, cosa por demas ventajosa. Tal vez no muy complejo, pero al menos las cosas mas básicas.

Alternativas

Para xdotool no encuentro algo mejor, para watch… supongo que hay muchos (cron por ejemplo), ya es su preferencia.

Enlaces

XdoTool http://www.semicomplete.com/projects/xdotool/
watch http://www.linfo.org/watch.html
El juego: Ogame http://www.ogame.org/
La herramienta: Galaxytool http://es.wiki.galaxytool.eu/