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

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