Нужна хэлп...
Posted: 2008-01-27 15:40:05
Написал скрипт... И именно эта ошибка вылетает при прокрутке программы.... Причем, как ни странно, но ошибка вылетает в конце первого цикла, предварительно использовав макс. число онго из компонентов бля создания стрел... Причем, хотя в программе и говориться: брать и перетаскивать по одному шафту из пака в бэкпак, а потом юзать из бэкпака один шафт и кликать по перьям, но он все равно использует макс число, расходуя все перья и оставляя остаток шавтов... вот код:
Шавты валяются в мешочке, который валяется в бэкпаке, стрелы складываются в другой пак...
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 ошибки... (((
Шавты валяются в мешочке, который валяется в бэкпаке, стрелы складываются в другой пак...
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 ошибки... (((