Прошу перенести
DarkMaster наши с ним обсуждения из темы
Новая Версия Uopilot v.2.34) в эту.
продолжая редактировать свой скрипт повторно столкнулся с этой же проблемой но уже при использовании "
if 754, 246 16578789" поясняю:
в своем скрипте заменил выражения (кстати брал я их отсюда:
Wiki для UOPilot раздел if)
Код
set $a 754, 246 16578789
set $b 754, 246
if ($a) and ($b 16578789)
left 754, 246
wait 3s
end_if
на
Код
if 754, 246 16578789
left 754, 246
wait 3s
end_if
при этом из скрипта убрал все "
call a", также заменил "
call b"на код "
if 484, 462 6313276" но убрал 2е "
else" получилось
Код
if 484, 462 6313276
left 484, 462
wait 3s
else
left 412, 487
wait 3s
left 526, 487
wait 3s
if 484, 462 6313276
left 484, 462
wait 3s
//отсюда убрали "else"
end_if
end_if
скрипт работает правильно, но если вернуть
Код
else
left 412, 487
wait 3s
end_if
вылезает баг
Ошибка интерпретации скрипта (end_repeat), а вот если сделать отдельный скрипт
Код
repeat 5
left 526, 487
wait 3s
if 484, 462 6313276
left 484, 462
wait 3s
else
left 412, 487
wait 3s
left 526, 487
wait 3s
if 484, 462 6313276
left 484, 462
wait 3s
else
left 412, 487
wait 3s
end_if
end_if
end_repeat
end_script
то работает.
ВЫВОД: если в цикле "
repeat" при нескольких "
if" использовать два оператора "
else" (один используется на втором уровне, как это делал я) то вылезает ошибка на строчке "
end_repeat" =
Ошибка интерпретации скрипта (end_repeat), повторяюсь в хз какой раз: проблема решается если
if 484, 462 6313276
Код
if 484, 462 6313276
left 484, 462
wait 3s
else
left 412, 487
wait 3s
end_if
второго уровня убрать в процедуру, или можно прописать ту часть где используются оба оператора "
else" в отдельную вкладку
Uopilot'а и вызывать их использование в нужном месте с предварительной передачей хендла окна.
хоть это и частичное решение проблемы но могут возникнуть неприятности например: если необходимо при повторном отрицательном результате перейти на какую то другую строку скрипта, из процедуры это пока невозможно (или я ошибаюсь?)
думаю данную тему можно будет закрыть.
P.S. прошу прощение за косноязычность в выражениях, на форумах и в чатах до этого тоже не особо участвовал.