1. Раскладка денегРаскладка денег по кучкам + переброс в мешок + аккуратная раскладка
Code:
#######################
##Раскладка денег 1.0##
#######################
############
##Zeppelin##
## DRW ##
############
sub StackMaker()
var mode = 1 ;1 - с аккуратным раскладыванием, иначе - без
var maxstack = 50000 ;максимально гп в стопке (для ДРВ - 50000)
var delay = 700 ;задержка между переброской кучек в миллисекундах
var x = 35 ;начальный x в сумке
var y = 50 ;начальный y в сумке
var xstep = 15 ;шаг x
var ystep = 18 ;шаг y
var inrow = 8 ;количество стопок по горизонтали
var incolumn = 6 ;количество стопок по вертикали
var bagto = '' ;контейнер, куда будут складываться деньги
var bagfrom = 'backpack' ;контейнер, откуда будут переброшены деньги, и куда бросится остаток
;ID или указатели вроде 'backpack' или 'lastcontainer', если же равны пустой строке,
;предоставится выбор вручную.
var a = 0
var b = 0
var xx = x
var yy = y
while ((bagto=='') or (uo.getserial(bagto)==uo.getserial(bagfrom)))
bagto = addobject('BagTo')
wend
while ((bagfrom=='') or (uo.getserial(bagto)==uo.getserial(bagfrom)))
bagfrom = addobject('BagFrom')
wend
endif
uo.findtype('0x0EED',-1,bagfrom)
while uo.findcount()
uo.moveitem('finditem',0,bagto)
mywait(delay)
uo.findtype('0x0EED',-1,bagfrom)
wend
uo.findtype('0x0EED',-1,bagto)
while uo.findcount()
if (uo.getquantity('finditem')<maxstack) then
if (b==0) then
b=uo.getquantity('finditem')
uo.moveitem('finditem',0,bagfrom)
mywait(delay)
else
a = uo.getquantity('finditem')
uo.moveitem('finditem',str(maxstack-b),bagfrom)
wait(delay)
b = b + a
if (b>=maxstack) then
b = 0
endif
endif
else
uo.moveitem('finditem',0,bagfrom)
mywait(delay)
endif
uo.findtype('0x0EED',-1,bagto)
wend
a = 0
uo.findtype('0x0EED',-1,bagfrom)
while uo.findcount()
if (uo.getquantity('finditem') < maxstack) then
a = uo.getserial('finditem')
uo.moveitem('finditem',0,bagto)
else
if (mode==1) then
if (xx==x+xstep*inrow) then
xx = x
yy = yy + ystep
if (yy==y+ystep*incolumn) then
yy = y
endif
endif
uo.moveitem('finditem',0,bagto,xx,yy,0)
xx = xx + xstep
else
uo.moveitem('finditem',0,bagto)
endif
endif
mywait(delay)
uo.findtype('0x0EED',-1,bagfrom)
wend
if (a>0) then
uo.moveitem(a,0,bagfrom)
endif
uo.print('Переброска окончена! :)')
endsub
Sub addobject(object)
var execution = 'addobject ' + object
uo.exec(execution)
while uo.targeting()
wait(100)
wend
return object
endsub
Sub mywait(delay)
wait(delay)
wait_world_save()
uo.deletejournal()
endsub
Sub wait_world_save()
If UO.InJournal('World is saving') Then
Repeat
wait(100)
Until UO.InJournal('seconds')
Endif
end Sub