mejorar script con teclas aleatorias Topic is solved

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

Moderator: Flipeador

metaboliic
Posts: 9
Joined: 05 Aug 2022, 11:08

mejorar script con teclas aleatorias

Post by metaboliic » 10 Aug 2022, 18:20

hola este script busca el color y al detectarlo el color correcto presiona una tecla, todo bien, pero me gustaria que en vez de buscar el color detecte un cambio de color y presione una tecla al azar entre f1,f2,f3,f4,f5,f7,f9,f10 y f11 ya que el busca muchos colores jeje supongo que si el color es marron y cambia a otro color diferente puede presionar una tecla entre estas pero no se como :?:
de ante mano gracias, ahh lo uso en cliente de juego llamado runelite y me corrio bien pero son como 22 colores diferentes y le podria poner una f a cualquiera pero lo veo muy complejo o no? jeje otra cosa seria que lo detecte el cliente o0

Code: Select all

1::

Loop
{
    CoordMode, Pixel, Client
    PixelSearch, FoundX, FoundY, 608, 453, 645, 493, 0x38540F, 0, Fast RGB
    If ErrorLevel = 0
    	Send, {f2}
}
Until ErrorLevel = 0
Loop
{
    CoordMode, Pixel, Client
    PixelSearch, FoundX, FoundY, 608, 453, 645, 493, 0x784A77, 0, Fast RGB
    If ErrorLevel = 0
    	Send, {f3}
}
Until ErrorLevel = 0
Loop
{
    CoordMode, Pixel, Client
    PixelSearch, FoundX, FoundY, 608, 453, 645, 493, 0xB38144, 0, Fast RGB
    If ErrorLevel = 0
    	Send, {f4}
}
Until ErrorLevel = 0
Loop
{
    CoordMode, Pixel, Client
    PixelSearch, FoundX, FoundY, 608, 453, 645, 493, 0xAD7C1E, 0, Fast RGB
    If ErrorLevel = 0
    	Send, {f5}
}
Until ErrorLevel = 0

2::reload
Esc::exitapp
[Mod edit: [code][/code] tags added.]
Last edited by metaboliic on 11 Aug 2022, 19:29, edited 2 times in total.

sofista
Posts: 645
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: mejorar script con letras aleatorias  Topic is solved

Post by sofista » 11 Aug 2022, 14:59

Hola: El siguiente script presiona una tecla de función al azar, espero que te sirva:

Code: Select all

1::
	Fkey := rand()
	Send, {%Fkey%}
return

rand() {
	static arr := [ "f1", "f2", "f3", "f4", "f5", "f7", "f9", "f10", "f11" ]
	Random, randFk, 1, arr.Count()
	return arr[randFk]
}

metaboliic
Posts: 9
Joined: 05 Aug 2022, 11:08

Re: mejorar script con letras aleatorias

Post by metaboliic » 11 Aug 2022, 18:13

lo puse asi pero creo que no se mantiene buscando lo hace 1 sola vez creo, me gustaria que se repita constantemente buscando el color asi lo consiga, tendra un error mas? jeje y muchas gracias me ayudas mucho

Code: Select all

1::

Loop
{
    CoordMode, Pixel, Client
    PixelSearch, FoundX, FoundY, 604, 450, 624, 471, 0xFFFF00, 0, Fast RGB
    If ErrorLevel = 0
    		Fkey := rand()
	Send, {%Fkey%}
return

rand() {
	static arr := [ "f1", "f2", "f3", "f4", "f5", "f7", "f9", "f10", "f11" ]
	Random, randFk, 1, arr.Count()
	return arr[randFk]
}
}
Until ErrorLevel = 0

Esc::exitapp
Last edited by metaboliic on 11 Aug 2022, 19:31, edited 3 times in total.

sofista
Posts: 645
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: mejorar script con teclas aleatorias

Post by sofista » 11 Aug 2022, 18:36

Sí, así se integra el script que te envié antes con el tuyo —pero no te olvides de usar las etiquetas para el visualizar el código, que duele la vista verlo en texto normal—:

Code: Select all

1::
	Loop {
			CoordMode, Pixel, Client
			PixelSearch, FoundX, FoundY, 608, 453, 645, 493, 0x38540F, 0, Fast RGB
;			PixelSearch, Px, Py, 1054, 19, 1054, 9, 0xFFFFFF, 1, Fast RGB
			If (ErrorLevel = 0) {
				Fkey := rand()
				Send, {%Fkey%}
			}
	} Until ErrorLevel = 0
return

rand() {
	static arr := [ "f1", "f2", "f3", "f4", "f5", "f7", "f9", "f10", "f11" ]
	Random, randFk, 1, arr.Count()
	return arr[randFk]
}

2::reload
Esc::exitapp
Lo probé con la línea comentada —apunta al icono de batería de mi portátil— y funcionó perfecto, en la prueba activó F5.

metaboliic
Posts: 9
Joined: 05 Aug 2022, 11:08

Re: mejorar script con teclas aleatorias

Post by metaboliic » 11 Aug 2022, 18:53

disculpa es que yo de programar no se nada,
lo ejecute coon 1 y encontro el color y ejecuto la tecla aleatoria todo bien, pero luego como que se detiene xq tengo que volver accionar 1 para que vuelva ejecutar y me gustaria que no se detenga osea un bucle y que descanse unos 5 segundos hasta que yo salga con Esc

sofista
Posts: 645
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: mejorar script con teclas aleatorias

Post by sofista » 11 Aug 2022, 19:39

La estructura

Code: Select all

Loop {
	...
} Until ErrorLevel = 0
se puede describir aproximadamente como "busca el pixel con las características "XYZ" hasta que sea encontrado, es decir, hasta que ErrorLevel sea igual a 0".

Por lo tanto, para tener una búsqueda continua hay que eliminar la instrucción Until ErrorLevel = 0.

Eso es todo :)

sofista
Posts: 645
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: mejorar script con teclas aleatorias

Post by sofista » 11 Aug 2022, 19:46

Ooops, me olvidé de la pausa de los 5 segundos. Este sería el script completo:

Code: Select all

1::
	Loop {
		CoordMode, Pixel, Client
		PixelSearch, FoundX, FoundY, 608, 453, 645, 493, 0x38540F, 0, Fast RGB
		If (ErrorLevel = 0) {
			Fkey := rand()
			Send, {%Fkey%}
		}
		Sleep, 5000    ; 5 segundos
	}
return

rand() {
	static arr := [ "f1", "f2", "f3", "f4", "f5", "f7", "f9", "f10", "f11" ]
	Random, randFk, 1, arr.Count()
	return arr[randFk]
}

2::reload
Esc::exitapp

User avatar
ositoMalvado
Posts: 180
Joined: 24 Dec 2019, 12:02
Contact:

Re: mejorar script con teclas aleatorias

Post by ositoMalvado » 16 Aug 2022, 18:44

Oye podrás dar un ejemplo con algún video, o imagen de lo que necesitas hacer? Puedo hacerlo fácilmente, pero te explicas medio complicado,.
My WEB some useful stuff

metaboliic
Posts: 9
Joined: 05 Aug 2022, 11:08

Re: mejorar script con teclas aleatorias

Post by metaboliic » 11 Sep 2022, 10:29

no, si quedo de lujo, estoy muy agradecido por la ayuda de sofista
es para un juego runescape donde tengo que botar unas semillas de mi inventario cada que se llena entonces uso el color de busqueda para que active una F1,F2 etc, donde tengo grabado varios recorridos para dropear las semillas

Post Reply

Return to “Pedir Ayuda”