ayuda porfavor Topic is solved

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

Moderator: Flipeador

nikolas
Posts: 4
Joined: 22 Oct 2022, 00:40

ayuda porfavor

26 Oct 2022, 17:35

estoy buscando y tratando de hacer un scrip que haga lo siguiente
1 que guarde la ubicacion de donde clickeo en var x var y (para realizar los siguiente pasos)
2 agregar 5 al var x, y restartarle al var y ( la idea que de donde clickeo tenga un radio de 2 a la derecha y 2 a la izquierda )
3 el imagen search (la imagen sera pequeña) en esos var de x ,y (en caso de estar la imagen frenar el programa , en caso de NO ESTAR la imagen en ese radio presionar F5(F5 Es un ejemplo deberia poder editarse )

DESDE YA DISCULPEN la molestia y muchas gracias
sofista
Posts: 654
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: ayuda porfavor  Topic is solved

26 Oct 2022, 22:39

Hola: Espero haber interpretado correctamente las instrucciones, si no es el caso, pues trata de explicarte mejor o con más detalle.

Code: Select all

q::                                                      ; cambialo por el hotkey que quieras
	ToolTip, Hacé clic en alguna parte de la pantalla    ; comentar si no es necesario
	KeyWait, LButton, D
	MouseGetPos, X, Y
	KeyWait, LButton, U
	ToolTip                                              ; comentar si no es necesario
	ImageSearch, OutputVarX, OutputVarY, X - 2, Y - 2, X + 5, Y + 5, <ImageFile>    ; actualizar con la ruta de la imagen a buscar
	if !ErrorLevel
		MsgBox, Se encontró la imagen                    ; el programa termina al cerrar el MsgBox
	else
		Send, {F5}
Return
nikolas
Posts: 4
Joined: 22 Oct 2022, 00:40

Re: ayuda porfavor

29 Oct 2022, 18:43

lo que quisiera hacer con el scrip es una vez iniciado el SCRIP Es lo siguiente
clickear una parte en la pantalla y si la imagen no se encuentra (puede ser imagen o pixel a usarse es algo que puedo editar) apretar f5 y volver a buscar la imagen en donde se realizo el primer click
y que se vuelva un bucle lo de buscar imagen si no se encuentra apretar f5 y si se encuentra frenar el scrip , se me esta dificultando un poco de que se realice el bucle y se frene al aparecer la imagen o el pixel
trate asi pero no pude

Code: Select all

q::                                                      ; cambialo por el hotkey que quieras
	ToolTip, Hacé clic en alguna parte de la pantalla    ; comentar si no es necesario
	KeyWait, LButton, D
	MouseGetPos, X, Y
	KeyWait, LButton, U
	ToolTip                                              ; comentar si no es necesario
Loop
{	
PixelSearch, OutputVarX, OutputVarY,0x94ff00
	if !ErrorLevel=0
		MsgBox, Se encontró la imagen                    ; el programa termina al cerrar el MsgBox
               Break
	if !ErrorLevel=1
		Send, {F5}
}
Return
[Mod edit: [code][/code] tags added.]
sofista
Posts: 654
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: ayuda porfavor

29 Oct 2022, 22:44

Agregué un ciclo al script para buscar la imagen indefinidamente y, además, un toggle —hotkey w— para interrumpir el ciclo ante cualquier circunstancia.

Code: Select all

#MaxThreadsPerHotkey 2
toggle := False

w::toggle := False                                       ; interrumpe el ciclo (es recomendable cuando se usan ciclos potencialmente infinitos)

q::                                                      ; cambialo por el hotkey que quieras
	ToolTip, Hacé clic en alguna parte de la pantalla    ; comentar si no es necesario
	KeyWait, LButton, D
	MouseGetPos, X, Y
	KeyWait, LButton, U
	ToolTip                                              ; comentar si no es necesario
	toggle := True                                       ; hace posible la interrupción del ciclo
	while (toggle) {                                     ; comienza el ciclo
		ImageSearch, OutputVarX, OutputVarY, X - 2, Y - 2, X + 5, Y + 5, <ImageFile>    ; actualizar con la ruta de la imagen a buscar
		if (!ErrorLevel) {                               ; se encontró la imagen
			toggle := False                              ; para no romper el invariante
			break                                        ; sale del ciclo
		}
		Send, {F5}
		Sleep, 100
	}
Return
Nota: Por favor, cuando publiques código encerralo entre las etiquetas code, porque así se facilita la lectura.

Return to “Pedir Ayuda”

Who is online

Users browsing this forum: No registered users and 4 guests