Деньги для ДРВ

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
prof
Posts: 76
Joined: 2005-01-01 04:00:14
Contact:

Деньги для ДРВ

Post by prof »

Кто нибудь может сделать скрипт для ДРВ, что бы из маленьких кучек делал кучки по 50к?
Leo
Expert!
Posts: 791
Joined: 2005-01-15 19:15:05
Location: Dragon World
Contact:

Post by Leo »

Вот. Сам не пробовал, но должен работать.

Code: Select all

#Описание: Скрипт на отсчитывание определённой суммы денег в отдельный мешочек. 
#Перед запуском скрипта определяете необходимую сумму, т.е. задаёте необходимое
#значение переменной 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
prof
Posts: 76
Joined: 2005-01-01 04:00:14
Contact:

Post by prof »

Спасибо.
Post Reply