Иногда буду выкладывать здесь свои (иногда только доработанные мной) скрипты под шард ДРВ.
Отписывайтесь об ошибках, пишите пожелания и т.д.
Мои скрипты под ДРВ
Moderators: Murderator+, Murderator
Мои скрипты под ДРВ
Last edited by Zeppelin on 2010-01-24 17:23:25, edited 1 time in total.
Re: Мои скрипты под ДРВ
1. Раскладка денег
Раскладка денег по кучкам + переброс в мешок + аккуратная раскладка
Раскладка денег по кучкам + переброс в мешок + аккуратная раскладка
Code: Select all
#######################
##Раскладка денег 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
Re: Мои скрипты под ДРВ
У меня скрипт перекинув разложил кучки как были - 63К 58К 60К...
Щаз поищем в чем проблема.
Щаз поищем в чем проблема.
Re: Мои скрипты под ДРВ
Mirage wrote:У меня скрипт перекинув разложил кучки как были - 63К 58К 60К...
Щаз поищем в чем проблема.
Константу менял в начале скрипта про максимальный стэк?
Code: Select all
var maxstack = 50000 ;максимально гп в стопке (для ДРВ - 50000)
Тут дело в том, что 50000 - это именно максимально возможный на шарде стэк, а не тот, который хочется в стопках.. =)
Под другие шарды, надо переписать немного, чтобы раскладывалось по нужному количеству, просто на дрв всех 50к устраивает, и например, 40к не будут стопки делать =)
В случае иных шардов проблема в таких строках:
Code: Select all
if (uo.getquantity('finditem')<maxstack) then
при этом, если у тебя в кучке больше чем maxstack (который 50к например) монет, он просто так все и оставит =)
Могу доработать конечно, чтобы делал кучки нужного стэка, но именно под ДРВ это не нужно =)
Re: Мои скрипты под ДРВ
Интересно. Подумал что скрипт кидает кучки по требованию 
У нас максимум в куче гп 65535

У нас максимум в куче гп 65535
