Помощь - Поиск - Пользователи - Календарь
Полная версия: Как убрать абсолютно все сообщения, которые выдает пилот
UoKit.com Форумы > Кликер > UO Pilot
Dma13th
Так вот иногда пилот даёт ошибку и выкидывает в окно пилота, но это фигня решаемая showwindow возвращаемся в окно. В настройках убрал всё выводить в лог, открывать лог, осталось только Выводить сообщения в лог, поставил Dev/Null, типа не выводить или я хз что это, так вот, очень редко выскакивает вот эта штука UOpilot Error Message окно такое, и там написано syntax error(Exp1) с кнопкой ОК, как сделать, чтобы это окно не выскакивало, так как оно вешает скрипт, типа скрипт включен но пока не нажмешь ОК не продолжится, не ну чисто физически можно написать, чтобы сам пилот выключал, просто раньше не пользовался, типа запустить второй пилот рядом, так как первый зависнет, второй пилот ищет окно с названием UOpilot Error Message, если оно есть делает его активным нажимает ентер. И вообще что это за ошибка и как её можно легкими способами убрать?
И да на счет скрипта, что он делает. Он там цвета находит, кнопочки нажимает, но ошибки, я так понял, когда идут команды stop_script start_script там много раз, по миллиону раз они нажимаются, и вот, видимо, когда один скрипт выключает другой, а первый чего-то не доделал, например, не отжал зажатую клавишу, бывают ошибки, но не такие, а обычные, которые просто сворачивают пилот, как я уже говорил showwindow решает проблему, а эта ошибка бывает редко, но она слишком паскудная.
DarkMaster
Версия пилота какая? Эти проблемы фиксились.
Dma13th
Цитата(DarkMaster @ 26.9.2017, 23:16) *

Версия пилота какая? Эти проблемы фиксились.


v2.39 WK
cirus
Цитата
syntax error

Нужен код, в котором ошибка.
Цитата
когда идут команды stop_script start_script там много раз

Так можно и без них скрипт написать.
Dma13th
Цитата(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 работают параллельно и постоянно при определенных условиях один включает другой или выключает, как написать без остановки и запуска параллельные скрипты я хз, ну если знаете подскажите.
cirus
Цитата
как написать без остановки и запуска параллельные скрипты

Ладно 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
Цитата(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



Не переделывать ничего нельзя, тут всё выверено, до мельчайших подробностей, если условие будет где-то в центре оно до него будет доходить с огромной задержкой, что убивает программу, поэтому скрипт нельзя менять. Ну попробую удалять другим пилотом
cirus
Цитата
если условие будет где-то в центре оно до него будет доходить с огромной задержкой

Дело ваше. Но, например, раскинув 3 проверки цвета в 3 скрипта ничего не даст:
Код
get color #col1 732, 984
get color #col2 993 563
get color #col3 392, 59

По времени тоже самое что в одном скрипте.

DarkMaster
Цитата
По времени тоже самое что в одном скрипте.

Не совсем. Это даже медленнее, если выполняется в нескольких вкладках. Ну точнее, если мы в пределах одной вкладки это делаем, то мы можем избавиться от трех вызовов гет колора и трех снимков экрана, что и тормозит процесс. Можно сделать getimage, а затем в захваченном изображении сделать три findcolor'а либо и вовсе напрямую из памяти считать цвет. Это даст прирост в скорости примерно в три раза (на самом деле чуть-чуть меньше из-за финда/редмема, но это в пределах погрешности).
Dma13th
Цитата(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
DarkMaster
добавил возможность выяснить количество вкладок со скриптами, с занесением в массив их номеров, имен и статуса запуска
get scripts %a
msg size (%a)
save_array %a
cirus
Учтите, что скрипты в пилоте начинаются с 0, а массивы с 1.
Код
get scripts %a
If  %a [1 3] = runing  // статус скрипта в 0 вкладке
    stop_script 0
end_if

If %a [2 3] = stoped  // статус скрипта в 1 вкладке
    start_script 1
end_if
end_script
Dma13th
Ну красиво, красиво товарищи. Всем спасибо, пойду жертвовать на вебмани за труды.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.