Что нового

Case Select не работает так, как надо

Notum

Новичок
Сообщения
71
Репутация
0
Очень непонятная ситуация.

Данная схема работает :

Код:
Sleep(3000)
If Check("Check existing fight") = "FIGHT IS" Then
        MsgBox(0, "", "IS")
        Exit
    Else
        MsgBox(0, "", "NO")
        Exit
EndIf
Func Check($ToCheck)
    Select
        Case $ToCheck = "Check existing fight" ; проверка на существующий бой
            $coord = PixelSearch( 80, 174, 978, 688, 0xf3b933, 1, 1)
                If Not @error Then
                    Return "FIGHT IS " ; бой существует
                Else
                    Return "FIGHT NO" ; боя нет
                EndIf
    EndSelect
EndFunc


, а такая работает :

Код:
Sleep(3000)
$coord = PixelSearch( 80, 174, 978, 688, 0xf3b933, 1, 1)
    If Not @error Then
        MsgBox(0, "",  "IS" ); бой существует
    Else
        MsgBox(0, "", "NO " ) ; боя нет
    EndIf
Exit


Под словом "не работает" я имею ввиду, что всегда даёт значение NO! :-(
Объясните, что я делаю не так?
Заранее спасибо.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Autoit Help: PixelSearch сказал(а):
Sets @error to 1 if color is not found.
Проверьте так:
Код:
$aCoord = PixelSearch( 80, 174, 978, 688, 0xf3b933, 1, 1)
If IsArray($aCoord ) Then
	MsgBox(0, "",  "X: " & $aCoord[0] & " x " & " Y: " & $aCoord [1] ); бой существует
Else
	MsgBox(0, "", "Пиксель не найден!" ) ; боя нет
EndIf
 
Автор
N

Notum

Новичок
Сообщения
71
Репутация
0
Garrett сказал(а):
Autoit Help: PixelSearch сказал(а):
Sets @error to 1 if color is not found.
Проверьте так:
Код:
$aCoord = PixelSearch( 80, 174, 978, 688, 0xf3b933, 1, 1)
If IsArray($aCoord ) Then
	MsgBox(0, "",  "X: " & $aCoord[0] & " x " & " Y: " & $aCoord [1] ); бой существует
Else
	MsgBox(0, "", "Пиксель не найден!" ) ; боя нет
EndIf

Спасибо, Ваш способ тоже работает, но я проглядел один пробел в одном из ретурнов! Теперь заработало и у меня!
 
Верх