Page 1 of 1

Помогите со скриптом на item identification.

Posted: 2010-12-08 18:30:41
by plotney
Есть следующий скрипт.
идея: на полу два мешка from_bag и to_bag. в фром баг, куча неидентифицированных вещей. мы берем одну, идентифицируем, и кладем в то баг.
проблема: иногда идентифицирует вещь по нескольку раз, перемещает тоже рандомно.
скрипт переделан из скрипта для протравки оружия, написанный Destruction 'ом

Code: Select all

var from_bag=0x7F5A7520    #Power
var to_bag=0x7F5A7500      #Dragon
sub main()
   var item
   while (true)
      uo.findtype(-1,-1,from_bag)
      item=uo.getserial('finditem')
      #no items
      if (UO.FindCount() == 0) then
         uo.sayu('Закончил!')
         return
      endif
      DeleteJournalLine('It appears to be') 
      DeleteJournalLine('normal') 
      while not uo.injournal('It appears to be|normal')
         uo.moveitem(item)
         uo.waittargetobject(item)
         wait(300)
         uo.useskill('Item')
         wait(10000)
      wend
      uo.moveitem(item,0,to_bag)
   wend
end sub

Sub DeleteJournalLine(msg)
   while uo.injournal(msg)
      uo.setjournalline(uo.injournal(msg)-1,"")
   wend
end sub

Re: Помогите со скриптом на item identification.

Posted: 2010-12-08 23:09:23
by Mirage
Пробуй.

Code: Select all

var from_bag='0x7F5A7520'    #Power
var to_bag='0x7F5A7500'      #Dragon
var msg ='t is made|t appears to be|normal'
var item, LastTimer
sub main()
WHILE NOT UO.Dead()
   uo.findtype(-1,-1,from_bag)
   if UO.FindCount() > 0 then
      item=uo.getserial('finditem')
      uo.moveitem(item, 0, 'backpack')
      wait(500)
      UO.DeleteJournal()
      LastTimer=UO.Timer()
      uo.Useskill('Item',item)
      repeat
         wait( 300 )
      until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
      uo.moveitem(item,0,to_bag)
      wait(500)
   else
      uo.sayu('Закончил!')
      return
   endif
wend
end sub

Re: Помогите со скриптом на item identification.

Posted: 2010-12-09 15:34:48
by plotney
Если у него не получаеться идентифицировать с первого раза, он просто игнорирует эту вещь, и переходит на следующую. +задержка в районе 9 секунд повторного использования скилла.