Yoko

All sides of Injection
It is currently 2024-03-29 00:55:29

All times are UTC+02:00




Post new topic  Reply to topic  [ 6 posts ] 
Author Message
PostPosted: 2011-08-06 10:48:13 
Offline

Joined: 2011-01-14 13:16:24
Posts: 3
Всем привет, перед тем как создовать тему я поискал на форуме но подобного ничего не нашёл,

Code:
sub looting() 
var corpse,i,j
uo.set('finddistance','2')
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


ЧТо такое DIM Loot[11] DIM Text[11] DIM Vars[11]

и как под себя настраивать ?


Top
   
PostPosted: 2011-08-06 12:34:13 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Ниже твой первый скрипт.
DIM объявления массива
DIM Loot[18] - массив из 18 элементов Loot[0]-Loot[17]. Ниже вводятся значения элементов массива.
А настраивать - смотря что тебе нужно. Впиши типы вещей (команда ,info в игре и прицелом на вещь записываешь TYPE) в массив - должен лутать.

Code:
sub Loot()
   VAR i,Exit
   DIM Loot[18]
   
   Loot[0]=0x0EED ; gp
   Loot[1]=0x0F7B ; BM
   Loot[2]=0x0F7A ; BP
   Loot[3]=0x0F84 ; GA
   Loot[4]=0x0F85 ; GI
   Loot[5]=0x0F86 ; MR
   Loot[6]=0x0F88 ; NS
   Loot[7]=0x14EF ; ZATOCH
   Loot[8]=0x100E ; KLUCH
   Loot[9]=0x13FA ;two handed axe
   Loot[10]=0x1413 ;arm
   Loot[11]=0x1415 ;arm
   Loot[12]=0x1411 ;arm
   Loot[13]=0x1410 ;arm
   Loot[14]=0x1414 ;arm
   Loot[15]=0x0E21 ;ban
   Loot[16]=0x0F78 ;batw
   Loot[17]=0x0F8B ;pumise
   repeat
      if uo.getSerial('lastcontainer')<> uo.getSerial('backpack') then
         UO.SetReceivingContainer('0x4000C313') ;ID backpacka
         For i=0 to 17
            Exit=0
            repeat
               UO.FindType(Loot[i],-1,'lastcontainer')           
               if UO.GetQuantity('finditem') then
                  UO.Grab('0','finditem')
                  wait(100)
               Else
                  Exit=1
               endif
            until Exit==1 OR uo.injournal("loot")
         Next
         UO.UnSetReceivingContainer()
      endif
   wait(100)
   until uo.dead()
end sub



В твоем втором скрипте несколько ошибок

Code:
DIM Loot[11] ;   запись не верна, должна стоять цифра 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 Loot[12]. DIM TEXT[12] и DIM VARS[12] скорее для понта.
Первый скрипт более грамотный был.
PPS все автоматические скрипты на инжекте значительно уступают ручной игре. Будешь получать пару доль секунд выигрыша и тонны гемороя в виде крашей и зависаний.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-08-06 13:17:52 
Offline

Joined: 2011-01-14 13:16:24
Posts: 3
Ну в начале я нашёл простой скрипт для автолута, я там разобрался насчёт ,info и ID, но я его не смог никак автоматизировать, что бы он автоматический лутал, приходилось кнопкой лутать, что мне не очень удобно.
Порылся в форуме нашёл второй скрипт, который очень хорошо работает испытывал 1 час на большом кол-ве монстров. Поэтому и задал вопрос насчёт "DIM Loot[11] DIM Text[11] DIM Vars[11]" , что бы под себя его подстроить, так как в первом скрипте был один столбик вещей а тут три, как я понял тут надо менять во всех трёх столбиках ?

И ещё 1 вопрос, как указывать приоритет что первым лутать и т.д ?

PS. может у кого есть список ID всех стандартных сетов (плей;чейн;ринг;кожа)

PSS. можно как-нибудь зделать так что бы те вещи которые не находит скрипт не нисалось в окне УО : items found: 0

PSSS. что ещё в скрипте лишнего, к примеру вес меня не интересует, ну и такие лишние вещи.


Top
   
PostPosted: 2011-08-06 17:03:06 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Code:
Loot[0] = 0x0EED; # Gold
Loot[1] = 0x0F26; # Diamond
Loot[2] = 0x0F21; # Star Sapphire
Loot[3] = 0x0F8C; # Sulfurous Ash
Loot[4] = 0x0F7B; # Blood Moss


Это и есть очередность. Что вначале то и в приоритете.
Либо менять во всех трех столбиках либо выкинуть строку
uo.print("Looted: "+STR(UO.GetQuantity('finditem'))+" "+Text[i]+"! In All: "+STR(vars[i]+UO.GetQuantity('finditem')))
и спокойно удалить массивы
DIM Text[11]
DIM Vars[11]


ВСЕ существующие типы можно посмотреть через программу InsideUO. Цвет вещи индивидуален серверу на котором ты играешь и тут уж только ,info в помощь (всв вариант - собрать все нужные цвета в 1 месте и переписать их скриптом :) )

Чтобы не флудили системные сообщения в начале скрипта вставь UO.Set('quiet','1'). И соответственно UO.Set('quiet','0') чтобы вернуть их на место.

Что там лишнее решать только тебе :)

PS я бы например не стал использовать комбинацию GoTo но это твой скрипт.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-08-08 09:55:50 
Offline

Joined: 2011-01-14 13:16:24
Posts: 3
Code:
sub looting() 
var corpse,i,j
uo.set('finddistance','2')
uo.set('distance','2')
UO.Set('quiet','1')
DIM Loot[11]
Loot[0] = 0x100E; # KLUCH
Loot[1] = 0x0EED; # ZOLOTO
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

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')
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


Top
   
PostPosted: 2011-08-08 10:41:50 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Code:
sub looting()
var corpse,i,j
uo.set('finddistance','2')
uo.set('distance','2')
UO.Set('quiet','1')

DIM Loot[12]  ; 0+11=12!
Loot[0] = '0x100E'; # KLUCH
Loot[1] = '0x0EED'; # ZOLOTO
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 color[3]
color[0] = '0x0000'
color[1] = '0x0001'
color[2] = '0x0003'

while true
   while uo.countonground('0x2006') > 0
      uo.findtype('0x2006','-1','ground')
      if uo.findcount() > 0 then
         corpse=uo.getserial('finditem')
         for i=0 to 11   ;  собирает все вещи заданного типа
            repeat
               UO.FindType(Loot[i],-1,corpse)
               if UO.GetQuantity('finditem') then
                  UO.MoveItem('finditem','0','backpack')
                  wait(600)
               end if
            until uo.findcount()==0
         next
         for j=0 to 2   ; собирает все вещи заданного цвета
            repeat
               UO.FindType(-1,color[j],corpse)
               if UO.GetQuantity('finditem') then
                  UO.MoveItem('finditem','0','backpack')
                  wait(600)
               end if
            until uo.findcount()==0
         next
         uo.ignore(corpse)
      Else
         uo.print("No Corpses Beside!!!")
      end if
      wait(300)
   wend
   wait(600)
wend
end sub

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


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

All times are UTC+02:00


Who is online

Users browsing this forum: Bing [Bot] and 15 guests


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:  
cron
Powered by phpBB® Forum Software © phpBB Limited