скрипт на раскладываение денег

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
qbc
Posts: 11
Joined: 2009-06-05 10:05:46

скрипт на раскладываение денег

Post by qbc »

нет ли случайноу кого скрипта чтобы он в указанном паке складывал все кучки по 60к из разных...т.е. лежит в паке 100 кучек по 20-30-40-50к, чтобы он их собирал в кучки по 60?
GAUHAR
Posts: 137
Joined: 2006-11-06 21:45:23

Post by GAUHAR »

Есть немного другой скрипт который раскладывает деньги по кучкам. Для полной ясности принципа работы скрипта читай комментарии к скрипту.

Code: Select all

################################################################
# Скрипт собирает деньги кучками по 50к гп.                    #
# Берем две сумки, одну с деньгами (множество кучек с разным   #
# количеством денег) и пустую. По требованию скрипта указываем #
# сумки. ВАЖНО чтобы ни одна из сумок не была бекпаком чара.   #
# После формирования стопок денег в бекпаке персонажа может    #
# остатся кучка содержащая менее 50к гп.                       #
# Замечание для себя: Если в стопку денег добавлять монеты или #
# брать, то у этой стопки меняется ID.                         #
#--------------------------------------------------------------#
sub Format50kGP()
   VAR maxCntMoney = 50000  #Максимальное кол-во денег в кучке, но не меньше 32768, иначе кучки могут складываться.
   VAR tMoney = '0x0EED'    #Тип денег.
   VAR idMoney              #ID формируемой стопки денег.
   VAR cntMoney             #Количество гп в стопке (кучке).
   VAR needMoney            #Сколько гп нужно добавить (отнять) в стопку.
   VAR idBagFROM            #ID сумки с деньгами. ([!] не бекпак чара)
   VAR idBagTO              #ID сумки для денег.  ([!] не бекпак чара)
   UO.Print("Укажи сумку c деньгами...")
   UO.AddObject('TRGT')
   while UO.Targeting()
      wait(100)
   wend
   idBagFROM = UO.GetSerial('TRGT')
   OpenContainer(idBagFROM)
   UO.Print("Укажи сумку для денег...")
   UO.AddObject('TRGT')
   while UO.Targeting()
      wait(100)
   wend
   idBagTO = UO.GetSerial('TRGT')
   OpenContainer(idBagTO)
   UO.IgnoreReset()
   UO.FindType(tMoney,'-1',idBagFROM)
   while UO.FindCount()
      #перемещаем формируемую стопку в бекпак:
      idMoney = UO.GetSerial('finditem')
      UO.MoveItem(idMoney, '0', 'backpack')
      wait(350)
      CheckLag()
      cntMoney = UO.GetQuantity(idMoney)
      needMoney = maxCntMoney - cntMoney
      if needMoney > 0 then   #добавляем деньги в стопку
         UO.FindType(tMoney, '-1', idBagFROM)
         while UO.FindCount() and (needMoney > 0)
            UO.MoveItem('finditem', needMoney, 'backpack')
            wait(350)
            CheckLag()
            UO.FindType(tMoney, '-1', 'backpack')
            idMoney = UO.GetSerial('finditem')
            cntMoney = UO.GetQuantity(idMoney)
            needMoney = maxCntMoney - cntMoney
            UO.FindType(tMoney, '-1', idBagFROM)
         wend
      endif
      if needMoney < 0 then   #берем только необходимое количество
         UO.MoveItem(idMoney, -needMoney, idBagFROM)
         wait(350)
         CheckLag()
      endif
      UO.FindType(tMoney, '-1', 'backpack')
      idMoney = UO.GetSerial('finditem')
      cntMoney = UO.GetQuantity(idMoney)
      if cntMoney == maxCntMoney then  #перемещаем 50к во вторую сумку
         UO.MoveItem(idMoney, '0', idBagTO)
         wait(350)
         CheckLag()
      endif
      UO.FindType(tMoney, '-1', idBagFROM)
   wend
   UO.IgnoreReset()
   UO.Print("Деньги разложены кучками по " + str(maxCntMoney) + " монет.")
   UO.Print("Скрипт выключен.")
endsub
#--------------------------------------------------------------#
################################################################

################################################################
# СТАНДАРТНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ                              #
#--------------------------------------------------------------#
SUB OpenContainer(cntnr)
   UO.DeleteJournal()
   UO.UseObject(cntnr)
   UO.Click(cntnr)
   repeat
      wait(500)
   until UO.InJournal('Contains') or UO.InJournal('items')
endsub

SUB CheckLag()
   UO.DeleteJournal()
   UO.Click('backpack')
   repeat
      wait(50)
   until UO.InJournal('backpack')
endsub

SUB DelJournal(mesg)
   while UO.InJournal(mesg)
      UO.SetJournalLine(UO.InJournal(mesg) - 1, "")
   wend
endsub
#--------------------------------------------------------------#
################################################################
qbc
Posts: 11
Joined: 2009-06-05 10:05:46

Post by qbc »

ааааааааааааааааааааа! спасибо огромное!то-что надо!!!
Post Reply