Добрый день,
Мне нужна идея реализации подсчёта количества золота в игре.Не знаю даже как назвать тему, не назову же её "Подсчёт количества кликов и перевод их в золото в зависимости от типа здания на которое кликнуло ". А именно, при клике на шахту добавляется +7 единиц (всегда в одном и том же месте появляется квадрат как на картинке), при клике на домик добавляется +13 единиц, там ещё несколько видов зданий с определённым добавлением единиц золота. Вот как мне отследить сколько золота "накликал" скрипт и вписать в лейбл?
Вот линк на сам скрин http://www.ex.ua/413604808353. Я нашёл вот такую тему http://autoit-script.ru/index.php?topic=11036.0 на форуме. Всё сделал как написал автор, применительно к моему скриншоту для числа +13 и получил 2 файла: log и au3. Вот содержание au3:
Понятия не имею куда его дальше всовывать и как именно. Вот основной скрипт:
Мне нужна идея реализации подсчёта количества золота в игре.Не знаю даже как назвать тему, не назову же её "Подсчёт количества кликов и перевод их в золото в зависимости от типа здания на которое кликнуло ". А именно, при клике на шахту добавляется +7 единиц (всегда в одном и том же месте появляется квадрат как на картинке), при клике на домик добавляется +13 единиц, там ещё несколько видов зданий с определённым добавлением единиц золота. Вот как мне отследить сколько золота "накликал" скрипт и вписать в лейбл?
Вот линк на сам скрин http://www.ex.ua/413604808353. Я нашёл вот такую тему http://autoit-script.ru/index.php?topic=11036.0 на форуме. Всё сделал как написал автор, применительно к моему скриншоту для числа +13 и получил 2 файла: log и au3. Вот содержание au3:
Код:
Func _detect_digit()
If PixelGetColor(810,156) <> 0x4C483F Then Return 6
If PixelGetColor(810,153) <> 0x4C483F Then Return 4
If PixelGetColor(810,152) <> 0x4C483F Then Return 5
If PixelGetColor(811,151) <> 0x4C483F Then Return 2
If PixelGetColor(810,151) <> 0x4C483F Then Return 1
If PixelGetColor(810,149) <> 0x4C483F Then Return 3
If PixelGetColor(810,141) <> 0x4C483F Then Return 7
; не удалось обнаружить уникальные пиксели для цифры 0. Для анализа смотрите лог.
; не удалось обнаружить уникальные пиксели для цифры 8. Для анализа смотрите лог.
; не удалось обнаружить уникальные пиксели для цифры 9. Для анализа смотрите лог.
EndFunc
Код:
начало скрипта, GUI и прорисовка кнопок с лейбл
$iClicksLabel = GUICtrlCreateLabel('0', 50, 49, 50, 17, -1, $WS_EX_CLIENTEDGE)
GUICtrlCreateLabel('123456', 110, 49, 50, 17, -1, $WS_EX_CLIENTEDGE) ; вот сюда вписывается количество золота
While 1
If $fTrigger Then
Sleep(3000)
Opt("WinTitleMatchMode", 2)
Local $hWnd = WinGetHandle("Forge of Empires – Yandex")
$hControl = ControlGetHandle($hWnd, "", "Chrome_RenderWidgetHostHWND1")
Sleep(400)
; ищем первый подходящий пиксель
$aPix = _PixelGetArray($X, $Y, $Width, $Height, $Color, $hControl, True)
; кликаем по координ
For $i = 1 To $aPix[0][0] ;Количество строк в массиве (n)
ConsoleWrite("+1" & ':' & $aPix[0][0] & 'x' & $aPix[$i][0] & 'x' & $aPix[$i][1] & '; ')
Sleep(1000)
$iClick += ControlClick($hWnd, "", $hControl, "left", 1, $aPix[$i][0], $aPix[$i][1] + 60)
;ConsoleWrite("+1" & ':' & $aPix[i][0] & 'x' & $aPix[i][1] & '; ')
GUICtrlSetData($iClicksLabel, StringFormat('%01d', $iClick))
Next
EndIf
WEnd
----------------------------------
функции для кнопок