Yoko

All sides of Injection
It is currently 2025-10-18 01:10:13

All times are UTC+02:00




Post new topic  Reply to topic  [ 8 posts ] 
Author Message
PostPosted: 2009-05-17 15:34:20 
Offline

Joined: 2009-02-25 21:21:04
Posts: 11
Location: Саратов
Code:
sub looting()
var corpse,i,j
uo.set('finddistance','4')
#uo.set('distance','2')
DIM Loot[11]
Loot[0] = 0x0EED; # Gold
Loot[1] = 0x0F26; # Diamond
Loot[2] = 0x0F21; # Star Sapphire
Loot[3] = 0x0F8C; # Sulfurous Ash
Loot[4] = 0x0F7B; # Blood Moss
Loot[5] = 0x0F86; # Mandrake Root
Loot[6] = 0x0F84; # Garlic
Loot[7] = 0x0F88; # Nightshade
Loot[8] = 0x0F8D; # Spiders Silk
Loot[9] = 0x0F7A; # Black Pearl
Loot[10] = 0x0F85; # Ginseng
Loot[11] = 0x0F7E; # Bone

DIM Text[11]
Text[0] = 'Gold Coins'
Text[1] = 'Diamons'
Text[2] = 'Star Sapphires'
Text[3] = 'Sulfurous Ash'
Text[4] = 'Blood Moss'
Text[5] = 'Mandrake Root'
Text[6] = 'Garlic'
Text[7] = 'Nightshade'
Text[8] = 'Spiders Silk'
Text[9] = 'Black Pearl'
Text[10] = 'Ginseng'
Text[11] = 'Bone'

DIM Vars[11]
Vars[0] = uo.gold
Vars[1] = uo.count('0x0F26')
Vars[2] = uo.count('0x0F21')
Vars[3] = uo.count('0x0F8C')
Vars[4] = uo.count('0x0F7B')
Vars[5] = uo.count('0x0F86')
Vars[6] = uo.count('0x0F84')
Vars[7] = uo.count('0x0F88')
Vars[8] = uo.count('0x0F8D')
Vars[9] = uo.count('0x0F7A')
Vars[10] = uo.count('0x0F85')
Vars[11] = uo.count('0x0F7E')

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') если без нее работает гораздо лучше...

Ксожалению не знаю как сделать так чтоб все что он кидает в пак складывал бы в одну сумку...


Top
   
 Post subject:
PostPosted: 2009-05-18 11:47:18 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Попробуй так.
Code:
sub looting()
   var corpse,i
   uo.set('finddistance','4')

   DIM Loot[12]
   Loot[0] = 0x0EED; # Gold
   Loot[1] = 0x0F26; # Diamond
   Loot[2] = 0x0F21; # Star Sapphire
   Loot[3] = 0x0F8C; # Sulfurous Ash
   Loot[4] = 0x0F7B; # Blood Moss
   Loot[5] = 0x0F86; # Mandrake Root
   Loot[6] = 0x0F84; # Garlic
   Loot[7] = 0x0F88; # Nightshade
   Loot[8] = 0x0F8D; # Spiders Silk
   Loot[9] = 0x0F7A; # Black Pearl
   Loot[10] = 0x0F85; # Ginseng
   Loot[11] = 0x0F7E; # Bone
   
   DIM Text[12]
   Text[0] = 'Gold Coins'
   Text[1] = 'Diamons'
   Text[2] = 'Star Sapphires'
   Text[3] = 'Sulfurous Ash'
   Text[4] = 'Blood Moss'
   Text[5] = 'Mandrake Root'
   Text[6] = 'Garlic'
   Text[7] = 'Nightshade'
   Text[8] = 'Spiders Silk'
   Text[9] = 'Black Pearl'
   Text[10] = 'Ginseng'
   Text[11] = 'Bone'
   
   DIM Vars[12]
   Vars[0] = uo.gold
   Vars[1] = uo.count('0x0F26')
   Vars[2] = uo.count('0x0F21')
   Vars[3] = uo.count('0x0F8C')
   Vars[4] = uo.count('0x0F7B')
   Vars[5] = uo.count('0x0F86')
   Vars[6] = uo.count('0x0F84')
   Vars[7] = uo.count('0x0F88')
   Vars[8] = uo.count('0x0F8D')
   Vars[9] = uo.count('0x0F7A')
   Vars[10] = uo.count('0x0F85')
   Vars[11] = uo.count('0x0F7E')
   
   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


Top
   
 Post subject:
PostPosted: 2009-05-20 06:59:00 
Offline

Joined: 2009-02-25 21:21:04
Posts: 11
Location: Саратов
и все равно тормозит.... даже если мало убиваешь и не так часто.... (раз в 30 секунд.) пробовал задержки меньше ставить на проверку трупа клиент со временем виснет...


Top
   
 Post subject:
PostPosted: 2009-05-20 11:23:36 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
felkon wrote:
и все равно тормозит.... даже если мало убиваешь и не так часто.... (раз в 30 секунд.) пробовал задержки меньше ставить на проверку трупа клиент со временем виснет...

Я вроде все обьяснил, это природа инжи. Если хочешь чтоб работало, нужно убрать wile wend цикл и запускать скрипт после каждого убитого монстра, ну накройняк после пяти штук. Иначе краши и тормоза не избежны.


Top
   
 Post subject:
PostPosted: 2009-06-01 16:01:49 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Вообще на некоторых шардах трупы можно лутать только нарасстроялии 3 тайла. А у тебя
uo.set('finddistance','4')
:roll:

А крашит изза перегрузки в игнорах.
Кстати у меня скрипт на лут мобов с игнорами работает больше 500 за раз и не часто падает. Краши бывают когда ктото рядом тоже убивает и скрипт пытается слутать чужих трупов. Так что раз на раз не приходится.

В приведенном скрипте мне кажется стоит протестировать бОльшую паузу на лут предмета, сделать фильтр на "фастлутдетект", проверить можно ли лутать на расстоянии в 4 тайла и убрать этот череззабороногу... выключатель по end :) Проще сделать в условии цикла проверку на перегруз, а не goto как оно используется тут.


Top
   
 Post subject:
PostPosted: 2009-06-01 21:34:34 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Там в другом проблема, у автора скрипт запущен постоянно, он киляет мобов каждые 5 секунд, скрипт пытается лутать каждый труп и начинает, естественно, тупить.


Top
   
 Post subject:
PostPosted: 2009-06-02 08:45:10 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Kynep wrote:
Там в другом проблема, у автора скрипт запущен постоянно, он киляет мобов каждые 5 секунд, скрипт пытается лутать каждый труп и начинает, естественно, тупить.

Ну проблема не в том что он запущен постоянно :)) Крафты тоже запускаются на сутки. Там игнорит трупы после лута и не трогает их больше.


Top
   
 Post subject:
PostPosted: 2009-06-02 12:32:58 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Mirage wrote:
Ну проблема не в том что он запущен постоянно :)) Крафты тоже запускаются на сутки. Там игнорит трупы после лута и не трогает их больше.

И что? Мы с ним общались и тестили по разному, проблема именно в большом кол-ве трупов. Все что ты сказал мы проделывали и не только. Я посоветовал не спешить, ну раз молчит значит работает. Он не крашит а тупит, половину лутает, половину нет, бывает ваще не лутает, борода кароч.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 8 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited