скрипт на раскладываение денег
Moderators: Murderator+, Murderator
скрипт на раскладываение денег
нет ли случайноу кого скрипта чтобы он в указанном паке складывал все кучки по 60к из разных...т.е. лежит в паке 100 кучек по 20-30-40-50к, чтобы он их собирал в кучки по 60?
Есть немного другой скрипт который раскладывает деньги по кучкам. Для полной ясности принципа работы скрипта читай комментарии к скрипту.
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
#--------------------------------------------------------------#
################################################################