Yoko

All sides of Injection
It is currently 2025-12-10 11:45:07

All times are UTC+02:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2011-07-03 11:11:01 
Offline
User avatar

Joined: 2006-03-23 19:25:23
Posts: 101
В общем у меня сундук с вещами (например, мешки пустые и не очень).
Мне нужно из этих мешков найти пустые.
Я ищу первый мешок, если он оказывается непустым, мне надо его исключить из поиска и искать заного.
Я что-то всё не могу сообразить, как это сделать, пытался добавлять найденный непустой мешок в игнор, но не работает.
Вроде бы несложное действие, прошу помощи, заранее благодарен. :)

_________________
:O


Top
   
PostPosted: 2011-07-03 13:30:14 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Вот пример с игнором
Code:
sub Search()
  var t_Bag = '0x1234', id_Container = '0x12345678', id_Bag
  While true
    UO.FindType(t_Bag, -1, id_Container)
    If UO.FindCount() then
      id_Bag = UO.GetSerial('finditem')
      UO.FindType(-1, -1, id_Bag)
      If UO.FindCount() then
        UO.Ignore(id_Bag)
       else
        Return id_Bag
      Endif
     else
      UO.IgnoreReset()
      Return 0
    Endif
  Wend
Endsub


Top
   
PostPosted: 2011-07-04 19:14:45 
Offline

Joined: 2004-10-19 16:25:45
Posts: 95
хм, разве можно искать что то в сумке если до этого её не открыл?...на моём сервере нельзя..
а при открытии в журнале появляются сообщения
Contains: 8 items
Contains: 0 items
собственно их и можно отслеживать, не используя финтип, только весь экран в открытых сумках будет...
но, как я понимаю...при использовании финдтип всёравно открывать нужно...
сложно что то посоветовать, не зная как всё это работает на конкретном шарде..
логика такая...
Code:
uo.ignorereset()
UO.FindType(t_Bag, -1, id_Container)
While uo.findcount() > 0

   if ......
   ........
   else
   uo.ignore('finditem')
   end if

   UO.FindType(t_Bag, -1, id_Container)
wend

по какому условию отсеивать нужно смотреть по месту)


Top
   
PostPosted: 2011-07-04 20:41:17 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Открывать нужно если сумки не были открыты предварительно.

Контейнеры не обязательно открывать в случае если скрипт будет кликать по ним 1 раз. Тогда нужно будет ловить сообщение в журнале и переводить его в число.
Но работать с журналом по моему мнению хуже чем с количеством найденных предметов. Хотя на вкус и цвет...

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


Top
   
PostPosted: 2011-07-05 03:01:56 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Ой да ладно
Code:
sub Search()
  var t_Bag = '0x1234', id_Container = '0x12345678', id_Bag
  While true
    UO.FindType(t_Bag, -1, id_Container)
    If UO.FindCount() then
      id_Bag = UO.GetSerial('finditem')
      If ItemCount(id_Bag) > 0 then
        UO.Ignore(id_Bag)
       else
        Return id_Bag
      Endif
     else
      UO.IgnoreReset()
      Return 0
    Endif
  Wend
Endsub

Sub ItemCount(id)
  var msg = 'ag (', Count = '0', String, i, j
  DelJournal(msg)
  UO.Click(id)
  Repeat
    Wait(100)
  Until UO.InJournal(msg)
  String = UO.Journal(UO.InJournal(msg) - 1)
  For i = 0 to len(String)
    If String[i] == '(' then
      For j = i + 1 to len(String)
        If String[j] <> ' ' then
          Count = Count + String[j]
         else
          Return val(Count)
        Endif
      Next
    Endif
  Next
Endsub

Sub DelJournal(msg)
  While uo.injournal(msg)
    UO.SetJournalLine(UO.InJournal(msg) - 1, '')
  Wend
Endsub


Last edited by ZeroDX on 2011-07-05 18:47:59, edited 1 time in total.

Top
   
PostPosted: 2011-07-05 10:33:02 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Ну вот люблю я когда экран завален открытыми контейнерами со всякими ништяками :mrgreen:
PS есть галочка в угре чтобы контейнеры все открывались только в правом верхнем углу экрана - не раздражает как обычные гирлянды.
На нескольких шардах bag называется Bag. Так что лучше

var msg = 'ag ('

использовать.

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


Top
   
PostPosted: 2011-07-05 18:48:17 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Поправлено


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 2 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