Здравствуйте, гость ( Вход | Регистрация )

> Бот для добычи ресурсов. Троецарствие
Nekto
сообщение 23.2.2018, 20:53
Сообщение #1


*

Registred
Сообщений: 3
Регистрация: 17.2.2018
Группа: Пользователи
Наличность: 0
Пользователь №: 18.839
Возраст: 25



Привет!
Пишу потихоньку бота, замысел такой:
нахожу картинку ресурса
записываю её координаты из массива в переменные
т.к. искать цвет нужно относительно найденного ресурса, "расширяю" область поиска цвета, добавляя или отнимая координаты точек
иду в подпрограмму проверку цвета
если нахожу цвет - тыкаю в кнопку отмены
Вот код.
Код
set #b 1
if #b = 1
set #a FindImage(573 187 1368 980 (image\1.bmp) %arr workwindow)
if  #a > 0
  set #x %arr [1 1]
  set #y %arr [1 2]
  set #q %arr [1 3]
  set #z %arr [1 4]
  set #x1 #x - 25
  set #y1 #y - 25
  set #q1 #q + 25
  set #z1 #z + 25
  double_kleft #x #y
  gosub proverka
  wait 100
else
set #b 2
end_if
end_if
end_script

:proverka
set timer
set #time 25000 + random (5000)
set #prov -1
while #prov <= 0
set #prov findcolor (#x1 #y1 #q1 #z1 (528786) %pro workwindow 1)
wait 100
if timer < #time
end_while
else
return
end_if
set #b 2
wait 100
return

:otmena
wait 1000 + random (1000)
kleft 918 216 5 5 5 5 abs
wait 1000
return

Ну и по закону жанра эта хрень не совсем работает, подозреваю, что дело в координатах поиска цвета...
Помогите, т.к. голову я себе уже поломал изрядно.
Спасибо!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
cirus
сообщение 23.2.2018, 21:30
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 24418
Пользователь №: 16.971
Возраст: 29



Код
while #prov <= 0
    set #prov findcolor (#x1 #y1 #q1 #z1 (528786) %pro workwindow 1)
    wait 100
    if  timer < #time
    end_while
else
    return
end_if

if находится в цикле while, а end_if за пределами цикла. Такого быть не должно.
Код
while #prov <= 0
    set #prov findcolor (#x1 #y1 #q1 #z1 (528786) %pro workwindow 1)
    wait 100
    if  timer > #time
        return
    end_if
end_while
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 5.8.2026, 13:06
Designed by Nickostyle