Buenas, antes que nada pido disculpas por tener que pedir ayuda con algo que imagino será básico para los que llevéis tiempo usando este programa, pero acabo de descubrirlo hoy tras llevar un par de días volviéndome loco para hacerlo desde C# y el juego en cuestión (Rainbow Six Siege) no se traga las keypress de ninguna manera.
Con Autohotkeys por lo menos he confirmado que sí es viable hacerlo gracias a la herramienta de este usuario https://autohotkey.com/board/topic/9565 ... -tool-v32/ pulsándome la letra K con algunos de los métodos que incluye, pero ahí me he quedado.
Me he centrado en una de las funciones que sí logra mandar la pulsación al juego y he intentado adaptarla para ver si logro hacerla funcionar por mi cuenta quedando algo así:
j::
ToolTip, Testing K With SendRaw,0,0
sleep, 100
SendRaw, K
return
(el tooltip lo he dejado para ver si se activaba el script)
He estado haciendo alguna prueba y parece que en el escritorio o con el notepad sí que logro que se ejecute el script (aparece el tooltip y escribe la letra) pero en el juego no hace nada.
Algún consejo?
Mandar tecla a juego mediante SendRaw
Moderator: Flipeador
Re: Mandar tecla a juego mediante SendRaw
¿ya probaste con SendPlay y SendInput?
Code: Select all
SendPlay, k
SendInput, k
Nota: SendPlay puede no tener ningún efecto en absoluto si UAC está habilitado, incluso si el script se está ejecutando como administrador.
Re: Mandar tecla a juego mediante SendRaw
Buenas acabo de probar con esas dos funciones también, el problema es que parece que con la ventana del juego seleccionada no se ejecuta el script. Fuera de ella funciona perfectamente.
En la herramienta de SnowFlake te pide que introduzcas el nombre de la ventana a la que mandar las teclas, así que me imagino que irán por ahí los tiros. Llevo un rato repasándome el SC de su aplicación pero ando muy perdido con este lenguaje.
En la herramienta de SnowFlake te pide que introduzcas el nombre de la ventana a la que mandar las teclas, así que me imagino que irán por ahí los tiros. Llevo un rato repasándome el SC de su aplicación pero ando muy perdido con este lenguaje.
Re: Mandar tecla a juego mediante SendRaw
y probaste con:
con el programa ese, ¿te funciona bién con la tecla "J" (como en tu primer ejemplo)?
la tecla "J", en el juego, ¿tiene una función asignada?, intenta probar con, por ejemplo, F12.
Code: Select all
ControlSend,, k, A
SendEvent, k
ControlSendRaw,, k, A
la tecla "J", en el juego, ¿tiene una función asignada?, intenta probar con, por ejemplo, F12.
Re: Mandar tecla a juego mediante SendRaw
Flipeador wrote:y probaste con:con el programa ese, ¿te funciona bién con la tecla "J" (como en tu primer ejemplo)?Code: Select all
ControlSend,, k, A SendEvent, k ControlSendRaw,, k, A
la tecla "J", en el juego, ¿tiene una función asignada?, intenta probar con, por ejemplo, F12.
El programa mandaba la tecla K y ejecutaba el test con F3.
En principio ya está, al parecer el problema estaba al intentar activar el script desde dentro del juego (en mi caso con j::) Si ejecutas el script externamente mientras juegas sí que recibe las keystrokes.
El script ha quedado así:
Code: Select all
dllcall("keybd_event", int, 0x4C, int, 0x025, int, 0, int, 0) //Pulsa K
Sleep, 200
dllcall("keybd_event", int, 0x4D, int, 0x026, int, 0, int, 0) //Pulsa L
Sleep, 40
dllcall("keybd_event", int, 0x4D, int, 0x026, int, 2, int, 0) //Libera L
Sleep, 50
dllcall("keybd_event", int, 0x4C, int, 0x025, int, 2, int, 0) //Libera K
return
Gracias por la ayuda!
Who is online
Users browsing this forum: No registered users and 29 guests