Alguna idea de cómo hookear correctamente el mouse, los códigos que he encontrado no ayudan mucho..
La idea sería sino me equivoco:
- Al presionar el botón izquierdo, guardar la posición del mouse.
- Esperar 2 segundos
- Regresar el cursor a la misma posición.
- Repetir una y otra vez
Sería así la cosa ?
Ya hice la de guardar la posición, pero no logro manipular la posición correctamente me brinca un montón cuando le seteo las coordenadas.
Saludos
Estas haciendo exactamente lo que te dije que no hicieras. No tienes que calcular a donde va el ratón para moverlo a la posición inicial porque te va a ir a saltos y vas a realizar un movimiento por cada desvio. Lo cual no es buena idea principalmente por el timming.
Lo que tienes que hacer es disparar a un muro, crear la patern al revés para esa arma y guardarla. Una vez tienes la patern creada y más o menos van todos los disparos al centro, debes alterar el timming, suavizar y añadir márgenes de error y probabilidades de error. También debes detectar el arma por eso de no hacer el recoil de una ak cada vez que uses el cuchillo, etc.
Normalmente se utiliza una secuencia para activar el hack con un timer o con otra secuencia para desactivarlo.
Ya te lo expliqué, asique intentaré ser más visual.
Imagínate que la ametralladora barrel (nombre hipotético) dispara en forma de símbolo
}Esto quiere decir, que si tu no tocas el ratón y disparas, las balas de la ametralladora van a dibujar un corchete
} en el muro.
Lo que tienes que hacer es hacer el patrón al revés moviendo el cursor. Es decir, cuando se haga click, mueve el ratón haciendo esta forma
{Con esto lo que consigues es que todas las balas vayan siempre al centro moviendo la cámara. Si el patrón hace siempre lo mismo es muy obvio. Esto lo puedes resolver de varias formas. Puedes añadir un par de patrones opuestos similares. Por ejemplo
( y
|. Tiras un randomizador por cada click y añades un % de la antipattern real según el número aleatorio. Debes ajustar el umbral para por ejemplo solo obtener números entre 25% y 80%.
Reusas la función para generar otras patterns.
Generas otro número aletorio para decidir que otra pattern añadir a tu antipattern para suavizarla.
Generas otro para el timmer.
Te hice una imagen de ejemplo.
Las lineas finas rojas dentro de la cabeza es la mirilla.
El corchete verde es la dirección/recoil en la que la arma se mueve automáticamente al disparar.
Los ***** rosas dentro del corchete son los puntos de impacto de cada bala.
El corchete azúl es la pattern al revés, es decir, lo que tu tienes que crear.
Los puntos rojos son en que posición de la patern has movido tu el cursor.
Las lineas amarillas son el punto medio entre cada bala y cada posición opuesta creada por ti. Es decir, todas las balas van a impactar siempre en el centro de la mirilla si haces la antipattern perfecta.
Siguiente la flecha verde tienes la unión de tres patterns distintas pero similares.
Lo puntos rojos dentro de esas patterns son todas las posibles posiciones a donde debes mover el cursor.
Siguiendo la otra flecha verde ves que esa pattern se creo usando los 3 símbolos.
A la derecha de todo entre azúl tienes lo que debes crear. Un cúmulo de posibilidades y posiciones con distintas variaciones de tiempo que estadísticamente aumente tus posibilidades de acertar en el blanco.
Suavizas haciendo una media entre el corchete con la antipattern perfecta y el cúmulo. Y las posiciones reales apegándolas al centro de la media de puntos.
Así te queda un patrón así al que le puedes pasar una seed distinta entre cada click para alterarlo.
Para evitar los saltos tienes que tener precalculada la pattern para ir moviendo el cursor de forma continua trazando un linea curva en este caso pasando por cada punto generado para ese intervalo del punto sin alejarse un tanto % de punto medio. En resumen. Matemáticas xD
La circunferencia azúl define el límite y la dirección de la pattern, el cuadrilátero formado por la unión de los cuatro puntos define la forma de la pattern. La circunferncia gorda cian define el centro de la pattern. Los puntos naranjas definen la pattern final creada, que se obtienen haciendo la media entre la circunferencia y el cuadrilátero. Para no realizar siempre exactamente la misma pattern, metes un randomizador para alterar la curva generada(circunferencia naranja).
Y falta algo más que es importante. El timer. Si siempre tras pulsar el ratón "tienes el mismo tiempo de reacción"... xD Blanco y en botella. Con usar la función Sleep() y meterle algo de latencia, listo.
Esto todo tienes que sumarlo a la posición actual, nada de "al centro". Porque como lo pongas para el centro y tu muevas manualmente el ratón, te va a hacer media con la pattern y darte un salto de media pantalla xD.
De todas formas si eres manco como yo en esos shooter, te renta más el hack del gps. Capturas el tráfico con un Smartphone lees directamente de la memoria y le pones un text to speach que te indique la posición. Enemigo más cercano a las 6.
Si usas un wallhack es demasiado obvio y los fails puede ser muy grandes. Tipo que hay 2 muros en medio, el enemigo cruza uno y le pegas un tiro al miro de delante a la cabeza del jugador y pega la bala en el muro xDDD
En competitivo se ven muchos fails de esto xD