Вот. Сам не пробовал, но должен работать.
Code:
#Описание: Скрипт на отсчитывание определённой суммы денег в отдельный мешочек.
#Перед запуском скрипта определяете необходимую сумму, т.е. задаёте необходимое
#значение переменной Summ, после запуска указываете мешки по очереди:
#1. мешок с деньгами,
#2. мешок под деньги.
#Деньги в мешок укладываются по 50к, как бы они не были расфасованы в исходном мешке.
#Особенности: Перекладывает суммы кратные 50к, если вы задали иную сумму, то перекладывает
#сумму уменьшенную до ближайшего кратного, и в итоге показывает сколько недоложено
#было в мешок.
#При нехватке денег в исходном мешке перекладывает _все_ деньги, в том числе и не целую
#кучку, в мешок под деньги, и также выводить недостающую сумму до введённого значения.
#В мешке под деньги не желательно наличие гп перед запуском скрипта, в противном случае
#я не ручаюсь за корректность работы скрипта.
sub CollectMany()
var Summ = 300000
var idMoneyFrom, idMoneyTo, t
UO.Print('Откуда деньги тырим?')
uo.addobject('objBag')
while uo.targeting()
wait(100)
wend
idMoneyFrom = UO.GetSerial('objBag')
UO.Print('Куда отсчитываем?')
uo.addobject('objBag')
while uo.targeting()
wait(100)
wend
idMoneyTo = UO.GetSerial('objBag')
uo.UseObject(idMoneyFrom)
uo.UseObject(idMoneyTo)
CheckLag()
UO.FindType('0x0EED', '0x0000', idMoneyFrom)
while UO.FindCount()>1 and Summ > 50000
UO.MoveItem('finditem',-1,idMoneyTo)
CheckLag()
if UO.GetQuantity('finditem') <> 50000 then
t = UO.GetQuantity('finditem')
UO.FindType('0x0EED', '0x0000', idMoneyFrom)
repeat
UO.MoveItem('finditem',str(50000-t),idMoneyTo)
CheckLag()
wait(1000)
t = UO.GetQuantity('finditem')
UO.FindType('0x0EED', '0x0000', idMoneyFrom)
until UO.GetQuantity(t) == 50000 or UO.FindCount() < 1
if UO.FindCount() < 1 then
Summ = Summ-UO.GetQuantity(t)
else
Summ = Summ - 50000
end if
else
Summ = Summ - 50000
wait(1000)
end if
UO.FindType('0x0EED', '0x0000', idMoneyFrom)
wend
if Summ == 0 then
UO.Print('Деньги перекинул в полном объёме.')
else
UO.Print('В пакетике не хватает ' + str(Summ) + 'гп до запрашиваемой суммы.')
end if
end sub
sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')
repeat
wait(50)
until UO.InJournal('backpack')
end sub