Página 1 de 1

Duda de MUY novato

Publicado: 08 Abr 2011, 23:00
por ziknos
Buenas, estoy rehaciendo un "bot" que hice hace tiempo pero que formatee el ordenador y estuve bastante tiempo sin usar autoit y ya no me acuerdo de nada...

Código: Seleccionar todo

$ceb = PixelGetColor(1100, 194)
$ecb = Pixelgetcolor(555, 235)
$scb = Pixelgetcolor(606, 701)



Do
sleep(5000)
Mouseclick("left", 844, 955, 1, 80) 
sleep(5000)
Mouseclick("left", 119, 556, 1, 80) 
Sleep(5000)
Until $ceb = 5706763

Do
 $ecb = 7471104
	mouseclick("left", 555, 235, 1, 80)
	sleep(1000)
	mouseclick("left", 555, 235, 1, 80)
	sleep(1000)




Send("w")
Send("w")
sleep(1000)
Send("w")
Send("s")
Send("s")
Sleep(1000)
Send("s")
Send("q")
if $scb = 3539201 then
	Mouseclick("left", 606, 701, 1, 80)
	sleep(1000)
	Mouseclick("left", 606, 701, 1, 80)
Lo que necesito hacer es lo siguiente, en la primera parte quiero que se repita hasta que el color del pixel que tengo puesto (pixelgetcolor) sea el puesto
Do
sleep(5000)
Mouseclick("left", 844, 955, 1, 80)
sleep(5000)
Mouseclick("left", 119, 556, 1, 80)
Sleep(5000)
Until $ceb = 5706763

es decir hacer eso hasta que el color sea el de la variable $ceb y cuando así sea, pasar a la siguiente linea del código y así continuamente con cada uno de los pasos, hasta el final que quiero que se repita el código entero.

Gracias!

Re: Duda de MUY novato

Publicado: 08 Abr 2011, 23:43
por Chefito
Buenas.
Tienes que meter $ceb = PixelGetColor(1100, 194) dentro del bucle while ... until para que siempre lo revise y mire a ver si cambia el valor del color al que tu buscas. Si no lo mentes dentro, la varible $ceb siempre tendrá el mismo valor, el que coje al principio, y nunca saldrá del bucle (a no ser que coincida desde el principio con el color que le has puesto de condición para salir del bucle).

Saludos.

Re: Duda de MUY novato

Publicado: 08 Abr 2011, 23:57
por ziknos
Chefito escribió:Buenas.
Tienes que meter $ceb = PixelGetColor(1100, 194) dentro del bucle while ... until para que siempre lo revise y mire a ver si cambia el valor del color al que tu buscas. Si no lo mentes dentro, la varible $ceb siempre tendrá el mismo valor, el que coje al principio, y nunca saldrá del bucle (a no ser que coincida desde el principio con el color que le has puesto de condición para salir del bucle).

Saludos.
Gracias, voy a probar y ahora cuento que tal.

Re: Duda de MUY novato

Publicado: 10 Abr 2011, 06:46
por ms999
ziknos escribió:

Código: Seleccionar todo

...
$ecb = Pixelgetcolor(555, 235)
...
Do
 $ecb = 7471104
	mouseclick("left", 555, 235, 1, 80)
	sleep(1000)
	mouseclick("left", 555, 235, 1, 80)
	sleep(1000)
Igual cito esta parte del code nomas porque esta rara,¿porque le decis el valor que tiene que tener $ecb, si antes ese valor salia de un pixelgetcolor? El resto no lo vi porque ando medio dormido, luego mas lucido me fijo bien.

Re: Duda de MUY novato

Publicado: 10 Abr 2011, 12:07
por ziknos
Nada, no hagas caso a eso, estaba mal.

Ahora ya me funciona, era lo que me pusiste, chefito.

Muchas gracias.

ms999 el código ese sería así:

Código: Seleccionar todo

Do
	$ecb = Pixelgetcolor(555, 235)
	$dcb = PixelGetColor(597, 91)

If $ecb = 7471104 then
	mouseclick("left", 555, 235, 1, 80)
	sleep(1000)
	mouseclick("left", 555, 235, 1, 80)
	sleep(1000)
	endif
Until $dcb = 4332552