Что нового

ImageSearch2015

urkkez

Новичок
Сообщения
1
Репутация
0
Подскажите в чом может быть проблема? скрипт то находит картинку то нет
$res = _ImageSearch("static/contacts.png",1,$x1,$y1, 0)
until $res = 1
if $res=1 Then
MouseMove($x1,$y1,3)
Sleep(1000)
MouseClick("left", $x1,$y1, 1)
EndIf
 

Oki

Продвинутый
Сообщения
452
Репутация
62
Опять масштабирование экрана монитора? Помогает ли вот это магическое заклинание в начале кода?
Код:
DllCall("User32.dll", "bool", "SetProcessDPIAware")
И да, на этом форуме принято код ставить в соответствуюший тег.
 

ProgaBy

Новичок
Сообщения
1
Репутация
0
Опять масштабирование экрана монитора? Помогает ли вот это магическое заклинание в начале кода?
Код:
DllCall("User32.dll", "bool", "SetProcessDPIAware")
И да, на этом форуме принято код ставить в соответствуюший тег.
Привет, это не помогло. Мы делаем скрипт для игры world of tanks, и нам нужно находить некоторые кнопки в интерфейсе игры и нажимать на них.
Мы используем библиотеку ImageSearch2015.au3 для поиска изображений на экране.
Вот исходный код скрипта:
Код:
#include <ImageSearch2015.au3>
#include <File.au3>
DllCall("User32.dll", "bool", "SetProcessDPIAware")
Global $isInvite = true ; Приглашать игроков в клан true = да | false = нет  / $CmdLine[3]

; Проверка ключа активации
;$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
;$oHTTP.Open("GET", "https://api.wot-stats.ru/api/activation/activate/" & $CmdLine[1] & "/" & $CmdLine[2], False)
;$oHTTP.Send()
;$oStatusCode = $oHTTP.Status
;If $oStatusCode > 200 Or $oStatusCode < 200 then
;    MsgBox(4096, 'Сообщение', 'Ошибка активации!')
;    Stop()
;EndIf
;$hWnd = WinWait("WoT Client", "", 10)
;If Not $hWnd Then
;    MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
;    Exit
;EndIf

; Активация окна танков!
WinActivate("WoT Client")
Opt("MouseClickDelay", 1000)
Opt("MouseClickDownDelay", 500)
HotKeySet("{f5}","Stop")


; Отправка сообщения игроку и приглашение в клан.
$x1=0
$y1=0
$Text = FileReadToArray("players.txt")
$Msg =  FileReadLine("private-msg.txt", 1)

For $i = 1 To _FileCountLines('players.txt')
    do
    $res = _ImageSearch("static/contacts.png",1,$x1,$y1, 0)
    until $res = 1
    if $res=1 Then
        MouseMove($x1,$y1,3)
        Sleep(1000)
        MouseClick("left", $x1,$y1, 1)
    EndIf
    Sleep(1000)
    Send("{tab}")
    Sleep(3000)
    Send($Text[$i-1])
    Sleep(3000)
    Send("{ENTER}")
    do
    $result = _ImageSearch("static/playerIcon.png",1,$x1,$y1, 0)
    until $result = 1
    if $result=1 Then
        MouseMove($x1,$y1,3)
        Sleep(1000)
        MouseClick("right", $x1,$y1)
     EndIf
    if $isInvite = true then
     $timer=timerInit()
    do
    $result = _ImageSearch("static/sendMsg.png",1,$x1,$y1, 0)
    until $result = 1
    if $result=1 Then
        MouseMove($x1,$y1,3)
        Sleep(1000)
        MouseClick("left", $x1,$y1)
    EndIf
    Sleep(1000)
    Send($Msg)
    Sleep(1000)
    Send("{ENTER}")
    EndIf
    do
    $result = _ImageSearch("static/playerDot.png",1,$x1,$y1, 0)
    until $result = 1
    if $result=1 Then
        MouseMove($x1,$y1,3)
        Sleep(1000)
        MouseClick("right", $x1,$y1)
    EndIf
    do
    $result = _ImageSearch("static/clanInvite.png",1,$x1,$y1, 0)
    until $result = 1 Or TimerDiff($timer)>=5000
    if $result=1 Then
        MouseMove($x1,$y1,3)
        Sleep(1000)
        MouseClick("left", $x1,$y1)
    EndIf
    do
    $result = _ImageSearch("static/closeChat.png",1,$x1,$y1, 0)
    until $result = 1
    if $result=1 Then
        MouseMove($x1,$y1,3)
        Sleep(1000)
        MouseClick("left", $x1,$y1)
    EndIf
Next
    Stop()

Func Stop()
  Exit
EndFunc


В самой игре скрипт иногда находит нужные нам кнопки, а иногда нет (при одинаковом разрешение клиента WoT).
В папке, где лежат изображения кнопок, скрипт с 100% шансом их находит. Как это по фиксить?
 
Автор темы Похожие темы Форум Ответы Дата
T Общие вопросы по AutoIt 0
Похожие темы
Не работает ImageSearch2015
Верх