Cambios Macro Topic is solved

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.
Funboy

Cambios Macro  Topic is solved

15 Mar 2019, 07:30

$7:: Hola un saludo a todos.

Tengo esta macro, la cual funciona bien. Es para el juego diablo3.

$5::
Loop
{
SendInput {Shift down}
Sleep 50
SendInput {LButton down} ; Archon
Sleep 100
SendInput {LButton up} ; Archon
SendInput {Shift up}
SendInput {1 up} ; ray of frost
Sleep 20100
SendInput {RButton down} ; Black Hole
SendInput {RButton up} ; Black Hole
Sleep 590
SendInput {2 down} ; wave of force
Sleep 10
SendInput {2 up} ; wave of force
Sleep 50
SendInput {3 down} ; Electrrocute
Sleep 3100
SendInput {3 up} ; Electrrocute
SendInput {4 down} ; meteor
Sleep 10
SendInput {4 up} ; meteor
Sleep 90
SendInput {3 down} ; Electrrocute
Sleep 1000
SendInput {3 up} ; Electrrocute
Sleep 50
SendInput {1 down} ; ray of frost
Sleep 1000
SendInput {1 up} ; ray of frost
Sleep 1350
SendInput {RButton down} ; Black Hole
SendInput {RButton up} ; Black Hole
Sleep 490
SendInput {2 down} ; wave of force
Sleep 100
SendInput {2 up} ; wave of force
SendInput {3 down} ; Electrrocute
Sleep 1600
SendInput {3 up} ; Electrrocute
Sleep 1000
SendInput {4 down} ; meteor
Sleep 10
SendInput {4 up} ; meteor
Sleep 90
SendInput {3 down} ; Electrrocute
Sleep 1000
SendInput {3 up} ; Electrrocute
Sleep 50
SendInput {1 down} ; ray of frost
Sleep 100


}
return

$6::
Reload
Sleep 1000
return



El problema que tengo, es que a veces hay que pararla, la activo con tecla 5, y programe la tecla 6 para hacer un reload, y que supuestamente se recargara de nuevo y parara

El problema que tengo, que algunas veces, no pasa siempre, aunque pulse la tecla de reload, se queda pillado, y me sigue haciendo pulsaciones en el juego.

Después, para que pare, tengo que cerrar el script. He sustituido el comando reload por ::ExitApp, lo cual cierra el script y se acaban los problemas

La idea es tener otro script, el cual me abra el script y me lo inicie, lo programe de la siguiente manera
$7::
{
Run K:\Juegos\Piruletas\XMouseButton\Macros\Nombre.ahk
SendInput {5 down}
SendInput {5 up}
}

return

Cuando pulso el botón 7, me abre al archivo, pero no me hace la pulsación numero 5, que seria la que activaría de nuevo la macro

No tengo demasiados conocimientos, y no se de que manera podría solucionarlo, bien con algún comando dentro del primer script, que mate el proceso bien, y no se queden teclas pulsadas en el juego

O con el segundo script, que fuerce a pulsar el numero 5 para iniciarla

Gracias de antemano
devnullsp
Posts: 46
Joined: 21 Nov 2017, 09:00

Re: Cambios Macro

06 Apr 2019, 16:52

Se que has puesto que estaba corregido pero a ver si te gusta esto que te pongo....

Bueno, yo lo que haria, creo que es más sencillo, seria definirme una función para pulsar y esperar pero comprobando que puedes, o sea cuando tu haces:
SendInput {Shift down}
Sleep 50

Yo substituiria las llamadas por:

Code: Select all

; -----------------------------
; Variable global de control
; ------------------------------
GLOBAL parado := false

$5::
	Loop
	{
		if(pulsar("{Shift down}", 50)) return
		if(pulsar("{LButton down}", 100)) return
		[.. aqui el resto..]
	}


	
;--------------------------------------------
; funcion principal
;--------------------------------------------
pulsar(accion, espera:=0){
     if(!parado){
        SendInput %accion%
        if(espera) 
              sleep %espera%
     }
     return parado
}

;--------------------------------------------
; Llamar a CtrlF11 para parar CtrlF12 para salir
; para volver a ejecutar desde el principo usar la misma hotkey
;--------------------------------------------

^F11:
	parado := true
return

^F12:
	ExitApp



Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 2 guests