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

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Скрипты Спотыкаются На Ровном Месте
Piloter
сообщение 19.11.2010, 3:29
Сообщение #1


**

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



Скрипт постоянно выполняется, в нем находятся команды start_script 1 (2,3,4 и т.д.) - время от времени происходит запуск простых скриптов из пары строк, при этом часто вылезают ошибки:
Цитата
UOPilot Message (1: Скриптик.txt)
(0): Ошибка! Проверьте правильность скрипта! EExternal stop_script

и так со всеми вкладками скриптов, код скрипта составлен верно.
еще бывает:
Цитата
uopilot
Invalid pointer operation

Версия пилота 2.18.2, новую (2.18.7) испытывать не хочу, там для меня более критичный баг. Вкладок не переключаю и к пилоту вообще не прикасаюсь до возникновения ошибок.
Скрипты, запускаемые командами start_script 1 (2,3,4 и т.д.) привязаны к различным окнам.
Привязка многих окон к одному скрипту не возможна? Как решить проблему с ошибками?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Piloter
сообщение 19.11.2010, 5:08
Сообщение #2


**

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



Решил проблему, заменив start_script на:

set #v findwindow (PID окна)
set workwindow #v
и содержимым скрипта

Но set workwindow (PID окна) не работает по непонятным мне причинам.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 19.11.2010, 5:43
Сообщение #3


***********

Модератор UOPilot
Сообщений: 9.477
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27920
Пользователь №: 11.279



какой критичный баг на 18.7, которого нет на 18.2?

set #UOpilot findwindow (UoPilot v2.18.7 WK) //Сворачиваем пилот
showwindow #UOpilot minimize
set workwindow #UOpilot
wait 2s
showwindow // без параметров вытаскивает рабочее окно
stop_script

Прекрасно работает на 2.18.7. Раньше подобного бага не видел. На 2.18.2 так же все проходит в штатном режиме. Проверь корректность возвращаемого хендла.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Piloter
сообщение 19.11.2010, 6:02
Сообщение #4


**

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



В версии 18.2 скрипт при проверке массива определяет в нем символ, совершает действие (send) и изменяет содержимое массива (на пустой файл). В 18.7 после успешной замены файла скрипт продолжает выполнять команду после if, которая выполнялась до замены, как будто в массиве все еще находится тот символ, до тех пор пока скрипт не будет остановлен и запущен заново.

