Page 1 of 1

Работоспособность функции UO.WaitMenu

Posted: 2008-01-27 22:40:38
by GroundBeast
Возникло сразу несколько вопросов....
Написал скрипт на Крафт стрел - все работает
Пишу скрипт на Тинкер - не пашет... выдает следующие ошибки....
Сначала весь Текс :

Code: Select all

;Tinkering V 1.0.0.a GroundBeast (c)
;
sub Tinkering()
Var i
;------------------------------------------------------------------------
UO.DeleteJournal()
UO.Print('Shoose Tinker tools')
UO.AddObject('ToolId')
While UO.Targeting() == 2
  Wait(500)
Wend
UO.SaveConfig()
UO.Print('Done')
Wait(300)
UO.Print('Shoose ingots')
UO.AddType('IngType')
While UO.Targeting() == 2
  Wait(500)
Wend
UO.SaveConfig()
UO.Print('Done')
Wait(300)
UO.Print('Shoose Bag with ingots')
UO.AddObject('BagId')
While UO.Targeting() == 2
  Wait(500)
Wend
UO.SaveConfig()
UO.Print('Done')
Wait(300)
UO.Print('Shoose Bag for work')
UO.AddObject('BagForId')
While UO.Targeting() == 2
  Wait(500)
Wend
UO.SaveConfig()
UO.Print('Done')
Wait(300)
UO.Print('Shoose Type of key')
UO.AddType('KeyType')
While UO.Targeting() == 2
  Wait(500)
Wend
UO.SaveConfig()
UO.Print('Done')
Wait(300)
;------------------------------------------------------------------------
UO.UseObject('BagId')
UO.UseObject('BagForId')
;------------------------------------------------------------------------
For i = 0 to 100
If UO.Count('IngType') > 0 Then
  UO.FindType('IngType','-1','BagId')
  UO.MoveItem('finditem','10','backpack')
  UO.WaitMenu("Select","Parts","Select","Iron Key")
  UO.WaitTargetType('IngType')
  UO.UseType('ToolId')
  Wait(12000)
  UO.FindType('KeyType','-1')
  UO.MoveItem('finditem','1','BagForId')
  Wait(100)
  UO.DeleteJournal()
;------------------------------------------------------------------------
Else
  UO.Print('Out Of Ingots')
  Wait(5000)
  UO.DeleteJournal()
;------------------------------------------------------------------------
EndIf
Next
endsub


О скрипте:
1.В первой части мы просто кликаем по всяким яким нужным для скрипта вещам... - тут все работает, все запоминает...
2. Во второй части мы просто открываем бэги - там мне посоветовал Купер...
3. А вот тут начинается самая прелесть:

Code: Select all

  UO.FindType('IngType','-1','BagId')
  UO.MoveItem('finditem','10','backpack')
 

эти строчки работоспособны... (переносим из мешочка в бэкпак инги...)

Code: Select all

  UO.WaitMenu("Select","Parts","Select","Iron Key")
  UO.WaitTargetType('IngType')
  UO.UseType('ToolId')

не пашет, хотя пахать должно... И пишет он следующее:
Previous waitmenu cancelled:
Select
Now waiting for menu...
No item found
Он не находит ингов, которые лежат в бэкпаке!... хотя они там!...
Как это исправить? плиз помогите...

Code: Select all

  Wait(12000)
  UO.FindType('KeyType','-1')
  UO.MoveItem('finditem','1','BagForId')
  Wait(100)
  UO.DeleteJournal()

Далее все работает...

Posted: 2008-01-27 22:42:35
by Destruction

Code: Select all

[code]КОДЫ СВОИ ПИСАТЬ НАДО ВОТ ВНУТРИ ТАКИХ ХРЕНОВИН, СКОЛЬКО РАЗ ПОВТОРЯТЬ НУЖНО!?[/code]


Я злой.

Posted: 2008-01-27 22:44:09
by GroundBeast
Прошу прощения.... более повторять ошибку не буду....

Posted: 2008-01-27 22:53:28
by Kynep
GroundBeast wrote:Прошу прощения.... более повторять ошибку не буду....


Меню проверь. Команду wait, для начала, ни кто не отменял. А ваапще тебе паузы нужны в скрипте, после выполнений действия, и динамические по журналу.

Posted: 2008-01-27 23:05:53
by GroundBeast
Wait??? и куда??? я так поня, что в команде UO.WaitMenu() паузы автоматом расписываются.... в отличии от команды UO.AutoMenu()
при сем при том... заменяю на следующее добавляя ожидания:

Code: Select all

  UO.FindType('IngType','-1','BagId')
  UO.MoveItem('finditem','5','backpack')
  Wait(200)
  UO.AutoMenu("Select","Parts")
  Wait(300)
  UO.AutoMenu("Select","Iron Key")
  UO.WaitTargetType('IngType')
  UO.UseType('ToolId')
  Wait(12000)


Получаю следующую ошибку:

Items found:2
Items Found:1
Warning Autochoice replaced
AutomenuAdded. Waiting for Choices
0:[Select]=> [Parts]
Warning Autochoice replaced
AutomenuAdded. Waiting for Choices
0:[Select]=> [Iron Key]
Auto target cancelled
No item found.

В чем ошибка (

Posted: 2008-01-27 23:22:03
by Kynep
GroundBeast wrote:Wait??? и куда??? я так поня, что в команде UO.WaitMenu() паузы автоматом расписываются.... в отличии от команды UO.AutoMenu()
при сем при том... заменяю на следующее добавляя ожидания:

В чем ошибка (


Code: Select all

  UO.CancelMenu()
  UO.AutoMenu("Select", "Parts")
  Wait(100)
  UO.AutoMenu("Parts", "Iron Key")


Вставь это в САМОМ НАЧАЛЕ скрипта, кстати разве ключи в меню Партс делаются?

Posted: 2008-01-27 23:30:43
by GroundBeast
ничего не изменилось....
все равно не находит итем...

На Мидле так.... )

Posted: 2008-01-27 23:33:11
by Kynep
GroundBeast wrote:ничего не изменилось....
все равно не находит итем...

На Мидле так.... )


поменяй:

Code: Select all

UO.FindType(IngType, '-1', BagId)

Posted: 2008-01-27 23:39:04
by GroundBeast
Так у меня и так строчка идеентичная... Если речь идет о знаках, то без ' - закрывающих верхних опострофов выдает ошибки....

Posted: 2008-01-28 08:33:44
by GroundBeast
Разобрался.... оказалась тупейшая очепятка.... (((((( еле заметил...

Posted: 2008-01-28 08:54:05
by Kynep
GroundBeast wrote:Разобрался.... оказалась тупейшая очепятка.... (((((( еле заметил...


Бывает )))