|
|
|
Как убрать абсолютно все сообщения, которые выдает пилот, Ошибка пилота, syntax error(Exp1) |
|
|
Dma13th |
26.9.2017, 23:02
|
Registred
Сообщений: 6
Регистрация: 26.9.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.618
Возраст: 27
|
Так вот иногда пилот даёт ошибку и выкидывает в окно пилота, но это фигня решаемая showwindow возвращаемся в окно. В настройках убрал всё выводить в лог, открывать лог, осталось только Выводить сообщения в лог, поставил Dev/Null, типа не выводить или я хз что это, так вот, очень редко выскакивает вот эта штука UOpilot Error Message окно такое, и там написано syntax error(Exp1) с кнопкой ОК, как сделать, чтобы это окно не выскакивало, так как оно вешает скрипт, типа скрипт включен но пока не нажмешь ОК не продолжится, не ну чисто физически можно написать, чтобы сам пилот выключал, просто раньше не пользовался, типа запустить второй пилот рядом, так как первый зависнет, второй пилот ищет окно с названием UOpilot Error Message, если оно есть делает его активным нажимает ентер. И вообще что это за ошибка и как её можно легкими способами убрать? И да на счет скрипта, что он делает. Он там цвета находит, кнопочки нажимает, но ошибки, я так понял, когда идут команды stop_script start_script там много раз, по миллиону раз они нажимаются, и вот, видимо, когда один скрипт выключает другой, а первый чего-то не доделал, например, не отжал зажатую клавишу, бывают ошибки, но не такие, а обычные, которые просто сворачивают пилот, как я уже говорил showwindow решает проблему, а эта ошибка бывает редко, но она слишком паскудная.
|
|
|
|
Dma13th |
26.9.2017, 23:50
|
Registred
Сообщений: 6
Регистрация: 26.9.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.618
Возраст: 27
|
Цитата(DarkMaster @ 26.9.2017, 23:16) Версия пилота какая? Эти проблемы фиксились.
v2.39 WK
|
|
|
|
Dma13th |
27.9.2017, 12:37
|
Registred
Сообщений: 6
Регистрация: 26.9.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.618
Возраст: 27
|
Цитата(cirus @ 27.9.2017, 2:10) Нужен код, в котором ошибка.
Так можно и без них скрипт написать.
Последний раз ошибка была в скрипте 1 Код
//script 1 set workwindow 394784
get color #col 993 563 if (#col > 56064) AND (#col < 58125) else start_script 5 while_not (#col > 56064 and #col < 58125) get color #col 993 563 end_while stop_script 5 end_if
get color #col2 925 566 if (#col2 > 56063) AND (#col2 < 58126) else start_script 6 while_not (#col2 > 56064 and #col2 < 58125) get color #col2 925 566 end_while stop_script 6 end_if
//sctipt5 set workwindow 394784 send217 {a}
//script6 set workwindow 394784 send217 {a}
//script7 set workwindow 394784 set #showindow 394784 :beg1 get color #col 993 563 if (#col > 56064) AND (#col < 58125) else while_not (#col > 56064 and #col < 58125) get color #col 993 563 end_while end_if send {tab} set #live1 findcolor (450, 56 450, 56 1 1 (2896435) %arr 2) if #live1 = 1 get color #col 732, 984 while #col = 10784648 get color #col 732, 984 send {3} end_while showwindow #showwindow stop_script 2 stop_script 3 showwindow #showwindow stop_script 1 stop_script 5 stop_script 6 else goto beg1 end_if stop_script
//script 15
set workwindow 394784 set #showindow 394784
get color #col 732, 984 if #col = 10784648
get color #col3 784, 988 if #col3 = 3821666 else send {F1} wait 1500 end_if
else get color #col 732, 984 if #col = 10784648 else showwindow #showwindow stop_script 1 stop_script 2 stop_script 3 stop_script 5 stop_script 6 send217 {w}
start_script 16 while #col != 10784648 get color #col 732, 984 end_while stop_script 16 wait 50 send {=} wait 150 get color #col 392, 59 if #col = 42956 send217 {j} end_if wait 300 send217 {t} wait 100 send217 {t} wait 100 send217 {t} wait 100 send217 {t} wait 100 send217 {t} wait 100 send217 {t}
end_if
showwindow #showwindow stop_script 1 wait 400 showwindow #showwindow start_script 1 showwindow #showwindow start_script 2
end_if
end_if
//script 16 set workwindow 394784 set #showindow 394784 send217 {j} set #live findcolor (227, 93 227, 93 1 1 (1778127) %arr 2) if #live = 0 send217 {q} send217 {z} send217 {e} send217 {f} send {3} send {4} else send {2} end_if showwindow #showwindow stop_script 1 stop_script 5 stop_script 6
//script 19 stop_script 7
Вот часть скриптов, где есть sctop_scrupt или start_script. Все скрипты их 19 работают параллельно и постоянно при определенных условиях один включает другой или выключает, как написать без остановки и запуска параллельные скрипты я хз, ну если знаете подскажите.
|
|
|
|
Dma13th |
27.9.2017, 16:29
|
Registred
Сообщений: 6
Регистрация: 26.9.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.618
Возраст: 27
|
Цитата(cirus @ 27.9.2017, 13:12) Ладно 2-3 скрипта, но 19 это бред, тем более скрипты в 2 строчки. Код //script 1 set workwindow 394784
get color #col 993 563 if (#col > 56064) AND (#col < 58125) else start_script 5 while_not (#col > 56064 and #col < 58125) get color #col 993 563 end_while stop_script 5 end_if
//sctipt5 set workwindow 394784 send217 {a} Тоже самое: Код set workwindow 394784 get color #col 993 563 if #col < 56064 AND #col > 58125 send217 {a} end_if Условия можно группировать: Код set workwindow 394784 get color #col 993 563 get color #col2 925 566 if (#col < 56064 AND #col > 58125) or (#col2 < 56063 AND #col2 > 58126) send217 {a} end_if Не переделывать ничего нельзя, тут всё выверено, до мельчайших подробностей, если условие будет где-то в центре оно до него будет доходить с огромной задержкой, что убивает программу, поэтому скрипт нельзя менять. Ну попробую удалять другим пилотом
|
|
|
|
Dma13th |
28.9.2017, 20:18
|
Registred
Сообщений: 6
Регистрация: 26.9.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.618
Возраст: 27
|
Цитата(DarkMaster @ 28.9.2017, 13:07) Не совсем. Это даже медленнее, если выполняется в нескольких вкладках. Ну точнее, если мы в пределах одной вкладки это делаем, то мы можем избавиться от трех вызовов гет колора и трех снимков экрана, что и тормозит процесс. Можно сделать getimage, а затем в захваченном изображении сделать три findcolor'а либо и вовсе напрямую из памяти считать цвет. Это даст прирост в скорости примерно в три раза (на самом деле чуть-чуть меньше из-за финда/редмема, но это в пределах погрешности).
Тогда самый последний вопрос в пилоте можно как-то сделать, чтобы 1 скрипт проверял включен скрипт 2 или на паузе или выключен. Типа: If {script 1} = started stop_script 1 end_if If {script 1} = paused resume_script 1 end_if If {script 1} = stopped start_script 1 end_if
|
|
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|