Yoko

All sides of Injection
It is currently 2025-10-15 17:57:53

All times are UTC+02:00




Post new topic  Reply to topic  [ 14 posts ] 
Author Message
PostPosted: 2010-04-16 11:31:25 
Offline

Joined: 2010-04-15 13:04:50
Posts: 26
Нашел тут скрипт под тинкера, который делает ключи. Вооружившись предыдущим опытом, решил написать перемещение ключей из бекпака в мешок. Но... увы и ах, "No items found!" Хотя данные мешка и ключей проверял 100500 раз. Помогите, кому не лень.

Code:
sub main()
var Meshok = '0x40F85A6A'
var Key = '0x1010' 
var timeout=0
  UO.deletejournal()
  while UO.SkillVal("Tinkering",1) < 100000
  UO.Exec("waitmenu 'Tinkering' 'Keys' 'Iron key'")
  UO.usetype("0x1EBC")
  repeat
    timeout=timeout+500
    wait(500)
  until UO.injournal("You put") OR (timeout>10000)
  timeout=0
  if UO.injournal("You put") then
    UO.waittargettype("0x1053")
        wait(1500)
  endif
  UO.deletejournal()
  wend
uo.FindType(Key,'-1','backpack')
     if uo.FindCount() then
       uo.moveitem('finditem','all',Meshok)
       wait(500)
     end if
until UO.Dead()
end sub


Top
   
PostPosted: 2010-04-16 13:05:53 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Если он делает ключ и выдаёт эту ошибку, то ошибка здесь:
var Key = '0x1010'
Если он НЕ делает ключ и выдаёт эту ошибку, то проблема здесь:
UO.usetype("0x1EBC")


Top
   
PostPosted: 2010-04-16 13:06:57 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 165
Location: Одесса-Мама
Из старых запасов скрипт. Не знаю, кто его автор.
Скрипт простой, но хороший.
Code:
sub tink() 
   VAR Sunduk = '0x4004411D'       ; Сериал сундука, из которого брать инготы и сбрасывать готовые ключи.
   VAR Ingi = '0x1BF2'          ; Тип ингов
   VAR Instrum = '0x1EBC'          ; Тип инструмента тинкера
   VAR Key = '0x100E'          ; Тип ключа
   VAR Kolvo = 100          ; Брать ингов
   VAR k = 0
   While TRUE
      UO.FindType( Ingi, -1, Sunduk )   ; Ищем инги в сундуке
      If UO.FindCount() == 0 Then
         UO.Print("Iron Ingots not found, script terminated")
         return
      Endif
      UO.Grab( Str( Kolvo ), 'finditem' )
      wait( 2000 )
      While UO.Count( Ingi ) > 0
         ; Пока в паке есть инги
         UO.Print('Ostalos ' + Str( UO.Count( Ingi ) ) + ' ingots' )
         UO.DeleteJournal()
         UO.CancelMenu()
         UO.WaitMenu ('Tinkering' 'Keys' 'Iron key')  # Подставил твое меню. Периодически проверяй, не изминился ли порядок выбора, в меню.
         UO.UseType( Instrum )
         k = 0
         while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 30 )
            k = k + 1
            wait(500)
         wend
         if UO.Count( Key ) > 0 then
            UO.FindType( Key, -1, -1 )
            UO.MoveItem( 'finditem', 0, Sunduk )
            wait( 1000 )
            UO.Print( 'Key moved' )
         end if
      Wend
   Wend
end sub

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Last edited by Андрюха из Одессы on 2010-04-16 13:11:32, edited 1 time in total.

Top
   
PostPosted: 2010-04-16 13:09:06 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 165
Location: Одесса-Мама
Ой....промахнулся слегка.
Если я начинаю цитировать сам себя - это мания величия? :lol:

З.Ы. Я не могу понять, за что у тебя отвечает данное условие:
Code:
if UO.injournal("You put") then
    UO.waittargettype("0x1053")
        wait(1500)
  endif

0x1053 - это что за предмет такой?

З.Ы.Ы. Beyonder, А что означает единица после скила:
UO.SkillVal("Tinkering",1) :?:
Я догадываюсь, но проверить негде.

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Top
   
PostPosted: 2010-04-16 15:41:56 
Offline

Joined: 2010-04-15 13:04:50
Posts: 26
Скрипт не мой =)
Изначально скрипт был делать бутылки. Я пытался дописать, чтобы делались ключи, а не бутыли, и чтобы клались они в мешок.


