Page 1 of 1

Проблема с грабом

Posted: 2008-01-31 07:45:02
by Avel Mink
ПРоблема в том что нижеприведенный скрипт подбирает любое кол-во руды кроме 1 единицы , пишет что находит, но не подбирает зараза, не могу понять в чем причина

Code: Select all

sub Pickup_ore()

   var a, Exit

   DIM Ore[4]
   Ore[0] = 0x19B9 ## - 4 and more ore
   Ore[1] = 0x19B7 ## - 1 ore
   Ore[2] = 0x19BA ## - 2 ore
   Ore[3] = 0x19B8 ## - 3 ore
   
   UO.Exec('set finddistance 3')
   for a = 0 to 3
      exit=0
      repeat
      uo.FindType(Ore[a], '-1', '1')
      if uo.GetQuantity('finditem') > 0 then
         uo.Grab('0', 'finditem')
         wait(300)
         CheckLag()
      else
         exit=1
      End if
      until Exit==1
   next    
end sub

Posted: 2008-01-31 09:24:19
by Nmy
Попробуй вместо

Code: Select all

uo.Grab('0', 'finditem')

поставить

Code: Select all

uo.moveitem("finditem")

Posted: 2008-01-31 11:32:13
by AGRS
Ошибка в строке

Code: Select all

if uo.GetQuantity('finditem') > 0 then


uo.GetQuantity даст нулевой результат в том случае, если в стопке 1 предмет.

Для проверки результатов работы UO.FindType() используется функция UO.FindCount()

Posted: 2008-02-01 05:48:34
by Avel Mink
Спасибо, помогло