Хм, а как можно определять текст?Luke сказал(а):v0.3 ищет букву, а не точки и работает на любом клиенте, но это каждый пишет сам .
Почитал... понял, что мне до понимания как распознать текст еще далековато.Luke сказал(а):Почитай вот эту тему http://autoit-script.ru/index.php/topic,261.0.html, там и про то как определять и про то почему никто не выложит готового решения.
А что именно ты хочешь распознать? что от чего отличить? приведи скрины и мы тебе подскажем.McSkull сказал(а):Почитал... понял, что мне до понимания как распознать текст еще далековато.Luke сказал(а):Почитай вот эту тему http://autoit-script.ru/index.php/topic,261.0.html, там и про то как определять и про то почему никто не выложит готового решения.
Хотя это могло бы решить много проблем...
Попробую ваш Warp Test Модуль v0.2.
Просто у меня бот иногда промахивается в Меню... может ткнуть мимо варпа на астероидный белт или дока на станцию...DJ_Tommy сказал(а):А что именно ты хочешь распознать? что от чего отличить? приведи скрины и мы тебе подскажем.
Я доумался только до такого способа.Luke сказал(а):Мы ушли от темы , в данном случае , да и вообще в большинстве случаев применения в боте не нужно именно распознавание текста. Как бы это сформулировать. Нужно лишь определить наличие или отсутствие в определённом месте нужной формы из точек, что намного проще и быстрей чем распознавание.
Func Statuswarpa()
If $statusclienta == 1 Then
$var1 = PixelSearch($WinPos[0] + 1043, $WinPos[1] + 505, $WinPos[0] + 1277, $WinPos[1] + 741, 0xff0000)
If Not @error Then Send("{f11}")
$a111 = 1
$T = 0
NachaloWarpa()
If $NachaloWarpa = 1 Then
$a111 = 1
Else
$a111 = 2
EndIf
;~
If $NachaloWarpa = 1 Then
While _ColorGetBlue(PixelGetColor($WinPos[0] + $statuswarpaX - 21, $WinPos[1] + $statuswarpaY - 3)) < 148
Sleep(2000)
WEnd
Sleep(15000)
EndIf
While $a111 = 1
;~
proverkavstatusaclienta()
If $statusclienta == 1 Then
;~
If _ColorGetBlue(PixelGetColor($WinPos[0] + $statuswarpaX, $WinPos[1] + $statuswarpaY)) > 148 Then
;~
Sleep(2000)
If $T=20 Then
if _ColorGetBlue(PixelGetColor($WinPos[0] + $statuswarpaX + 30, $WinPos[1] + $statuswarpaY - 6)) <= 148 Then $a111 = 2
EndIf
Else
$a111 = 2
EndIf
$T += 1
If $T = 600 Then
$a111 = 2
writelog("проблемы с функцией статус варпа")
EndIf
Else
$a111 = 2
EndIf
WEnd
EndIf
EndFunc
Func Statuswarpa()
writelog("Начало модуля статус варпа")
proverkavstatusaclienta()
$a111 = 1
$T = 0
If $statusclienta == 1 Then
$var1 = PixelSearch($WinPos[0] + 1043, $WinPos[1] + 505, $WinPos[0] + 1277, $WinPos[1] + 741, 0xff0000)
If Not @error Then Send("{f11}")
While $a111 = 1
proverkavstatusaclienta()
writelog("STATUS="&$statusclienta&@CRLF)
If $statusclienta == 1 Then
writelog("="&_ColorGetBlue(PixelGetColor($WinPos[0] + $statuswarpaX, $WinPos[1] + $statuswarpaY))&@CRLF)
If _ColorGetBlue(PixelGetColor($WinPos[0] + $statuswarpaX, $WinPos[1] + $statuswarpaY)) > 148 Then
Sleep(2000)
If $T=40 Then
if _ColorGetBlue(PixelGetColor($WinPos[0] + $statuswarpaX + 30, $WinPos[1] + $statuswarpaY - 6)) <= 148 Then $a111 = 2
EndIf
Else
Sleep(Random(2000,3000))
if _ColorGetBlue(PixelGetColor($WinPos[0] + $statuswarpaX+26, $WinPos[1] + $statuswarpaY-5)) <=148 Then $a111 = 2
writelog("="&_ColorGetBlue(PixelGetColor($WinPos[0] + $statuswarpaX+26, $WinPos[1] + $statuswarpaY-5))&@CRLF)
EndIf
$T += 1
If $T = 600 Then
$a111 = 2
writelog("проблемы с функцией статус варпа")
EndIf
Else
$a111 = 2
EndIf
;~
WEnd
EndIf
writelog("Конец модуля статус варпа")
EndFunc ;==>Statuswarpa