Top
   
PostPosted: 2010-04-16 16:07:36 
Offline

Joined: 2010-04-15 13:04:50
Posts: 26
Допишите, пожалуйста, этот скрипт так, чтобы он складывал в мешок.

Code:
sub main()
  var timeout=0
  UO.deletejournal()
  while UO.SkillVal("Tinkering",1) < 100000
  UO.Exec("waitmenu 'Tinkering' 'Keys' 'Keys' 'Iron key'")
  UO.usetype("0x1EBC")
  repeat
    timeout=timeout+500
    wait(500)
  until UO.injournal("You put") OR (timeout>10000)
  timeout=0
  if UO.injournal("You put") then
    UO.waittargettype("0x1010")
    UO.usefromground("0x1996")
    wait(1500)
  endif
  UO.deletejournal()
  wend
end sub


Top
   
PostPosted: 2010-04-16 17:24:03 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Андрюха из Одессы wrote:
З.Ы.Ы. Beyonder, А что означает единица после скила:
UO.SkillVal("Tinkering",1) :?:
Я догадываюсь, но проверить негде.


Вот тут можно проверить:
http://yoko.com.ua/help/help.php?lang=r ... m=SkillVal


Top
   
PostPosted: 2010-04-16 18:10:28 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 165
Location: Одесса-Мама
Спасибо. Догадка подтвердилась.

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Top
   
PostPosted: 2010-04-16 19:13:46 
Offline

Joined: 2010-04-15 13:04:50
Posts: 26
Блин, можете просто дописать тот скриптик и все? :oops:


Top
   
PostPosted: 2010-04-17 17:30:52 
Offline

Joined: 2010-04-15 13:04:50
Posts: 26
Ну помогите, пожалуйста...


Top
   
PostPosted: 2010-04-17 18:35:43 
Offline
User avatar

Joined: 2009-03-06 21:52:25
Posts: 89
Code:
if uo.count(Key) > 0 then
uo.findtype( Key, -1, -1 )
uo.moveItem( 'finditem', 0, Bag )
wait(100)
uo.print('Key in the bag')
end if


Зачем через exec ? :shock:
Code:
UO.Exec("waitmenu 'Tinkering' 'Keys' 'Keys' 'Iron key'")


:!:
Code:
UO.WaitMenu('Tinkering', 'Keys', 'Keys', 'Iron key')


Top
   
PostPosted: 2010-04-17 18:46:34 
Offline

Joined: 2010-04-15 13:04:50
Posts: 26
Зачем через exec ? :shock:
Code:
UO.Exec("waitmenu 'Tinkering' 'Keys' 'Keys' 'Iron key'")


Да откдуа я знаю, не мой скрипт =)


Top
   
PostPosted: 2010-04-17 18:55:33 
Offline
User avatar

Joined: 2009-03-06 21:52:25
Posts: 89
Вот и помогай таким. :|


Top
   
PostPosted: 2010-04-18 06:06:58 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
смарите что я наваял. Если шарды похожие - пользуйтесь на здоровье.
2-3 сундука. 1 еда инги инструменты можно прописать пустые мешки. в другом полные мешки будут. Перед запуском надо открыть сундуки. Проверить сообщения на сервере (хотя я писал для 3 серваков месаги вроде). :mrgreen:
Code:
VAR Container   = '0x40B5267F'   ;айрон, рыба, инструменты, может быть равен Sunduk 1
VAR Sunduk1   = '0x40B5267F'      ;пустые мешки
VAR Sunduk2   = '0x40B52599'      ;полные
VAR Instrum   = '0x1EBC'      ;набор жестянщика
VAR Ing      = '0x1BEF'      
VAR key      = '0x1010'      
VAR Meshok    = '0x0E76'      ;тип мешка
var havka   = '0x097B'
VAR MeshSer, d, LastTimer, timemove, itemM
var quantity = 150; количество предметов в 1 мешке
var msg ='You put|положили|fail|не удалось|You broke|сломали'
var printcolour = '1069'
VAR HIDE = 1; если 1 прячемся, если 0 нет.
###################
sub TinkKey()
   var menu = "waitmenu 'Tinkering' 'Keys' 'Keys' 'Iron key'"
   var item = key
   UO.CancelMenu()
   WHILE NOT UO.Dead()
      UO.FindType( Meshok, '-1', Sunduk1 )
      MeshSer = UO.GetSerial( 'finditem' )
      UO.MoveItem( MeshSer, 0, Sunduk2 )
      checklag()
      uo.useobject( MeshSer )
      eat()
      REPEAT
         GET(ing, Container, 20, 100)
         GET(Instrum, Container, 2, 2)
         Repeat
            Hide()
            UO.DeleteJournal()
            LastTimer=UO.Timer()
            UO.exec( menu )
            UO.Usetype( Instrum )
            repeat
               wait( 300 )
            until UO.InJournal( msg ) or UO.Timer()>LastTimer+150
         Until UO.Count( item ) > 0
         checklag()
         PUT( item, MeshSer )
         UO.FindType( item, -1, MeshSer )
         uo.charprint(printcolour,'Ключей в мешке: '+Str( UO.FindCount()))
      UNTIL UO.FindCount()>=quantity
      uo.charprint(printcolour,'Берем другую сумку')
      wait( 300 )
   wend
