Проблемы были потому, что я не понял впринципе что скрипт должен делать

. Я думал что он должен кидать взрывчатку, а оказываеться закидывать сундуками.
Вот нормальный вариант:
Code:
sub vetki()
dim DropItems[5] # Массив вещей. Число указывать на 1 больше чем последний индекс
var DropItemsCnt=5 # Здесь количество элементов массива (не номер последнего а количество)
DropItems[0]='0x0000' # Вещь 1
DropItems[1]='0x0000' # Вещь 2
DropItems[2]='0x0000' # Вещь 3
DropItems[3]='0x0000' # Вещь 4
DropItems[4]='0x0000' # Вещь 5
var x
var DropCnt=3
var iDropItem
x=uo.getserial('laststatus')
for var iDrop=0 to DropCnt ## Цикл бросков
uo.findtype(DropItems[0],-1,'my') ## Ищем первый обьект
iDropItem=1 ## Дальше будем искать начиная с второго. (Индекс первого = 0)
while not UO.FindCount() and iDropItem<DropItemsCnt ## Пока ничего не нашли или не перебрали все типы
uo.findtype(DropItems[iDropItem],-1,'my') ## Ищем тип вещи с следующим номером
iDropItem=iDropItem+1 # Номер следующей вещи увеличиваем на 1 чтобы не искать ту-же вещь снова
wend
if uo.findcount() then
uo.drop("1",GetFromNum(iDrop,uo.getx(x),1,2),GetFromNum(iDrop,uo.gety(x),0,3),0,"finditem")
end if
wait(1000)
uo.print('DROPPED')
next
end sub
sub GetFromNum(Num,Val,PlusVal,MinVal)
if Num==PlusVal then
return Val+1
end if
if Num==MinVal then
return Val-1
end if
return Val
end sub