Cooper wrote:Че вы замарачиваетесь, добавьте в массив мешки и все.. и будет он лутать вместе с мешками... потом разложите как надо...
Зачем заморачиваться с лишними мешками, потом из них вынимать мусор, сами мешки еще трешить... Проще прямо в скрипте на лут поставить в массив тип мешка и ввести условный оператор, если этот тип попался - то открыть мешок и рекурсивный вызов этого же скрипта на него. Рекурсия в инжекте стабильна до 100 вызовов. Я еще ни разу не встречал мешков в мешках на 100 вложений.
Cooper wrote:Че вы замарачиваетесь, добавьте в массив мешки и все.. и будет он лутать вместе с мешками... потом разложите как надо...
Зачем заморачиваться с лишними мешками, потом из них вынимать мусор, сами мешки еще трешить... Проще прямо в скрипте на лут поставить в массив тип мешка и ввести условный оператор, если этот тип попался - то открыть мешок и рекурсивный вызов этого же скрипта на него. Рекурсия в инжекте стабильна до 100 вызовов. Я еще ни разу не встречал мешков в мешках на 100 вложений.
Вот типа того, чистим сначала мешки, затем лутаем клад:
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