Page 1 of 1

Баг с finditem (для Yoko)

Posted: 2005-01-28 10:03:31
by MARLENUS
У меня скрипт примерно следующего содержания

Code: Select all

 dim tmpBags[254] 
 dim Bags[254]
 var s,z,c,n,x,y
 var i = 0

 UO.AddObject("bag",UO.GetSerial("^0x0E75"))

# Ищем все мешочки в bag и заносим в массив

 UO.findtype('0x0E76','-1','bag')
 while UO.FindCount()>0
  tmpBags[i] = UO.GetSerial("finditem")
  i = i + 1
  UO.Ignore("finditem")
  wait(100)
  UO.findtype('0x0E76','-1','bag')
 wend
 UO.IgnoreReset()
 i = i - 1

# Сортируем полученный массив по возрастанию серийника

 for s = 0 to i
  c = 0
  for z = 0 to i
   if tmpBags[s]>tmpBags[z] then
    c = c + 1
   endif
  next
  Bags[c] = tmpBags[s]
 next

# Раскладываем мешочки согласно сортировке

 for n = 0 to 254
  if Bags[n] then
   x = 28 + (n-12*int(n/12))*12
   y = 53 + int(n/12)*15
   UO.Exec("moveitem "+Bags[n]+" 1 bag "+str(x)+" "+str(y)+" 0")
   wait(1000)
  endif
 next


После логина однократный запуск этого скрипта работает нормально.
Но если запустить его еще раз то он на этапе поиска мешочков циклится с сообщением invalid object "finditem"

То есть после перемещения объектов в паке по определенным координатам эти объекты криво ищутся командой FindType

Posted: 2005-01-28 14:28:48
by Edred
попробуй сделать ,resend и запустить снова

Posted: 2005-01-28 17:29:25
by MARLENUS
Edred wrote:попробуй сделать ,resend и запустить снова


так работает

Posted: 2005-01-29 12:39:40
by Edred
MARLENUS wrote:
Edred wrote:попробуй сделать ,resend и запустить снова


так работает


Ну так вставь в начало скрипта UO.Resend()