while true while uo.countonground('0x2006') > 0 if UO.Weight > 40000 then uo.print("Too much weight! There're "+STR(UO.Gold)+" gold coins in backpack!") uo.waittargettype('0x0EED') wait(1000) uo.useobject('0x40157FBF') wait(1000) goto end end if uo.findtype('0x2006','-1','ground') if uo.findcount() > 0 then corpse=uo.getserial('finditem') uo.print("Found "+str(uo.findcount())+" corpse(s)!") for i=0 to 11 j=0 repeat UO.FindType(Loot[i],-1,corpse) if UO.GetQuantity('finditem') then UO.MoveItem('finditem','0','backpack') uo.print("Looted: "+STR(UO.GetQuantity('finditem'))+" "+Text[i]+"! In All: "+STR(vars[i]+UO.GetQuantity('finditem'))) wait(600) end if j = j + 1 if j > 15 then goto stuck end if until uo.findcount()==0 next stuck: uo.ignore(corpse) Else uo.print("No Corpses Beside!!!") end if end: wend wait(600) wend end sub
проблема собственно такова что он не каждый раз лутает... примерно 10 раз лутае и 1 из них пропускает.... почему?
еще совсем не понял нафига нужна строчка в самом начале uo.set('distance','2') если без нее работает гораздо лучше...
Ксожалению не знаю как сделать так чтоб все что он кидает в пак складывал бы в одну сумку...
while true if UO.Weight > 40000 then uo.print("Too much weight! There're "+STR(UO.Gold)+" gold coins in backpack!") uo.waittargettype('0x0EED') wait(1000) uo.useobject('0x40157FBF') wait(1000) goto end end if uo.findtype('0x2006','-1','ground') if uo.findcount() > 0 then corpse=uo.getserial('finditem') uo.print("Found "+str(uo.findcount())+" corpse(s)!") uo.useobject(corpse) wait(500) for i=0 to 11 repeat UO.FindType(Loot[i],-1,corpse) if UO.GetQuantity('finditem') then UO.MoveItem('finditem','0','backpack') uo.print("Looted: "+STR(UO.GetQuantity('finditem'))+" "+Text[i]+"! In All: "+STR(vars[i]+UO.GetQuantity('finditem'))) wait(800) end if until uo.findcount()==0 next uo.ignore(corpse) Else uo.print("No Corpses Beside!!!") end if end: wait(600) wend end sub
и все равно тормозит.... даже если мало убиваешь и не так часто.... (раз в 30 секунд.) пробовал задержки меньше ставить на проверку трупа клиент со временем виснет...
felkon wrote:и все равно тормозит.... даже если мало убиваешь и не так часто.... (раз в 30 секунд.) пробовал задержки меньше ставить на проверку трупа клиент со временем виснет...
Я вроде все обьяснил, это природа инжи. Если хочешь чтоб работало, нужно убрать wile wend цикл и запускать скрипт после каждого убитого монстра, ну накройняк после пяти штук. Иначе краши и тормоза не избежны.
Вообще на некоторых шардах трупы можно лутать только нарасстроялии 3 тайла. А у тебя
uo.set('finddistance','4')
А крашит изза перегрузки в игнорах.
Кстати у меня скрипт на лут мобов с игнорами работает больше 500 за раз и не часто падает. Краши бывают когда ктото рядом тоже убивает и скрипт пытается слутать чужих трупов. Так что раз на раз не приходится.
В приведенном скрипте мне кажется стоит протестировать бОльшую паузу на лут предмета, сделать фильтр на "фастлутдетект", проверить можно ли лутать на расстоянии в 4 тайла и убрать этот череззабороногу... выключатель по end Проще сделать в условии цикла проверку на перегруз, а не goto как оно используется тут.
Там в другом проблема, у автора скрипт запущен постоянно, он киляет мобов каждые 5 секунд, скрипт пытается лутать каждый труп и начинает, естественно, тупить.
Kynep wrote:Там в другом проблема, у автора скрипт запущен постоянно, он киляет мобов каждые 5 секунд, скрипт пытается лутать каждый труп и начинает, естественно, тупить.
Ну проблема не в том что он запущен постоянно ) Крафты тоже запускаются на сутки. Там игнорит трупы после лута и не трогает их больше.
Mirage wrote:Ну проблема не в том что он запущен постоянно ) Крафты тоже запускаются на сутки. Там игнорит трупы после лута и не трогает их больше.
И что? Мы с ним общались и тестили по разному, проблема именно в большом кол-ве трупов. Все что ты сказал мы проделывали и не только. Я посоветовал не спешить, ну раз молчит значит работает. Он не крашит а тупит, половину лутает, половину нет, бывает ваще не лутает, борода кароч.