Помогите с раскладкой денежных кучек
Posted: 2010-01-22 21:31:22
Взял пару скриптов у Dark Enemy, совместил, немного добавил и, по идее, получилось нечто, что должно раскладывать деньги по кучкам в 50к, неполную кучку кидать в бэкпак, а потом еще и аккуратно раскладывать кучки в сумке (которые по 50к).. Но проблема в том, что первый раз все работает нормально, а при повторных попытках может работать, а может и не работать, а может вобще ошибку выдать и вырубить клиент.. или еще всякое... Иногда перестает видеть кучки findtype-ом (иногда все, иногда не все, как будто ignorereset не работал), иногда видит...
При повторных попытках разделял кучки в сумке на части, и тудаже еще и из бэкпака кидал.. вот тогда веселье начиналось.. Но если сделать это при первом запуске - все нормально... Помогите разобраться, пожалуйста.
Иногда "Warning: error in command" или "Unhandled exception in parser" выводит.
А иногда работает нормально.. Но факт в том - что первый раз всегда нормально работает, и "Done" печатает, так что в чем проблема не пойму
При повторных попытках разделял кучки в сумке на части, и тудаже еще и из бэкпака кидал.. вот тогда веселье начиналось.. Но если сделать это при первом запуске - все нормально... Помогите разобраться, пожалуйста.
Иногда "Warning: error in command" или "Unhandled exception in parser" выводит.
А иногда работает нормально.. Но факт в том - что первый раз всегда нормально работает, и "Done" печатает, так что в чем проблема не пойму

Code: Select all
sub Make_GP()
uo.exec('addobject sumka')
while uo.targeting()
wait(100)
wend
var b
var mode = 1 ;1 - раскладывать аккуратно в мешке; 0 - без раскладывания
var x = 35 ;начальный x
var y = 50 ;начальный y
var xstep = 15 ;шаг x
var ystep = 18 ;шаг y
var inrow = 8 ;количество стопок по горизонтали
var incolumn = 6 ;количество стопок по вертикали
var xx = x
var yy = y
uo.ignorereset()
uo.findtype('0x0EED',-1,'sumka')
while uo.findcount()
while uo.getquantity('finditem')==50000
uo.ignore('finditem')
uo.findtype('0x0EED',-1,'sumka')
wend
if uo.findcount()>=2 then
b=uo.getserial('finditem')
uo.ignore(b)
uo.findtype('0x0EED',-1,'sumka')
while uo.getquantity('finditem')==50000
uo.ignore('finditem')
uo.findtype('0x0EED',-1,'sumka')
wend
if uo.findcount() then
uo.moveitem('finditem',str(50000-uo.getquantity(b)),b)
wait(700)
else
uo.moveitem(b)
wait(700)
endif
endif
uo.findtype('0x0EED',-1,'sumka')
wend
uo.ignorereset()
if mode then
uo.findtype('0x0EED',-1,'sumka')
while uo.findcount()
if (xx==x+xstep*inrow) then
xx = x
yy = yy + ystep
if (yy==y+ystep*(incolumn+1)) then
yy = y
endif
endif
uo.moveitem('finditem',0,'sumka',xx,yy,0)
wait(700)
uo.ignore('finditem')
uo.findtype('0x0EED',-1,'sumka')
xx = xx + xstep
wend
uo.ignorereset()
endif
uo.print('Done')
endsub