Помогите доработать скрипт.
Он проверяет пиксели в клиенте программы, делает скриншот и отправляет этот файл по почте. Но делает он это 1 раз и отключается. Нужно зациклить весть скрипт.
Например: начинает скрипт с функции _Monahi() при нужных условиях делает скриншот окна и отправляет его по почте. И тут мне надо поставить паузу на эту функцию скажем на 30 мин. (на отправку файла по почте) но чтобы остальные скрипты продолжали работать. И так же с остальными функциям надо поставить паузу на отправление файла по почте (_Monahi(), _Razvedka(), _Ataka()). Весть скрипт должен работать непрерывно но с паузами отправки файла по почте.
Он проверяет пиксели в клиенте программы, делает скриншот и отправляет этот файл по почте. Но делает он это 1 раз и отключается. Нужно зациклить весть скрипт.
Например: начинает скрипт с функции _Monahi() при нужных условиях делает скриншот окна и отправляет его по почте. И тут мне надо поставить паузу на эту функцию скажем на 30 мин. (на отправку файла по почте) но чтобы остальные скрипты продолжали работать. И так же с остальными функциям надо поставить паузу на отправление файла по почте (_Monahi(), _Razvedka(), _Ataka()). Весть скрипт должен работать непрерывно но с паузами отправки файла по почте.
Код:
#RequireAdmin
#include <ScreenCapture.au3>
WinActivate("Stronghold Kingdoms - Europe 1")
$hWnd = WinGetHandle("Stronghold Kingdoms - Europe 1") ; Это для скрина только окна игры
$sFileName_1 = @DesktopDir&'\Monahi.bmp' ; Путь\Имя для Монахов
$sFileName_2 = @DesktopDir&'\Ataka.bmp' ; Путь\Имя для aтаки
Sleep (1000)
Opt ( "MouseClickDelay", 1000)
_Monahi()
Sleep (10000)
Func _Monahi()
Local $hBmp
MouseClick('Left', 1244,90, 1) ; Переход по основной вкладке
MouseClick('Left', 1089, 136, 1) ; Переход по второстепенно вкладке
Sleep (1000)
$coord = PixelSearch(1047, 465, 1107, 475, 0x312836) ; Если поле найдено
If Not @error Then
$hBmp = _ScreenCapture_CaptureWnd($sFileName_1, $hWnd)
_ScreenCapture_SaveImage($sFileName_1, $hBmp)
Sleep (1000)
_Send_Email_Monahi ('На деревню идет монах', 'Монах')
EndIf
EndFunc
_Razvedka()
Sleep (10000)
Func _Razvedka()
$coord = PixelSearch(1250, 80, 1262, 92, 0xFFFFF0) ; Если появились два меча
If Not @error Then
MouseClick('Left', 1244,90, 1) ; Переход по основной вкладке
MouseClick('Left', 895, 134, 1) ; Переход по второстепенно вкладке
$coord = PixelSearch(1047, 465, 1107, 475, 0x312836) ; Если есть поле отправка
If Not @error Then
_Send_Email_Razvedka ('Разведка вашей деревни', 'Разведка')
Sleep (5000)
_Ataka()
EndIf
EndIf
EndFunc
_Ataka()
Sleep (10000)
Func _Ataka()
;$coord = PixelSearch(1250, 80, 1262, 92, 0xFFFFF0); Если появились два меча
;If Not @error Then
Local $hBmp1
MouseClick('Left', 1244,90, 1) ; Переход по основной вкладке
MouseClick('Left', 830, 137, 1) ; Переход по второстепенно вкладке
$coord = PixelSearch(1047, 465, 1107, 475, 0x312836) ; Если есть поле отправка
If Not @error Then
$hBmp1 = _ScreenCapture_CaptureWnd($sFileName_2, $hWnd)
_ScreenCapture_SaveImage($sFileName_2, $hBmp1)
Sleep (1000)
_Send_Email_Ataka('Ваша деревня атакована', 'Атака')
EndIf
EndFunc
Func _Send_Email_Monahi($Body, $Subject)
$FromAddress = '[email protected]' ; Адрес отправителя
$ToAddress = '[email protected]' ; Адрес получателя
$Username = '[email protected]' ; Логин отправителя
$Password = "1234" ; Пароль почты отправителя
$SMTPServer = 'smtp.gmail.com' ; SMTP-сервер
$Port = 465 ; Порт сервера
$SSL = 1 ; SSL
$AddAttachment = ('C:\Users\Администратор\Desktop\Monahi.bmp');отправляем файл
$conf = "http://schemas.microsoft.com/cdo/configuration/"
$hMAIL = ObjCreate ("CDO.Message")
With $hMAIL
.From = $FromAddress
.To = $ToAddress
.Subject = $Subject
.TextBody = $Body
.AddAttachment ('C:\Users\Администратор\Desktop\Monahi.bmp')
EndWith
With $hMAIL.Configuration.Fields
.Item ($conf & "sendusing") = 2
.Item ($conf & "smtpauthenticate") = 1
.Item ($conf & "sendusername") = $Username
.Item ($conf & "sendpassword") = $Password
.Item ($conf & "smtpserver") = $SMTPServer
.Item ($conf & "smtpserverport") = $Port
.Item ($conf & "smtpusessl") = $SSL
.Update
EndWith
$hMAIL.Send
Sleep (4000)
EndFunc
Func _Send_Email_Razvedka($Body, $Subject)
$FromAddress = '[email protected]' ; Адрес отправителя
$ToAddress = '[email protected]' ; Адрес получателя
$Username = '[email protected]' ; Логин отправителя
$Password = "1234" ; Пароль почты отправителя
$SMTPServer = 'smtp.gmail.com' ; SMTP-сервер
$Port = 465 ; Порт сервера
$SSL = 1 ; SSL
$conf = "http://schemas.microsoft.com/cdo/configuration/"
$hMAIL = ObjCreate ("CDO.Message")
With $hMAIL
.From = $FromAddress
.To = $ToAddress
.Subject = $Subject
.TextBody = $Body
EndWith
With $hMAIL.Configuration.Fields
.Item ($conf & "sendusing") = 2
.Item ($conf & "smtpauthenticate") = 1
.Item ($conf & "sendusername") = $Username
.Item ($conf & "sendpassword") = $Password
.Item ($conf & "smtpserver") = $SMTPServer
.Item ($conf & "smtpserverport") = $Port
.Item ($conf & "smtpusessl") = $SSL
.Update
EndWith
$hMAIL.Send
Sleep (4000)
EndFunc
Func _Send_Email_Ataka($Body, $Subject)
$FromAddress = '[email protected]' ; Адрес отправителя
$ToAddress = '[email protected]' ; Адрес получателя
$Username = '[email protected]' ; Логин отправителя
$Password = "1234" ; Пароль почты отправителя
$SMTPServer = 'smtp.gmail.com' ; SMTP-сервер
$Port = 465 ; Порт сервера
$SSL = 1 ; SSL
$AddAttachment = ('C:\Users\Администратор\Desktop\Ataka.bmp');отправляем файл
$conf = "http://schemas.microsoft.com/cdo/configuration/"
$hMAIL = ObjCreate ("CDO.Message")
With $hMAIL
.From = $FromAddress
.To = $ToAddress
.Subject = $Subject
.TextBody = $Body
.AddAttachment ('C:\Users\Администратор\Desktop\Ataka.bmp')
EndWith
With $hMAIL.Configuration.Fields
.Item ($conf & "sendusing") = 2
.Item ($conf & "smtpauthenticate") = 1
.Item ($conf & "sendusername") = $Username
.Item ($conf & "sendpassword") = $Password
.Item ($conf & "smtpserver") = $SMTPServer
.Item ($conf & "smtpserverport") = $Port
.Item ($conf & "smtpusessl") = $SSL
.Update
EndWith
$hMAIL.Send
Sleep (4000)
EndFunc