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

 
Ответить в эту темуОткрыть новую тему
> Ошибка пилота.
Voshod
сообщение 30.1.2017, 21:50
Сообщение #1


**

Neophyte
Сообщений: 28
Регистрация: 21.1.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.298



Иногда скрипт выдаёт такую ошибку. После чего весь процес останавливается (IMG:style_emoticons/default/sad.gif). Можно ли это предупредить?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 30.1.2017, 22:04
Сообщение #2


**********

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



Где код, в котором ошибка?
Тут вариант один. Массив пуст.
Например:
Код
set #a findimage (0 0 1920 1080 (картинка) %arr)
move %arr [1 1] %arr [1 2]
// если картинка не найдётся будет ошибка

Надо так:
Код
set #a findimage (0 0 1920 1080 (картинка) %arr)
if #a > 0           // если картинка найдена
    move %arr [1 1] %arr [1 2]
    end_script
end_if
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Voshod
сообщение 30.1.2017, 22:32
Сообщение #3


**

Neophyte
Сообщений: 28
Регистрация: 21.1.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.298



Цитата(cirus @ 30.1.2017, 22:04) *

Где код, в котором ошибка?
Тут вариант один. Массив пуст.
Например:
Код
set #a findimage (0 0 1920 1080 (картинка) %arr)
move %arr [1 1] %arr [1 2]
// если картинка не найдётся будет ошибка

Надо так:
Код
set #a findimage (0 0 1920 1080 (картинка) %arr)
if #a > 0           // если картинка найдена
    move %arr [1 1] %arr [1 2]
    end_script
end_if



Хочу заметить что скрипт может работать без проблем часов 10, а потом возьмёт и выдаст ошибку.


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 30.1.2017, 23:10
Сообщение #4


**********

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



Цитата
Хочу заметить что скрипт может работать без проблем часов 10, а потом возьмёт и выдаст ошибку.

Тогда это уже к Кнайту.

Попробуйте заменить if #a > 0
на if size(%arr) > 0
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Voshod
сообщение 30.1.2017, 23:52
Сообщение #5


**

Neophyte
Сообщений: 28
Регистрация: 21.1.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.298



Не знаю начёт ошибки, но работать скрипт стал в разы быстрее (на экране быстрее нужный цвет отыскивает). А в чём разница?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 31.1.2017, 0:07
Сообщение #6


**********

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



Может вы просто задержку между строк уменьшили или отключили слежение за ходом скрипта.
В проверке условия по времени разницы почти нет.
Вообще поиск обычно занимает 30-100мс. Если конечно не искать белый цвет в блокноте (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Voshod
сообщение 31.1.2017, 0:51
Сообщение #7


**

Neophyte
Сообщений: 28
Регистрация: 21.1.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.298



Цитата(cirus @ 31.1.2017, 0:07) *

Может вы просто задержку между строк уменьшили или отключили слежение за ходом скрипта.
В проверке условия по времени разницы почти нет.
Вообще поиск обычно занимает 30-100мс. Если конечно не искать белый цвет в блокноте (IMG:style_emoticons/default/smile.gif)


Нет но у меня сейчас создалось впечатление что в первом варианте было много мисс кликов, а во-втором (вашем) этих косяков нету. На 2 разных компах проверял и на обоих одинаковый результат.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Voshod
сообщение 31.1.2017, 4:27
Сообщение #8


**

Neophyte
Сообщений: 28
Регистрация: 21.1.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.298



Всё (IMG:style_emoticons/default/sad.gif) равно ошибку пишет, я так понимаю это от перезагрузки UOpilota. В связи в чем появилась идея осуществлять поиск через findimage. Можно ли сделать чтобы при нахождении объекта он давал клик со смещением? К примеру на 100 в низ по оси Y?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 31.1.2017, 8:36
Сообщение #9


********

Master
Сообщений: 1.394
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 20893
Пользователь №: 16.156



set findoffsety -100
findimage()

findimage вернет координаты нацденные со смещением. остается только кликнуть.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 31.1.2017, 12:48
Сообщение #10


**********

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



Цитата
set findoffsety -100

Так будет смещение на 100 вверх.
Например, была координата 500. 500 - 100 = 400
Надо прибавлять смещение, а не отнимать, т. е.
Код
set findoffsety 100
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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