Код:
# Функция раскладывания вещей из бекпека от BaNaN`а
#
# функция опубликована в связи с выпуском более новой версии
#
# сумки и типы вещей задаются в начале функции sub bper() в переменной масива str[x]
# формат задания: id_сумки:тип1,тип2,тип3.....
# для каждой сумки новая строка str[x]
# str[x] - где x - значение от нуля, до количества сумок
#
VAR cntFrom = "" # контейнер из которого перекладывать вещи пустое значение - "" - бекпек персонажа
VAR delay = 285 # задержка при перекладvвании вещей
sub bper()
VAR n = 7 # количество используемых сумок -1, т.к. мы начинаем отсчет с нуля
DIM str[1000]
VAR lastStr
VAR cont
VAR tp
str[0] = "0x565F0429:0x0EED,0x0F7A,0x0F0E" #gold,BP
str[1] = "0x5C8168E1:0x13FF" #katana
str[2] = "0x57823D12:0x1409,0x13C4,0x13C3,0x1413,0x13BB,0x1412,0x1416" #armor
str[3] = "0x56037581:0x14EB" #karta
str[4] = "0x4AC45DA2:0x0E43,0x0E42,0x0E41,0x0E40" #sunduki
str[5] = "0x57853D1D:0x0F5E,0x0F49,0x0F4D,0x13FB,0x13B6,0x0F45,0x0F4B,0x143E,0x13B8,0x13BA,0x1440,0x0F47" #sword
str[6] = "0x57863D20:0x1405,0x1400,0x0E87" #fens
str[7] = "0x57873D08:0x143A,0x1438,0x143C,0x1406,0x0F5C,0x13B4,0x13B0,0x13E4" #mase
for var i = 0 to n
if len(str[i]) >0 then
cont = left(str[i], 10)
str[i] = right(str[i], len(str[i])-(len(cont)+1))
While len(str[i]) > 0
tp = left(str[i], 6)
str[i] = right(str[i], len(str[i])-(len(tp)+1))
myMoveItem(tp, cntFrom, cont)
if str[i] == lastStr and lastStr <> "" then
uo.print("sub bper повисла !!!!")
wait(1000)
end if
lastStr = str[i]
Wend
end if
next
end sub
sub myMoveItem(type, contFrom, contTo)
VAR prohod = 0
var prohodMax = 40
VAR visim = false
UO.findtype(type, -1, contFrom)
While uo.FindCount() > 0 and visim == false
prohod = prohod + 1
if uo.GetGraphic('finditem') == type then
UO.Moveitem('finditem', 0, contTo)
uo.Print(contTo)
wait(delay)
end if
#вычисляем зависание
if prohod >= prohodMax then
uo.Print("sub myMoveItem - определено зависание.")
visim = true
end if
UO.findtype(type, -1, contFrom)
Wend
end sub