[Ayuda] [Duda] Programando un Robot en Java

Iniciado por ChinoKuun, 21 Enero 2015, 03:46 AM

0 Miembros y 1 Visitante están viendo este tema.

ChinoKuun

Muy buenas a todos, gente de esta comunidad.

Tengo conocimiento basicos de java, y estoy programando un robot para que haga acciones por mi, en realidad mi idea es crear un bot para auto-farmear en un juego, no me meto en la memoria del juego ni nada por lo que no puedo obtener un ban seguro  ;D

Corría mi programa y todo bien, movía el mouse a la posición de la pantalla donde yo quería y daba click y todo jalaba chido, pero a la hora de la verdad y usarlo en el juego, pasa y resulta que en la ventana del juego no se mueve el mouse, ni se pulsan teclas, pero si quito el juego mi robot sigue haciendo sus cosas, es como si estuviera muerta mi querida aplicación para el juego Q__Q

Leyendo y buscando como loco en internet  :rolleyes:, encontré que tengo que obtener el handle de la ventana del juego para que el movimiento del mouse y las pulsaciones del teclado efectuadas por mi robot las reconozca el juego. Aunque también encontré algo llamado "Hook" que no sé muy bien que sea. Más sin embargo no encontré claramente como hacer eso.

Así que mi humilde pregunta es:
¿Cómo se obtiene un Handle de una ventana, en este caso la ventana del juego, en java?

No posteo el código por que me da vergüenza que vean mi código encimado  :-[ , pero si lo ocupan, díganlo y yo lo posteare con gusto  :) .

3n31ch

Como estas haciendo el robot?
Con la clase robot supongo... me podrías decir el nombre del juego para hacer pruebas, no entiendo realmente tu error, hasta donde yo se no importa de que ventana se trate ni nada, la clase robot controla el teclado y el mouse no el juego en si.

No se si pueda ayudarte, pero me llamo la atención en error u.u

ChinoKuun

Si, en efecto estoy usando la clase Robot de java.

El juego se llama Dragon Nest. lo ejecute en modo ventana para poder ejecutar mi robot, y aun no se mueve el mouse dentro de la pantalla del juego  :-(

3n31ch

#3
Ok, vere que sucede.

Anda tu.. xD!, lo lamento pero por un segundo pensé que seria uno de esos juegos que descargo y ya esta a jugar.

Veras no me animo a hacer pruebas, pero me llamo mucho la atención, al menos te toma datos del teclado, no se, si intentas escribir algo?

ChinoKuun

No :C

En la ventana del juego  ya intente hacer que el mouse se mueva desde abajo hasta arriba con un ciclo for, para ver si en la ventana del juego se movía el mouse pero nada, hacer que escriba mi ID y Pass, pero tampoco. Sin embargo si paso el bot a otro programa, como paint, dibuja y hace tonterías que yo le pongo a hacer, si funciona.

Lo curioso es que si, mientras el mouse se mueve de abajo hacia arriba, en la ventana del juego el mouse se queda quieto, no se mueve, pero si presiono alt+tab para dar al escritorio, veo que el mouse se mueve, y le vuelvo a dar alt+tab, el mouse en la ventana del juego se queda en donde se había quedado en el escritorio.

La verdad es que no sé que le pase, creo que necesito el handle de la ventana del juego, pero no se hacer eso.


3n31ch

El problema recae en esto, java es un lenguaje que corre sobre una maquina virtual como sabrás, entonces este lenguaje no es el mas indicado para utilizar datos propios del sistema por el simple hecho de que java no corre directamente sobre el sistema.

Por esta razón veo difícil que puedas obtener datos íntegros de otro programa que corre sobre el sistema.

Pero me llama mucho la atención que suceda eso que te pasa, podrías intentar algo por mi?, intenta utilizar Robot para sacar una especie de foto de la pantalla, si mal no me equivoco el método era "createScreenCapture"... quiero ver si efectivamente al menos visualiza el videojuego.

ChinoKuun

Disculpa por la tardanza, pero eso de los gráficos no se me da mucho  :rolleyes:

Ya lo hice, y si, el robot pudo sacar una captura de pantalla y hay se muestra la pantalla del juego... solo que no sé poner una imagen aquí para colgarla  :-\


3n31ch

Pues nada, ya no se me ocurre xD!, lo lamento.

Si tienes skype, mándame tu username por mensaje y compartes pantalla, a ver si se me ocurre algo viéndolo. Pero lo mas seguro es que no.

ChinoKuun

#8
Esta es la toma de pantalla, con el juego del fondo.



(P.D: me dio disconect del server por tener tanto tiempo sin hacer nada en la ventana del juego x3)

3n31ch

Ni idea, me quedo con la duda, espero que alguien que sepa mas del tema te pueda ayudar