Скрипт на Tailoring, Нужна помощь |
Скрипт на Tailoring, Нужна помощь |
Сообщений: 424 Рег. 10.06.2013 |
2 октября 2014 02:58
Сообщение #1
|
Короче, хз сколько часов я уже этот скрипт терзаю, хоть бери да вручную крафть! Помогите найти проблему! На Старт макроса пишет - Warning: menu "Cloth" opened. waiting. cancelled. У меня мозг вскипел довести хотя бы до того что бы открыть Menu3, а тут такое... Буду благодарен за ответ ! ###################################################################################################### ########################################################################################### ############################################################################# sub Tailoring() Dim t_Resources[2] t_Resources[0] = '0x175D';??? ????? t_Resources[1] = '0x0F9D';??? ????? var t_SewingKit = '0x0F9D', t_Robe = '0x1f01', t_Bag = '0x0e76', t_Steaks = '0x0c77' var id_Container = '0x40B0977D', id_RecContainer = '0x40B0977D' var Delay = 10, Pause = 1000, ThreadsNeed = 1, ClothNeed = 20, ClothMove = 500, ThreadsMove = 50 var msg = 'ou put|fail', Time, id_Bag, ResMove, i UO.UseObject(id_Container) UO.UseObject(id_RecContainer) While true If UO.Count(t_Resources[0]) >= ClothNeed and UO.Count(t_Resources[1]) >= ThreadsNeed then If UO.Targeting() then UO.CancelTarget() Endif DelJournal(msg) Time = UO.Timer() UO.WaitMenu('Cloth', 'Tops', 'Tops', 'Jesters Suit') UO.WaitTargetType(t_Resources[0]) UO.UseType(t_SewingKit) Repeat Wait(100) Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer() else While UO.Count(t_Robe) UO.FindType(t_Bag, -1, id_RecContainer) If UO.FindCount() then id_Bag = UO.GetSerial('finditem') UO.UseObject(id_Bag) Wait(100) UO.FindType(-1, -1, id_Bag) If UO.FindCount() < 255 then UO.FindType(t_Robe, -1, 'backpack') If UO.FindCount() then CheckLag() UO.MoveItem('finditem', -1, id_Bag) Wait(Pause) else UO.Print('?????????? ?????? 404 :?') Return Endif else UO.Ignore(id_Bag) Endif else UO.Print('????? ??? ??????????? ?????? ?????') Return Endif Wend UO.IgnoreReset() For i = 0 to 1 UO.FindType(t_Resources[i], -1, id_Container) If UO.FindCount() then If i > 0 then ResMove = ThreadsMove else ResMove = ClothMove Endif CheckLag() UO.MoveItem('finditem', ResMove - UO.Count(t_Resources[i]), 'backpack') Wait(Pause) else UO.Print('? ' + id_Container + ' ?? ?????? ???? ?? ????????.') Return Endif Next Endif Eat(id_Container, t_Steaks, Pause) Wend Endsub Sub Eat(id, type, pause) var msg = 'simply|ou can|full', Time, Delay = 10 DelJournal(msg) Time = UO.Timer() Repeat If UO.Count(type) then UO.UseType(type) Wait(100) else UO.FindType(type, -1, id) If UO.FindCount() then CheckLag() UO.MoveItem('finditem', 20, 'backpack') Wait(Pause) else UO.Print('??? ????') Return Endif Endif Until UO.InJournal(msg) or Time + Delay * 10 <= UO.Timer() Endif Sub DelJournal(msg) While UO.InJournal(msg) UO.SetJournalLine(UO.InJournal(msg) - 1, '') Wend Endsub Sub CheckLag() DelJournal('ackpack') UO.Click('backpack') Repeat Wait(50) Until UO.InJournal('ackpack') Endsub |
|
|
|
2 октября 2014 11:05
Сообщение #2
|
|
Цитата: scyko UO.WaitMenu('Cloth', 'Tops', 'Tops', 'Jesters Suit') Замени на: UO.WaitMenu("Cloth", "Tops", "Tops", "Jester's Suit") |
|
|
|
Сообщений: 6 Рег. 19.08.2014 |
2 октября 2014 11:22
Сообщение #3
|
Может тоже подскажите, товарищи? Не могу понять, почему он не идет по менюшке itemов. sub tailoring_scroll() var bag1 = '0x406810D1'; id my backpack var cutleather = '0x1067' var sewingkit = '0x0F9D' repeat uo.findtype( cutleather, '-1', bag1 ) if uo.findcount() < 1 then uo.exec('terminate tailoring_scroll') endif if uo.count(cutleather)<5 then uo.Grab(5,'finditem', 'backpack') wait(300) endif wait(300) uo.usetype(sewingkit) uo.waittargettype(cutleather) uo.waitmenu('Miscellaneous','Blank Scroll') uo.deletejournal() repeat wait(300) until uo.injournal('You put') or uo.injournal('fail') or uo.injournal('target') until uo.dead() end sub По аналогии делал "Belt Pouch" крафтил ОКей! Если добавить 'Leather', "uo.waitmenu('Leather','Miscellaneous','Blank Scroll')" тоже не робит. Меню вызывает и стоит:( |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
2 октября 2014 11:24
Сообщение #4
|
в конце можно цифирку в скобках поставить с номером нужного предмета. Удобно чтобы каждый день не заморачиваться переписыванием названия. UO.WaitMenu("Cloth", "Tops", "Tops", "(4)" |
|
|
|
Сообщений: 137 Рег. 5.09.2014 |
2 октября 2014 12:26
Сообщение #5
|
поменяй местами строчки 1. uo.waitmenu('Miscellaneous','Blank Scroll') ; эту строку можно вобше вынести за пределы циклов в самый вверх. потому что достаточно одно раза вызвать меню 2. uo.waittargettype(cutleather) ; инжект работает так что сначала вызывает ловушку ( таргет ) затем действие. 3. uo.usetype(sewingkit) ; а вот и действие и всё заработает а ну если первую строку двинешь к переменным добавь еще туда же uo.cancelmenu () не за что |
|
|
|
Сообщений: 3319 Рег. 19.11.2013 |
2 октября 2014 13:35
Сообщение #6
|
ловушка на меню данного типа одноразовая. Её ни в коем случае нельзя вытаскивать за пределы цикла. Если бы автоменю было то можно. Но с ним геморойно потому что надо обязательно сбрасывать. |
|
|
|
Сообщений: 137 Рег. 5.09.2014 |
2 октября 2014 14:54
Сообщение #7
|
действительно не досмотрел функцию) чойт подумалость как автоменю) эх исправить пост незя уже. ну да лана ремарку прочтет поймет. |
|
|
|
Сообщений: 424 Рег. 10.06.2013 |
2 октября 2014 16:20
Сообщение #8
|
Zombie, Mirage, Спасибо ребята |
|
|
|
Сообщений: 6 Рег. 19.08.2014 |
3 октября 2014 10:22
Сообщение #9
|
JCorpain, Спасибо! Буду пробовать сегодня:) |
|
|
|
Сообщений: 49 Рег. 14.09.2014 |
6 октября 2014 04:20
Сообщение #10
|
Mirage, JCorpain, Спасибо за разъяснения. |
|
|
|
Сейчас: 25 ноября 2024 08:09 |