Вот. Сам не пробовал, но должен работать.
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
|