Что нового

[World of Tanks] рандомная отправка сообщений в игре.

Автор
V
Сообщения
47
Репутация
-1
работает только первый
Код:
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0

другие не выполняет
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
К чему эти ноли ?!
Код:
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0



Код:
Case Not WinActive("Название окна") ;Если окно не активно
Case WinActive("Название окна") ;Если окно активно


и это:
Код:
If @error=0 Then


Код:
If @error Then ;Если ошибка
If Not @error Then  ;Если нет ошибки
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
А зачем у вас это строка:
Код:
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0

идет по несколько раз ?

Попробуйте так:
Код:
Case $StartBot
            WinActivate("[TITLE:W.o.T. Client]","")
            While 1
            Select
                Case Not WinActive("[TITLE:W.o.T. Client]","") ;Если окно не активно
                    MsgBox(0,"Сообщение","Окно игры не активно, бот остановлен")
                    ExitLoop
                Case WinActive("[TITLE:W.o.T. Client]","") ;Если окно активно
                    PixelSearch(436,523,455,535,0xCB2724,10)
                    If Not @error Then ;Если нет ощибки
                        Sleep(1000)
                        MouseClick("",512,540,2)
                    EndIf
                    PixelSearch(437,30,477,60,0xB02518,10)
                    If Not @error Then ;Если нет ощибки
                        Sleep(1000)
                        MouseClick("",505,45,2)
                    EndIf
                Case WinActive("[TITLE:W.o.T. Client]","") ;Если окно активно
                    PixelSearch(0,0,500,500,0x000000,100)
                    If Not @error Then ;Если нет ощибки
                        Sleep(3000)
                        MouseClick("",510,372,5)
                    EndIf
                Case WinActive("[TITLE:W.o.T. Client]","") ;Если окно активно
                    Sleep(3000)
                    MouseClick("",510,372,5)
            EndSelect
            WEnd
    EndSwitch
WEnd
 
Автор
V
Сообщения
47
Репутация
-1
ну я типо хотел разделить на части. потом понял что надо проверку только один раз сделать. а вот как тогда разделить поиски на циклы?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Обе эти записи справедливы и работоспособны, как с нулями так и без
Код:
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0


If @error=0 Then
Только с нулем они имеют одно значение а без нуля могут иметь другое
Ну если вот эта команда:
Код:
If @error=0 Then

равняется команде
Код:
If Not @error Then

и в принципе удобна к применению тогда, когда нужно обработать несколько вариантов @error
То вот это:
Код:
Case Not WinActive("[TITLE:W.o.T. Client]","") = 0

То в данном случае команда приобретает настолько бредовый смысл что лучше использовать его по примеру.
Вот специально для тех кто на отрез отказывается заглядывать в хелп, скопипастил прекрасный наглядный примерчик:
Код:
If WinActive("[CLASS:Notepad]")  Then
    MsgBox(0, "", "Window was  active")
EndIf



Добавлено:
Сообщение автоматически объединено:

Я если честно до сих пор не понимаю как эта тема связана с разделом ботоводов если вопросы тут на уровне понимания элементарных команд.
 
Автор
V
Сообщения
47
Репутация
-1
я не говорил что не заглядываю в хелп. просто я там ничего не понял.вот и пробую разные варианты
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
А что непонятного в этих трех строчках?
Код:
If WinActive("[CLASS:Notepad]")  Then
    MsgBox(0, "", "Window was  active")
EndIf
Просто методом тыка понимание приходит после двух запусков, с включенным нотпадом и без.
 
Автор
V
Сообщения
47
Репутация
-1
в этих все ясно. оставим в покое PixelSearch и вернемся к первому вопросу из-за которого создавалась тема.
как мне проверить чекбокс при рандомной отправке, хотя без рандома он срабатывает
 
Верх