Página 1 de 1
PixelSearch (problema de expresion)
Publicado: 15 Jul 2012, 20:37
por Josede
Hola que tal, os explico mi idea, seguramente sera facil, pero soy un poco burro a la hora de escribirlo.
Yo quiero, que cuando encuentre 1 pixel en una zona determinada haga 1 cosa, y sin embargo, sino lo encuentra haga otra. Yo he puesto esto pero pienso que esta mal expresado porque no me funciona.
If PixelSearch(44,55, 55, 44, 0xA13C23, 1) Then
Sleep(50)
Else
Sleep(90)
EndIf
Tambien lo he expresado asi pero no se ni por k XD
If PixelSearch(44,55, 55, 44, 0xA13C23, 1)==1 Then
Sleep(50)
Else
Sleep(90)
EndIf
Gracias!
Re: PixelSearch (problema de expresion)
Publicado: 16 Jul 2012, 00:04
por joana
No soy ninguna experta, pero PixelSearch devuelve un array.
Tonces
Código: Seleccionar todo
If IsArray(PixelSearch(...)) Then
Opcion A ;Aquí si.
Else
Opcion B ;Aquí no ha encontrado pixel.
EndIf
Re: PixelSearch (problema de expresion)
Publicado: 16 Jul 2012, 00:58
por Chefito
Lo explica perfectamente en la ayuda. Si da @error=1 es que no lo ha encontrado, y si lo encuentra da @error=0. Si encuentra el color, la función devuelve un array de dimensión 2, las cuales son las coordenadas del pixel encontrado, x e y.
Mirando el ejemplo, y adaptandolo un poco:
Código: Seleccionar todo
; Find a pure red pixel in the range 0,0-20,300
Local $coord = PixelSearch(0, 0, 20, 300, 0xFF0000)
If Not @error Then
MsgBox(0, "X and Y are:", $coord[0] & "," & $coord[1])
else
msgbox(0,"No encontrado", "El pixel de ese color no ha sido encontrado")
EndIf
Saludos.
Re: PixelSearch (problema de expresion)
Publicado: 16 Jul 2012, 01:45
por Josede
Vale gracias a los dos, al final lo he puesto asi
PixelSearch(44,55, 55, 44, 0xA13C23, 1)
If not @error then
Sleep(50)
Else
Sleep(90)
EndIf
Gracias.
Re: PixelSearch (problema de expresion)
Publicado: 16 Jul 2012, 15:48
por Josede
En este caso, si se da que encuentra el pixel, directamente leera "Estudiar" (no leera "Marmol" ) y seguira leyendo "Minotauro".
Código: Seleccionar todo
While1
Jose()
Arbol()
Tesoro()
PixelSearch(44,55, 55, 44, 0xA13C23, 1)
If not @error then
Estudiar()
Else
Marmol()
EndIf
Minotauro()
WEnd
Ahora os pongo otro ejemplo a ver si seria posible o como tendria que ponerlo.
Código: Seleccionar todo
While1
Jose()
Arbol()
Tesoro()
PixelSearch(44,55, 55, 44, 0xA13C23, 1)
If not @error then
Estudiar()
EndIf
Minotauro()
WEnd
Yo simplemente quiero que empiece a leer y que si encuentra el pixel Directamente haga lo que pone en "Estudiar" pero sin embargo que deje de leer es decir, que no lea "Minotauro" (o todo lo que haya despues) y que directamente vuelva a empezar.
Gracias Un saludo-
Re: PixelSearch (problema de expresion)
Publicado: 16 Jul 2012, 18:56
por jamaro
Hola Josede:
Con tú último código ¿has probado a poner Minotauro() después de WEnd ?
Con esto lo sacas del bucle ¿funciona?
Re: PixelSearch (problema de expresion)
Publicado: 16 Jul 2012, 20:02
por Josede
Pero si lo saco, no lo leera nunca. Yo lo unico que quiero es que si en alguna ocasion encuentra el pixel, vuelva empezar desde el principio directamente y en el caso de que no encuentre el pixel, siga leyendo en este caso Minotauro() o lo que hubiere.
Re: PixelSearch (problema de expresion)
Publicado: 17 Jul 2012, 10:08
por joana
Entonces cojes y pones:
Exit: Para salir del script.
ExitLoop: Para salir del bucle en el que estés.
Re: PixelSearch (problema de expresion)
Publicado: 17 Jul 2012, 22:15
por Josede
Osea que si pongo Exitloop, volveria a empezar desde el principio? gracias
Re: PixelSearch (problema de expresion)
Publicado: 23 Ago 2012, 07:33
por joana
Josede escribió:Osea que si pongo Exitloop, volveria a empezar desde el principio? gracias
Yeah, saldrías del Loop, pero en la línea siguiente es decir. Si sólo tienes un bucle se acabo.