Что нового

[Мышь, клавиатура] Выполнение выражения или циклы

MyBB

Новичок
Сообщения
20
Репутация
0
Целый день просидел так и не понял какое условия выражений или цикл использовать, собственно весь скрипт разбит на 3 части, если можно пример скелета
Код:
; Часть 1
$coord = Pixelsearch(120,100,150,120, 0x691310,10) ; Если найдено писмо, открываем его
   if Not @error Then
    MouseClick ( "left",$coord[0], $coord[1], 2, 0 )
; Часть 2	
	; Обработка входящего 
	  $coord = Pixelsearch(540,390,570,300, 0x69441E,10) ; Входящее найдено, кликает
	  if Not @error Then
	   MouseClick ( "left",$coord[0], $coord[1], 2, 0 )
		 $coord = Pixelsearch(600,500,625,520, 0x69441E,10) ; Совпадение найденно-Я
		 MouseMove( 620, 560 ,10 ) 
		 $coord = Pixelsearch(615,560,625,580, 0xF5E7B5,10) ; Совпадение найденно, кликаем
		 if Not @error Then
		  MouseClick ( "left",$coord[0], $coord[1], 2, 0 )
; Повторяем действия пока условие верно/ закрываем окно если не верно!
; Часть 3
MouseClick('left', 950, 220) ; - Закрываем окно
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Код:
If если найдено письмо Then
Открываем письмо
If есть входящее письмо Then
  Делаем тут что то для письма
  If совпадение найдено - я Then
     что то нажимаем
 EndIf
  If совпадение найдено, кликаем Then
      что то нажимаем
 EndIf
EndIf
Закрываем письмо
EndIf

А что ты собрался повторять?
 
Автор
M

MyBB

Новичок
Сообщения
20
Репутация
0
Если на словах получается так

1--------
Появляется писомо (находим пискель - клик) открывается окно с писмами
2---------
Смотрим список входящих (подходит клик/ нет выходим)
Смотрим содеражания писма 2 точки (подходит клик/нет закрываем окно писем)
Повторяем действие пока оно справедливо если нет закрываем окно
3---------
Ждем пунка 1

Вот как реализовать выделнно жирным не знаю
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Жирным реализовывается так

Код:
If подходит Then
клик
Else
Выходим
EndIf

If подходит Then
Клик
Else
Закрываем окно писем
EndIf
 
Автор
M

MyBB

Новичок
Сообщения
20
Репутация
0
Вот что получилось спасибо подскажите как во 2 части сделать повторении по кругу пока не будет false если можно пример
Код:
$coord = Pixelsearch(120,100,150,120, 0x691310,10) ; Поиск писма
If Not @error Then
   MouseClick ( "left",$coord[0], $coord[1], 2, 0 )
   EndIf
; Часть 2 - Окно входящих писем
$coord = Pixelsearch(540,390,570,300, 0x69441E,10) ; Вторая строчка входящих писем
If Not @error Then
   MouseClick ( "left",$coord[0], $coord[1], 2, 0 )
Else
   MouseClick('left', 950, 220) ; Закрываем окно
   EndIf
$coord = Pixelsearch(600,500,625,520, 0x69441E,10) ; Поиск Яица
MouseMove( 620, 560 ,10 )
$coord = Pixelsearch(615,560,625,580, 0xF5E7B5,10) ; Покупка разрешена
If Not @error Then
   MouseClick ( "left",$coord[0], $coord[1], 2, 0 )
Else
   MouseClick('left', 950, 220) ; Закрываем окно
   EndIf


Я так понял это получается:
Код:
If <expression> Then
    statements
    ...
[ElseIf expression-n Then
    [elseif statements ... ]]
    ...
[Else
    [else statements]
    ...
EndIf

Только без функии ElseIf
 
Автор
M

MyBB

Новичок
Сообщения
20
Репутация
0
Вот что получилось

Код:
; Глава I
; Часть 1 - Поиск писма
$title = "[The Settlers Онлайн - Beta: Тандрия [Realm 1] - Google Chrome]"
While 1
   WinActivate($title)
$coord = Pixelsearch(120,100,150,120, 0x691310,10) ; Поиск писма
If Not @error Then
   Sleep(Random(2000,7000))
   MouseClick ( "left",$coord[0], $coord[1], 1, 0 )
   Else
   Sleep(100)
   ContinueLoop
EndIf
While 1
; Часть 2 - Окно входящих писем
$coord = Pixelsearch(540,315,570,330, 0x69441E,10) ; Третья строчка входящих писем
If Not @error Then
   MouseClick ( "left",$coord[0], $coord[1], 1, 0 )
   Sleep(Random(2000,7000))
Else
   MouseClick('left', 950, 220) ; Закрываем окно
   Sleep(Random(2000,7000))
   EndIf
$coord = Pixelsearch(600,500,625,520, 0x69441E,10) ; Поиск Яица
MouseMove( 620, 560 ,20 )
$coord = Pixelsearch(615,560,625,580, 0xF5E7B5,10) ; Покупка разрешена
If Not @error Then
   MouseClick ( "left",$coord[0], $coord[1], 1, 0 ) ; Покупаем
   Sleep(Random(2000,7000))
Else
   MouseClick('left', 950, 220) ; Закрываем окно
   Sleep(Random(2000,7000))
EndIf
WEnd
WEnd


Func _MCSpeed ()
   MouseClick ( "left",$coord[0], $coord[1], 1, 0 )
   Sleep(Random(2000,7000))
   EndFunc
 
Верх