end sub

Sub eat()
   GET(havka, Container, 1, 20)
   REPEAT
      UO.DeleteJournal()
      LastTimer=UO.Timer()
      UO.findtype(havka,-1,'backpack')
      If UO.FindCount() > 0 Then
         UO.Useobject('finditem')
         wait(200)
      Else
         uo.charprint(printcolour, 'кончилась рыба' )
         return 0
      end if
   Until UO.InJournal("simply too full to eat|stuffed!|think|found|Вы ничего не можете") OR UO.Timer()>LastTimer+200
   PUT(havka, Container)
end sub
Sub GET(item, cont, min, max) ; предмет, откуда, минимум, сколько брать
   If UO.Count( item ) < min Then
      UO.FindType( item, '-1', cont )
      if UO.FindCount() > 0 Then
         uo.charprint(printcolour,'Сырья в сундуке: '+Str(UO.GetQuantity('finditem')) ) 
         itemM=UO.GetSerial('finditem')
         timemove=UO.Timer()
         while UO.ContainerOf(itemM)==cont && timemove+20>UO.Timer()
            uo.moveitem('finditem', max, 'backpack')
            wait(300)
         wend
      else
         uo.charprint(printcolour, 'Полностью кончилось сырье' )
         UO.CancelMenu()
         MyTerminate()
      endif
   Endif
end sub
Sub PUT(item, cont)
   while UO.Count( item ) > 0
      UO.FindType( item, -1, -1 )
      itemM=UO.GetSerial('finditem')
      timemove=UO.Timer()
      UO.MoveItem( 'finditem', 0, cont )
      while UO.ContainerOf(itemM)=='my' && timemove+20>UO.Timer()
         wait(300)
      wend
   wend
end sub
Sub Hide()
   VAR LastTimer, n=0, HidFlag=1
   if UO.Hidden() then
      HidFlag=0
   else
   end if
   while HidFlag
      DeleteJournal("can't seem to hide|to perform|stop trying|прекратили|не удалось|удачно|You have hidden yourself well")
      LastTimer=UO.Timer()
      UO.WarMode(0)
      UO.UseSkill('Hiding')
      repeat
         wait(50)
      until UO.InJournal("can't seem to hide|to perform|stop trying|прекратили|не удалось|удачно|You have hidden yourself well") || LastTimer+50<UO.Timer()
      if UO.InJournal("0xA5F8|удачно|You have hidden yourself well") then
         HidFlag=0
      else
         n=n+1
         if n>3 then
            UO.Set('quiet','0')
            uo.charprint(printcolour,'Спрятаться не получается, происходит что-то тревожное и непонятное, готовься к смерти, неудачнег!')
            UO.Set('quiet','1')
            MyTerminate()
         end if
      end if
   wend
end sub
Sub DeleteJournal(msg)
   While UO.InJournal(msg)
      UO.SetJournalLine(UO.InJournal(msg) - 1,'')
   wend
endsub
Sub MyTerminate()
   UO.Set('quiet','1')
   UO.CancelMenu()
   UO.IgnoreReset()
   UO.Set('quiet','0')
   UO.Exec('terminate all')
end sub
Sub checklag()
   DeleteJournal("ackpack")
   UO.Click("backpack")
   repeat
      wait(100)
   until UO.InJournal("ackpack")
end sub

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


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 10 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:  
Powered by phpBB® Forum Software © phpBB Limited