Page 2 of 2
Posted: 2006-04-29 10:44:25
by Edred
Cooper wrote:Че вы замарачиваетесь, добавьте в массив мешки и все.. и будет он лутать вместе с мешками... потом разложите как надо...
Зачем заморачиваться с лишними мешками, потом из них вынимать мусор, сами мешки еще трешить... Проще прямо в скрипте на лут поставить в массив тип мешка и ввести условный оператор, если этот тип попался - то открыть мешок и рекурсивный вызов этого же скрипта на него. Рекурсия в инжекте стабильна до 100 вызовов. Я еще ни разу не встречал мешков в мешках на 100 вложений.
Posted: 2006-04-29 11:20:00
by Kynep
Edred wrote:Cooper wrote:Че вы замарачиваетесь, добавьте в массив мешки и все.. и будет он лутать вместе с мешками... потом разложите как надо...
Зачем заморачиваться с лишними мешками, потом из них вынимать мусор, сами мешки еще трешить... Проще прямо в скрипте на лут поставить в массив тип мешка и ввести условный оператор, если этот тип попался - то открыть мешок и рекурсивный вызов этого же скрипта на него. Рекурсия в инжекте стабильна до 100 вызовов. Я еще ни разу не встречал мешков в мешках на 100 вложений.
Вот типа того, чистим сначала мешки, затем лутаем клад:
Code: Select all
sub chop()
VAR i,Exit
VAR pak= ' ' #Тип мешка
DIM Loot[15]
Loot[0]=0x0EED
Loot[1]=0x0F82
Loot[2]=0x0F8F
Loot[3]=0x0F78
Loot[4]=0x0F7C
Loot[5]=0x0F91
Loot[6]=0x0F8E
Loot[7]=0x0F81
Loot[8]=0x0F79
Loot[9]=0x0F7D
Loot[10]=0x0F7E
Loot[11]=0x0F0E
Loot[12]=0x0F80
Loot[13]=0x0F87
Loot[14]=0x0F90
UO.SetReceivingContainer('0x4015A7E0') ; ID мешка для сбора лута
; ------- вставляем предварительную очистку всех паков в бэкпаке
; v.1.10
; (C) Edred
UO.FindType(pak, '-1' ,'lastcontainer')
While UO.FindCount() > 0
pakser = UO.GetSerial('finditem')
UO.UseObject(pakser)
wait(1000)
CheckLag()
UO.FindType('-1','-1',pakser)
While UO.FindCount() > 0
UO.Grab('0','finditem')
wait(500)
CheckLag()
UO.FindType('-1','-1',pakser)
Wend
UO.Ignore(pakser)
UO.FindType(pak,'-1','lastcontainer')
Wend
; ------- конец вставки очистки паков
For i=0 to 14
Exit=0
repeat
UO.FindType(Loot[i],-1,'lastcontainer')
if UO.GetQuantity('finditem') then
UO.Grab('0','finditem')
wait(650)
Else
Exit=1
endif
until Exit==1 OR uo.injournal("loot")
Next
UO.UnSetReceivingContainer()
end sub