| Yoko http://forum.yoko.com.ua/ |
|
| Помогите - у меня кривой скрипт. http://forum.yoko.com.ua/viewtopic.php?f=20&t=13138 |
Page 1 of 1 |
| Author: | GroundBeast [ 2008-01-27 15:40:05 ] |
| Post subject: | Нужна хэлп... |
Написал скрипт... И именно эта ошибка вылетает при прокрутке программы.... Причем, как ни странно, но ошибка вылетает в конце первого цикла, предварительно использовав макс. число онго из компонентов бля создания стрел... Причем, хотя в программе и говориться: брать и перетаскивать по одному шафту из пака в бэкпак, а потом юзать из бэкпака один шафт и кликать по перьям, но он все равно использует макс число, расходуя все перья и оставляя остаток шавтов... вот код: Шавты валяются в мешочке, который валяется в бэкпаке, стрелы складываются в другой пак... sub Bowcraft() ;если их не описать, то ошибка не сходит... Var BagID Var BagForArrowsId Var ShaftType Var FeatherType Var ArrowType Var i ;узнаем и запоминаем ID мешка с шавтами внутри UO.Print('Shoose bag with shafts') UO.AddObject('BagId') While UO.Targeting() == 2 Wait(500) Wend UO.SaveConfig() UO.Print('Done') Wait(500) ;узнаем и запоминаем ID мешка для складирования стрел UO.Print('Shoose empty bag for arrows') UO.AddObject('BagForArrowsId') While UO.Targeting() == 2 Wait(500) Wend UO.SaveConfig() UO.Print('Done') Wait(500) ;выбираем тип шавтов UO.Print('Choose type of shafts') UO.AddType('ShaftType') While UO.Targeting() == 2 Wait(500) Wend UO.SaveConfig() UO.Print('Done') Wait(500) ;выбирает тип перьев UO.Print('Choose type of feathers') UO.AddType('FeathersType') While UO.Targeting() == 2 Wait(500) Wend UO.SaveConfig() UO.Print('Done') Wait(500) ;выбираем тип стрел UO.Print('Choose type of Arrows') UO.AddType('ArrowType') While UO.Targeting() == 2 Wait(500) Wend UO.SaveConfig() UO.Print('Done') Wait(500) ;делаем 500 попыток For i = 0 to 500 ;проверка наличия шавтов If UO.Count('ShaftType') > 0 Then ;Проверка наличия перьев If UO.Count('FeathersType') > 0 Then ;ищем перья в паке !!!!!!!!!!!!!!!!!!!! RUN TIME ERROR UO.FindType(ShaftType,'-1',BagId) ;перемещаем 1 шавт из пака в бэкпак UO.MoveItem('findtype','1') Wait(5000) ;делаем стрелу UO.WaitMenu("What","Arrow") UO.WaitTargetType('FeathersType') UO.UseType('ShaftType') Wait(5000) If UO.Count('ArrowType') > 0 Then UO.FindType(ArrowType,'-1') UO.MoveItem('findtype','1','BagForArrowsId') Wait(200) Else UO.Print('NO arrow for move') Wait(200) EndIf Else UO.Print('No feathers in your backpack') Wait(5000) EndIf Else UO.Print('No shafts in bag') Wait(5000) EndIf Wend endsub и в конце ошибка..... т.е. 2 ошибки... ((( |
|
| Author: | Kynep [ 2008-01-27 16:48:28 ] |
| Post subject: | Re: Нужна хэлп... |
GroundBeast wrote: Написал скрипт... И именно эта ошибка вылетает при прокрутке программы.... Причем, как ни странно, но ошибка вылетает в конце первого цикла, предварительно использовав макс. число онго из компонентов бля создания стрел... Причем, хотя в программе и говориться: брать и перетаскивать по одному шафту из пака в бэкпак, а потом юзать из бэкпака один шафт и кликать по перьям, но он все равно использует макс число, расходуя все перья и оставляя остаток шавтов... вот код:
Шавты валяются в мешочке, который валяется в бэкпаке, стрелы складываются в другой пак... и в конце ошибка..... т.е. 2 ошибки... ((( Таксс что вот это? Code: For i = 0 to 500 Чет я не разгледел next... Это раз, два, в команде МувИтем, нужно ставить кол-во 2 и обязателно контейнер получатель: Code: UO.MoveItem(тип_шафтов, '2', 'backpack') Почему то по одному предмету из стопки не хочет брать ни одна команда, берет стопку. Так пока вроде все... Еще я не уверен насчет кол-ва If Then, все ли циклы закрыты, это лучше проверяется здесь. У меня все. З.Ы. А это что такое?!?!? Code: UO.MoveItem('findtype','1')
findtype - такова указателя не бывает, бывает finditem. Исправляем. |
|
| Author: | GroundBeast [ 2008-01-27 17:40:50 ] |
| Post subject: | |
Пасибо.... но вот почему Rum time error вылетает? UO.FindType(ShaftType,'-1',BagId) - тут..... и нужно ли в начале программы описывать переменные, которые позже инициализируются, якобы, в функции UO.AddObject('BagForArrowsId') написав эту функцию нужно ли мне инициализировать BagForArrowsId ? |
|
| Author: | Kynep [ 2008-01-27 18:33:21 ] |
| Post subject: | |
GroundBeast wrote: Пасибо.... но вот почему Rum time error вылетает?
UO.FindType(ShaftType,'-1',BagId) - тут..... и нужно ли в начале программы описывать переменные, которые позже инициализируются, якобы, в функции UO.AddObject('BagForArrowsId') написав эту функцию нужно ли мне инициализировать BagForArrowsId ? 1)На самом деле она не там вылетает, а немнога пораньше, просто парсер так работает, примерно показывает, хотя иногда и попадает ), для верности в начале скрипт вставь функцию открывания всех мешков используемых скриптом, а то он не найдет ни чего. 2)Нет, объекты не переменные, их указывать не надо. |
|
| Author: | GroundBeast [ 2008-01-27 21:13:13 ] |
| Post subject: | |
Огромное спасибо! Все работает... Причем стрелы по одной делаются... ))) |
|
| Author: | Kynep [ 2008-01-27 21:22:43 ] |
| Post subject: | |
GroundBeast wrote: Огромное спасибо! Все работает... Причем стрелы по одной делаются... )))
Ну вот и здорово ))) Не за что ) |
|
| Author: | Destruction [ 2008-01-27 21:34:14 ] |
| Post subject: | |
Отрезал от темы Unandled Exception.. Не нужно важные темы забивать кривыми скриптами. Тем более, если делать ко всей прочей радости это без тэгов [ code ][ /code ] |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|