Mirage wrote:
1) именно про сокращенные меню - ктото рядом стоящий может сказать то что ожидает скирпт и цикл со скочит с паузы не дождавшись завершения действия.
2)я бы добавил сообщение "Вы слегка голодны" в until
3)и еще бы добавил временную паузу (или счетчик тактов или таймер). Потому как иногда бывает такой глюк - фраза проскакивает в журнале а за ней сразу другая и почему то скрипт не видит нужную.
4)паузу у пряталки тоже можно сделать с использованием журнала - она сократиться немножко.
5) ОБЫЧНО Uo.DeleteJournal() ставят в начале скрипта (цикла) так как если ты остановил скрипт руками, потом запустил - в журнале то фраза все равно будет => словишь глюк.
6)конструкцию
Code:
if uo.InJournal('Вы слегка голодны.') then
Wait(2500)
Uo.UseType('0x097B')
end if
и подобные лучше изобразить:
Code:
if uo.InJournal('Вы слегка голодны.') then
Wait(500)
Uo.UseType('0x097B')
Wait(2000)
end if
Хотя именно тут наверное сойдет и так как у тебя, если работает.
PS все поправки чисто косметического характера.
1) Оставлю тогда так как есть. Until заточен исключительно под системные события. Если в журнале будет не 'Предмет выскальзывает из ваших пальцев.', а 'Вася Пупкин сказал: Предмет выскальзывает из ваших пальцев.', то ничего не произойдёт. А так, да, твой вариант более красивый, найду применение и ему. Его можно использовать находясь в тихом месте, где никто не ходит, в доме например.
2) Специально вынес в отдельный блок, т.к. когда until увидит "Вы слегка голодны", тогда после, всё равно нужна будет проверка, по какой причине сработал until. Как вариант, можно запихать блок проверки в сам until.
3) Да, есть такое, он появляется когда скрипт завязан на задержку, а не на событие. И как раз на этот случай, и на случай лага в until стоит ('You must wait to perform another action.')
4) Пауза самая оптимальная. Меньше не получится, как не крути. Вот тут как-раз блок и закручен на задержку.
5) Скрипт изначально и по возможности разрабатывался стрессоустойчивым, единственный трабл который может случиться, это когда мульт вдруг куда-то отошёл. (уже исправлено)
6) Тут можно вообще без задержки, т.к. проверка стоит после until, который по сути проверяет закончилось-ли действие или нет. Задержку на всякий случай прописал. Повторюсь, чтобы скрипт был максимально стрессоустойчивым.
PS: Немного подрихтовал, until оставил прежним. Спасибо за конструктивные замечания.