load_array %arr F:\QIP\Users\111111111\History\222222222.txt
set #n size (%arr) - 1
set $lastPost %arr [#n]
if $lastPost = 1
send 1
load_array %arr F:\QIP\Users\111111111\History\0.txt
save_array %arr F:\QIP\Users\111111111\History\222222222.txt
end_if
if $lastPost = 2
send 2
load_array %arr F:\QIP\Users\111111111\History\0.txt
save_array %arr F:\QIP\Users\111111111\History\222222222.txt
end_if
if $lastPost = 3
send 3
load_array %arr F:\QIP\Users\111111111\History\0.txt
save_array %arr F:\QIP\Users\111111111\History\222222222.txt
end_if
if $lastPost = 4
send 4
load_array %arr F:\QIP\Users\111111111\History\0.txt
save_array %arr F:\QIP\Users\111111111\History\222222222.txt
end_if
if $lastPost = 5
send 5
load_array %arr F:\QIP\Users\111111111\History\0.txt
save_array %arr F:\QIP\Users\111111111\History\222222222.txt
end_if
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 20.11.2010, 11:07
Сообщение #5


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Вот еще свежий пример:
В самом начале скрипта 0 вызывается скрипт 1 (только 1 раз). Оба скрипта работают постоянно (замкнутые циклы в каждом).
Активная вкладка - скрипт 0. Если теперь кликнуть на вкладке скрипта 1, то появится окно с сообщением об ошибке (копию скрина приложу чуть позже). При этом оба скрипта все-равно будут работать дальше.


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 22.11.2010, 15:25
Сообщение #6


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Код
set logging clear
set logging test1 // вот тут зависнет при повторном запуске скрипта
set logging open // появляется окошко лога
stop_script


Если окошко лога закрыть, нажав на крестик справа вверху, то сразу при повторном запуске скрипта UOPilot зависнет намертво

P.S.: куда-то WKnight пропал... (((


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.11.2010, 15:51
Сообщение #7


***********

Модератор UOPilot
Сообщений: 9.477
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27920
Пользователь №: 11.279



более того фикс уже существует, но версия не выложена. я писал в пм кнайту - молчит.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 22.11.2010, 16:26
Сообщение #8


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



У меня скрипт иногда не находил цвет в нужном месте, хотя он там точно был.
Долго не мог понять почему так происходит, наконец-то докопался- выкладываю:

Возникновение ошибки:
1) запускаем UOPilot, запускаем скрипт на выполнение - возникает сообщение об ошибке (msg)
Примечание: указанные координата 26, 180 и цвет 16777215 находятся под буквой "О" файла Описание
(IMG:http://s61.radikal.ru/i174/1011/c8/ab4edc725df1.png)

2) закрываем Окошко с сообщением об ошибке. Проверяем, чтоб окно UOPilot было активным, наводим курсор мыши в любую точку окна приложения (хоть на то же слово Описание) и жмем Ctrl+A (определить координаты и цвет). Запускаем скрипт снова - теперь всё работает! Вот такой вот прикол...
(IMG:http://s006.radikal.ru/i214/1011/80/2342dded8492.png)

Т.е. чтобы цвет определялся верно нужно перед стартом скрипта определить с помощью Ctrl+A цвет и координаты любой точки внутри окна приложения.

Теперь UOPilot будет правильно определять цвет точки (до следующего нового запуска УОПилота).

P.S.: WKnight молчит по этому поводу или вообще (и давно)? Может у него что случилось???


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 22.11.2010, 16:56
Сообщение #9


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Такое впечатление, что if <координаты> <цвет> работает правильно только в одном скрипте - для которого нажимали Ctrl+A (еще не успел проверить точно)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Destruction
сообщение 22.11.2010, 23:07
Сообщение #10


**********

Группа: Администраторы
Наличность: 0
Пользователь №: 1.833



Цитата(Zeleax @ 22.11.2010, 16:56) *

Такое впечатление, что if <координаты> <цвет> работает правильно только в одном скрипте - для которого нажимали Ctrl+A (еще не успел проверить точно)

Про абсолютные координаты почитайте.


--------------------
Discord: tatikom
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 23.11.2010, 9:52
Сообщение #11


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(Destruction @ 22.11.2010, 23:07) *

Про абсолютные координаты почитайте.

Вы это к чему? (IMG:style_emoticons/default/smile.gif)
Разве if <коорд> <цвет> имеет несколько режимов работы?


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 23.11.2010, 11:10
Сообщение #12


***********

Модератор UOPilot
Сообщений: 9.477
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27920
Пользователь №: 11.279



ну вообще то да.
if 123 321 789 будет искать исходя из того, что точка 0.0 это левый верхний угол рабочего окна.
if 123 321 789 abs будет считать точку 0.0 левую верхнюю точку экрана.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 24.11.2010, 0:03
Сообщение #13


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Казалось бы - где может произойти ошибка в нижеуказанном выражении?
Код
set #x ( #dist * #dX / #max ) + #centerX

Все переменные заданы и имеют целый тип. #max<>0
Ошибка вылетела неожиданно и очень меня удивила (IMG:style_emoticons/default/cool.gif)
(402): Пропущено значение (pos:5)

Некоторое время ругался и плевался, пока не понял в чем тут могло быть дело. (IMG:style_emoticons/default/laugh.gif)
Варианты есть?

Завтра отвечу из-за чего произошла ошибка (IMG:style_emoticons/default/tongue.gif)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Destruction
сообщение 24.11.2010, 0:52
Сообщение #14


**********

Группа: Администраторы
Наличность: 0
Пользователь №: 1.833



Цитата(Zeleax @ 24.11.2010, 0:03) *

Казалось бы - где может произойти ошибка в нижеуказанном выражении?
Код
set #x ( #dist * #dX / #max ) + #centerX

Все переменные заданы и имеют целый тип. #max<>0
Ошибка вылетела неожиданно и очень меня удивила (IMG:style_emoticons/default/cool.gif)
(402): Пропущено значение (pos:5)

Некоторое время ругался и плевался, пока не понял в чем тут могло быть дело. (IMG:style_emoticons/default/laugh.gif)
Варианты есть?

Завтра отвечу из-за чего произошла ошибка (IMG:style_emoticons/default/tongue.gif)

Проверяйте значения переменных...

Код
set #dist 1
set #dX 2
set #max 3
set #centerX 4
set #x ( #dist * #dX / #max ) + #centerX
end_script


Ошибок нет.


--------------------
Discord: tatikom
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 24.11.2010, 1:06
Сообщение #15


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(Destruction @ 24.11.2010, 0:52) *

Проверяйте значения переменных...

Всё проверено! Все переменные целого типа и не равны нулю. Также они не являются очень большими по модулю величинами
Каждое значение находится в диапазоне от -50 до +50 (IMG:style_emoticons/default/rolleyes.gif)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Destruction
сообщение 24.11.2010, 2:10
Сообщение #16


**********

Группа: Администраторы
Наличность: 0
Пользователь №: 1.833



Цитата(Zeleax @ 24.11.2010, 1:06) *

Всё проверено! Все переменные целого типа и не равны нулю. Также они не являются очень большими по модулю величинами
Каждое значение находится в диапазоне от -50 до +50 (IMG:style_emoticons/default/rolleyes.gif)

Пример из моего поста у вас запускается корректно?


--------------------
Discord: tatikom
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 24.11.2010, 4:39
Сообщение #17


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(Destruction @ 24.11.2010, 2:10) *

Пример из моего поста у вас запускается корректно?

Да. Именно поэтому я не мог понять что же тут может не работать, если всё настолько прозрачно
Напоминаю: Причину я уже нашел. Вопрос задал, чтобы людям было не скучно - вдруг похожая проблема появится (IMG:style_emoticons/default/smile.gif)
Ответ скажу днем или вечером (IMG:style_emoticons/default/wink.gif)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 24.11.2010, 7:12
Сообщение #18


***********

Модератор UOPilot
Сообщений: 9.477
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27920
Пользователь №: 11.279



Нельзя умножать отрицательные значения. Юзай скобки. Буквально пару дней назад сия радость меня обошла стороной. Умнажал на отрицательное, но значение было в скобках.
set #dist 1
set #dX -1
set #x #dist * #dX
end_script


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Volv_S
сообщение 24.11.2010, 9:37
Сообщение #19


**

Neophyte
Сообщений: 33
Регистрация: 30.10.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.181
Возраст: 24



Я также сталкиваюсь с проблемой сбоя в работе скриптов. Юзаю два следущих скрипта:
Код

// Part 1__ скрипт для окна ДД  4334608 10828808

set #k 3 // taregt EE
while 50, 58 12406016 // контроль МП у ДД (если условие не выполнено, то ЕЕ сама себя заливает)
End_while
set #k 0
wait 1000
set #k 4 // target DD
While_not 135, 58 12406016  // контроль МП (заливка ДД до положения маны 80-85%)
End_while
set #k 0
wait 1000



Код

// Part 2__скрипт для окна ЕЕ


set #n 0
:0
set timer
send F3 1000 // таргет ЕЕ
send F5 600 // пов
WHILE timer < 24000
  send F3 400 // таргет ЕЕ
  send F2 1000   // заливка МП
  set #n #n + 1
    If #n = 10
       send F3 1000 // таргет ЕЕ
       send F11 1000 // bSpiritshot
       send F1 1000 // хил
       set #n 0
     End_if
END_WHILE
send F4 1000  //таргет ДД
send F5 2000  // пов
START_script 0
wait 300
WHILE timer < 270000
     IF #k.0 = 3
        send F3 400  // таргет ЕЕ
        send F2 1000  // заливка МП
        set #n #n + 1
     END_IF
     IF #k.0 = 4
        send F4 400  //таргет ДД
        send F2 1000  // заливка мп
        set #n #n + 1
     END_IF
     IF #n = 10
         send F3 1000 // таргет ЕЕ
         send F11 1000 // bSpiritshot
         send F1 1000  // хил
         set #n 0
     END_IF
END_WHILE
STOP_script 0
GOTO 0


Определенное время скрипты работают нормально, это можеть быть как одна минута, так несколько часов, но приходит момент и в первом скрипте выдется ошибка и работа стопорится,- нада перезапускать пилот. Ошибки стали вылетать при переходе на пилот версии 2.18. До этого пользовался пилотом 2.15 и никаких проблем не было - перешол на пилот 2.18 так как он работает пошустрее.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 24.11.2010, 10:05
Сообщение #20


***********

Модератор UOPilot
Сообщений: 9.477
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27920
Пользователь №: 11.279



START_script 0
STOP_script 0
на данный момент глючить из-за этого может. все усугубляется, если скрипты друг друга перезапускают.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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