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