Помогите. Почему перестал работать скрипт? |
Помогите. Почему перестал работать скрипт? |
Сообщений: 230 Рег. 28.01.2017 |
26 июня 2017 13:57
Сообщение #1
|
Раньше всё работало. Сейчас же открывает меню с мешком и на этом останавливается. может кто знает что случилось? sub Bag() uo.exec('addobject sewingkit') while uo.targeting() wait(100) wend VAR Exit=0, LastTimer, cloth='0x1067' UO.AutoMenu('Leather','Miscellaneous'); UO.AutoMenu('Miscellaneous','Bag'); while Exit<>1 UO.DeleteJournal() LastTimer=UO.Timer() uo.waittargettype(cloth) UO.UseObject('sewingkit') while NOT UO.InJournal("You put") AND NOT UO.InJournal("Tailoring failed") wait(100) wend If UO.InJournal("Tailoring failed") then repeat wait(100) until UO.Timer()>=LastTimer+100 EndIf wend end sub |
|
|
|
Сообщений: 230 Рег. 28.01.2017 |
26 июня 2017 14:01
Сообщение #2
|
такой вариант тоже не срабатывает. останавливается в том же месте на меню с мешками. sub Tail_Meshki() var SewKit = '0x0F9D'; sewing kit var Cloth = '0x1067'; repeat UO.WaittargetType(Cloth) uo.usetype(SewKit) UO.WaitMenu('Leather','Miscellaneous','Miscellaneous','Bag') UO.DeleteJournal() repeat wait(500) until UO.InJournal('You put') or UO.InJournal('fail') or UO.InJournal('destroyed') until uo.count(Cloth) < 5 end sub |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
26 июня 2017 15:13
Сообщение #3
|
Всего скорее скилл просто подрос и стали доступны новые меню. Руками скрафть мешок и посмотри соответствуют ли менюшки тем что в скрипте. |
|
|
|
Сообщений: 275 Рег. 10.03.2017 |
26 июня 2017 22:17
Сообщение #4
|
Исправь вот так и попробуй UO.WaitMenu('Miscellaneous','Bag') |
|
|
|
Сообщений: 230 Рег. 28.01.2017 |
27 июня 2017 11:37
Сообщение #5
|
UO.AutoMenu('Leather','Miscellaneous'); UO.AutoMenu('Miscellaneous','Bag'); поставил паузу между этими строчками. всё заработало. странно, раньше работало без паузы отлично. |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
27 июня 2017 14:31
Сообщение #6
|
Вот по этому я не люблю автоменю :) ХЗ где у него может что отвалиться. UO.WaitMenu('Leather','Miscellaneous','Miscellaneous','Bag') если его правильно поставить лучше работает. ЗЫ а еще у тебя в скрипте с автоменюшкой нет команды UO.CancelMenu() которая "забывает" автоменю. Без неё вообще хз как у тебя оно работает :) |
|
|
|
Сообщений: 230 Рег. 28.01.2017 |
15 июля 2017 13:41
Сообщение #7
|
Mirage, Можно поподробнее, а то я в скриптах новичок. В каком месте нужно вставлять UO.CancelMenu() и как использовать правильно UO.WaitMenu в чем отличие от автоменю? |
|
|
|
Сообщений: 275 Рег. 10.03.2017 |
16 июля 2017 10:12
Сообщение #8
|
UO.CancelMenu() ставится после завершения основной процедуры скрипта. В твоем случае перед end sub. |
|
|
|
Сообщений: 275 Рег. 10.03.2017 |
16 июля 2017 10:13
Сообщение #9
|
Каждое использование команды AutoMenu добавляет в специальный список очередной выбор в меню, после чего он остаётся активным всё время, до задания команды CancelMenu. Использование команды WaitMenu включает ожидание определённой последовательности меню, причём ожидание прекращается по достижению последней пары в списке или возникновении несовпадения. Ожидание так же можно отменить командой CancelMenu. Список пар Prompt/Choice задаётся в параметрах. Допускается 1, 2 или 3 пары. Если вложеность меню глубже 3, попробуйте использовать команду AutoMenu. Использование команды AutoMenu вообще более предпочтительно, так как более устойчиво к сбоям. |
|
|
|
Сообщений: 230 Рег. 28.01.2017 |
17 июля 2017 08:36
Сообщение #10
|
Цитата: vovan UO.CancelMenu() ставится после завершения основной процедуры скрипта. В твоем случае перед end sub. Вопрос: может UO.CancelMenu() нужно ставить после изготовления каждого мешочка? Ведь он их делает пока кожа не кончится. Перед while Exit<>1 ? |
|
|
|
Сообщений: 516 Рег. 9.03.2016 |
17 июля 2017 10:03
Сообщение #11
|
До цикла ставим automenu, выполняем работу, после цикла uo.cancelmenu(). |
|
|
|
Сообщений: 275 Рег. 10.03.2017 |
17 июля 2017 10:06
Сообщение #12
|
Попробуй вот так. Должен заработать. В нем UO.CancelMenu() вообще не нужен. sub Tail_Meshki() var SewKit = '0x0F9D'; sewing kit var Cloth = '0x1067'; repeat UO.WaittargetType(Cloth) uo.usetype(SewKit) wait(200) UO.WaitMenu('Miscellaneous','Bag') UO.DeleteJournal() repeat wait(500) until UO.InJournal('You put') or UO.InJournal('fail') or UO.InJournal('destroyed') until uo.count(Cloth) < 5 end sub |
|
|
|
Сейчас: 23 ноября 2024 06:38 |