Yoko

All sides of Injection
It is currently 2025-12-19 20:33:59

All times are UTC+02:00




Post new topic  Reply to topic  [ 27 posts ]  Go to page 1 2 Next
Author Message
PostPosted: 2005-06-21 08:41:31 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
Такой вопрос: Есть на шарде алхеми бук, в нем, соответственно, рецепты. Как бы прописать работу с ней не используя тупое кликанье по координатам кнопки? т.е. по принципу работы с рунбукой.

ЗЫ: И как узнать номера кнопок в буке?


Top
   
PostPosted: 2005-06-21 08:49:28 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
Tergos wrote:
Такой вопрос: Есть на шарде алхеми бук, в нем, соответственно, рецепты. Как бы прописать работу с ней не используя тупое кликанье по координатам кнопки? т.е. по принципу работы с рунбукой.

ЗЫ: И как узнать номера кнопок в буке?


,[yhlp_infogump] после того как нажал что нить в буке в разделе Reply смотришь код возврата
А вот потом

Code:
uo.exec("ongump anygump "+"Тот самый код возврата")
uo.useobject("ИД той самой буки")

Да. Нужна свежая версия инжи для того что бы работала команда [yhlp_ongump].

_________________
Сделал дело - флуди смело !!!


Top
   
PostPosted: 2005-06-21 09:12:36 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
Askaneli wrote:
Tergos wrote:
Такой вопрос: Есть на шарде алхеми бук, в нем, соответственно, рецепты. Как бы прописать работу с ней не используя тупое кликанье по координатам кнопки? т.е. по принципу работы с рунбукой.

ЗЫ: И как узнать номера кнопок в буке?


,[yhlp_infogump] после того как нажал что нить в буке в разделе Reply смотришь код возврата
А вот потом

Code:
uo.exec("ongump anygump "+"Тот самый код возврата")
uo.useobject("ИД той самой буки")

Да. Нужна свежая версия инжи для того что бы работала команда [yhlp_ongump].


хмм. так. вроде бы ясно, но... Если нужен рецепт на скажем третьей странице алхеми буки... ведь при "uo.exec("ongump anygump "+"Тот самый код возврата")" он по идее сразу будет пытаться нажать кнопку, а она на третьей странице... Он просто пригнорирует перелистывание и начнет варить нужный поушен? Или нажмет что-то не то? Или вообще повиснет в ожидании нужной кнопки?


Top
   
PostPosted: 2005-06-21 09:26:33 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
Tergos wrote:
Askaneli wrote:
Tergos wrote:
Такой вопрос: Есть на шарде алхеми бук, в нем, соответственно, рецепты. Как бы прописать работу с ней не используя тупое кликанье по координатам кнопки? т.е. по принципу работы с рунбукой.

ЗЫ: И как узнать номера кнопок в буке?


,[yhlp_infogump] после того как нажал что нить в буке в разделе Reply смотришь код возврата
А вот потом

Code:
uo.exec("ongump anygump "+"Тот самый код возврата")
uo.useobject("ИД той самой буки")

Да. Нужна свежая версия инжи для того что бы работала команда [yhlp_ongump].


хмм. так. вроде бы ясно, но... Если нужен рецепт на скажем третьей странице алхеми буки... ведь при "uo.exec("ongump anygump "+"Тот самый код возврата")" он по идее сразу будет пытаться нажать кнопку, а она на третьей странице... Он просто пригнорирует перелистывание и начнет варить нужный поушен? Или нажмет что-то не то? Или вообще повиснет в ожидании нужной кнопки?

Если это просто перелистывание, а не вызов гампа то да , сработает без проблем. Смотри пример рунбуки http://yoko.netroof.net/forum/viewtopic ... 3858#23858
там выброс рунки из рунбука как раз на второй странице рунбуки.
Зачастую у каждой кнопки гампа свой код возврата. Иногда они прям по порядку идут 0x0001, 0x0002 и тд. Но на некоторых шардах делают хитрые гампы когда надо 2 кнопки поочереди жать, тадыть немного другая схема.
uo.[yhlp_recall] вызывает первый гамп а второй уже тыкаешь uo.[yhlp_ongump].

_________________
Сделал дело - флуди смело !!!


Top
   
 Post subject:
PostPosted: 2005-06-21 09:52:14 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
Честно скажу - по ссылке не сходил, вроде и так понял, что надо будет отдельную процедуру на перелистывание через обработку гампа сделать. Именно так у нас - два гампа. первый - тип поушена, второй - начало варки оного... Ну а на случай если это просто перелистывание, то вроде вот такой скриптик вырисовывается...
Code:
sub Alchemy()

uo.print('gde regi i butylki?')
uo.addobject(sunduk)
while uo.targeting()
  wait(100)
wend

While not UO.Dead()
  If UO.NS < 10 then
    Checklag()
    UO.FindType('тип найтшейда',0x0000,sunduk)
    If not UO.FindCount() then
      UO.Print('Regi konchilis')
      return
    endif
    UO.Moveitem('finditem', 100, 'backpack')
    wait(700)
  else
    UO.FindType('тип бутылок', 0x0000, 'backpack')
    if UO.Findcount()<20 then
      Checklag()
      UO.FindType('тип бутылок', 0x0000, sunduk)
      If not UO.Findcount() then
        UO.Print('Butylki konchilis')
        return
      endif
      UO.moveitem('finditem', 100, 'backpack')
      wait(700)
    else
      Checklag()
      UO.exec('ongump anygump _гамп_кнопки_пойзона_')
      UO.UseObject('айди алхеми буки')
      UO.DeleteJournal()
      While not UO.Injournal('You put|fail|have')
        wait(200)
      wend
      wait(250)
    endif
  endif
wend
endsub

Sub Checklag()
uo.deletejournal()
uo.click('backpack')
Repeat
wait(100)
Until UO.InJournal("backpack")
end sub

Вроде так? Или я неправильно понял работу с гампами? А то на сайте про "ongump" написано только то, что она в разработке. А формат ее мне не очень ясен...
ЗЫ: Потом еще добавлю сбрасывание пойзонов в мешок, а то у нас на шарде они не кучкуются, придется через вайл пойзон есть в паке кидать - писать ща лень :)
ЗЗЫ: А чуйствую по ссылочке надо сходить, а то торможу как обработать два гампа, используя только один объект...


Top
   
 Post subject:
PostPosted: 2005-06-21 09:57:57 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
Так то вроде всё норма, должно работать.
Вот почитай тут.
http://yoko.netroof.net/forum/viewtopic ... 3692#23692

_________________
Сделал дело - флуди смело !!!


Top
   
 Post subject:
PostPosted: 2005-06-21 10:13:30 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
хмм... почитал...
А вот такая свзка работать будет?
Code:
UO.exec('ongump id_гампа_с_типом_поушенов номер_гампа_пойзонов')
UO.exec('ongump id_гампа_с_выбором_конкретного_пойзона номер_гампа_нужного_поушена')
UO.UseObject('id_алхеми_буки')

ЗЫ: А как он различает айди гампа я вписал или сериал?
ЗЗЫ: В процессе чтения наткнулся на это
Code:
sub test() 
UO.Recall('0x4001AA8A','1')
UO.OnGump('0x4001AA8A','0x00000009','16')
end sub

Не совсем понял опять же формат онгампа... 16 - десятичный номер кнопки, 0x00000009 - айди самого гампа, а 0x4001AA8A - это что? Айди буки? (Видимо я все же тормоз :oops: )


Top
   
 Post subject:
PostPosted: 2005-06-21 10:31:58 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
У меня не получилось с ИД гампа ничего вымутить.
Но он равняется ИД итема юз которого вызывает гамп.
uo.[yhlp_ongump] же насколько я понял сам гамп не вызывает а лишь обрабатывает его, в частности жмёт определённую кнопку в книге уже открытую. По сути ставит ловушку на событие.

_________________
Сделал дело - флуди смело !!!


Top
   
 Post subject:
PostPosted: 2005-06-21 10:39:31 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
хмм. А сериалы? Если он работает как ловушка на событие, то интересно - что для него является событием... Открыте второй страницы - событие? или попробовать по содержащемуся тексту...


Top
   
 Post subject:
PostPosted: 2005-06-21 10:43:51 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
Tergos wrote:
хмм. А сериалы? Если он работает как ловушка на событие, то интересно - что для него является событием... Открыте второй страницы - событие? или попробовать по содержащемуся тексту...

наличие гампа для него является событием.

Причём
Code:
uo.exec("ongump anygump "+"Тот самый код возврата") 
uo.useobject("ИД той самой буки")

Code:
uo.useobject("ИД той самой буки") 
uo.exec("ongump anygump "+"Тот самый код возврата")

сработают одинаково.

У тебя как процесс происходит ваще, расскажи.
Ты юзаешь реги и у тебя книга сама открывается или ты юзаешь книгу ?

_________________
Сделал дело - флуди смело !!!


Top
   
 Post subject:
PostPosted: 2005-06-21 11:58:39 
Offline
Expert!
User avatar

Joined: 2004-10-15 22:38:04
Posts: 1396
Location: Moscow City.
Эх а я делал вот так:
Code:
      UO.ReCall("AlchemyBook",FirstGump) 
      UO.DeleteJournal()
      While NOT UO.InJournal(" ")
         Wait(100)
      Wend
      UO.ReCall("AlchemyBook",SecondGump)
         While NOT UO.InJournal("You put")
            Wait(100)
         Wend
      CheckLag()

И че удивительное работало :lol:
Ну небыло тада ongump'a небыло :(
p.s. а шард то доминари :)


Top
   
 Post subject:
PostPosted: 2005-06-22 08:42:05 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
I'm, ты прав. Шард - доминария. :)
А порядок действий:
1 - юз книги (открывается список доступных рецептов)
2 - кнопка - выбор рецепта (открывается страничка с этими рецептами)
3 - кнопка - начало варки (бук закрывается)


Top
   
 Post subject:
PostPosted: 2005-06-22 08:44:13 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
Tergos wrote:
I'm, ты прав. Шард - доминария. :)
А порядок действий:
1 - юз книги (открывается список доступных рецептов)
2 - кнопка - выбор рецепта (открывается страничка с этими рецептами)
3 - кнопка - начало варки (бук закрывается)

Тады тебе тока
Code:
sub test() 
UO.Recall('0x4001AA8A','1')
UO.OnGump('0x4001AA8A','0x00000009','16')
end sub

_________________
Сделал дело - флуди смело !!!


Top
   
 Post subject:
PostPosted: 2005-06-22 08:53:14 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
Хм, тогда объясните плиз подробно вот это: UO.OnGump('0x4001AA8A','0x00000009','16')
0x4001AA8A - айди буки.
16 - номер кнопки.
0x00000009 - Это что?


Top
   
 Post subject:
PostPosted: 2005-06-22 09:02:00 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
Tergos wrote:
Хм, тогда объясните плиз подробно вот это: UO.OnGump('0x4001AA8A','0x00000009','16')
0x4001AA8A - айди буки.
16 - номер кнопки.
0x00000009 - Это что?

Я не знаю зачем ты придрался к этим цифрам

Code:
uo.recall('ИД буки','5') ; 5 - это номер раздела который ты выбираешь
uo.exec("ongump anygump 11") ; 11 - это поушен из 5 раздела который ты варишь

эти цифры достаешь из [yhlp_infogump]

и в начале скрипт ещё
Code:
uo.exec("set norbcheck 1")
uo.exec("set norbcalc 1")

_________________
Сделал дело - флуди смело !!!


Top
   
 Post subject:
PostPosted: 2005-06-22 10:24:10 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
сенк. Попробую...
А придрался к цифрам - мне просто интересно что за онгамп с тремя параметрами. первый и третий я могу понять, а второй - нет.


Top
   
 Post subject:
PostPosted: 2005-06-30 15:02:40 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
ХА! По ходу я нашел способ работать с такой алхеми букой.
Code:
      UO.Recall('айди_алхеми_буки','номер_первой_кнопки')
      UO.DeleteJournal()
      repeat
        wait(100)
      until UO.InJournal(' ')
      UO.Recall('ПРОИЗВОЛЬНОЕ_ЧИСЛО', 'номер_второй кнопки')
      While not UO.Injournal('You put|fail|have')
        wait(200)
      wend

Вот такой код. На второй реколл он ругается что нет такого айтема, но кнопку нажимает :)
ЗЫ: Сейчас проверил - так обраьатывается любая вложенность. Хоть 5 гампов подряд :)


Top
   
 Post subject:
PostPosted: 2005-06-30 22:57:01 
Offline
Expert!
User avatar

Joined: 2004-10-15 22:38:04
Posts: 1396
Location: Moscow City.
Кхм-кхм найди 10 отличий :roll:
Tergos wrote:
Code:
      UO.Recall('айди_алхеми_буки','номер_первой_кнопки')
      UO.DeleteJournal()
      repeat
        wait(100)
      until UO.InJournal(' ')
      UO.Recall('ПРОИЗВОЛЬНОЕ_ЧИСЛО', 'номер_второй кнопки')
      While not UO.Injournal('You put|fail|have')
        wait(200)
      wend


I'm wrote:
Code:
      UO.ReCall("AlchemyBook",FirstGump) 
      UO.DeleteJournal()
      While NOT UO.InJournal(" ")
         Wait(100)
      Wend
      UO.ReCall("AlchemyBook",SecondGump)
         While NOT UO.InJournal("You put")
            Wait(100)
         Wend
      CheckLag()


То-то же :lol:


Top
   
 Post subject:
PostPosted: 2005-07-01 07:34:31 
Offline

Joined: 2005-06-12 09:14:09
Posts: 52
Location: Moscow, Russia
Кхм. Отличие есть. По твоему варианту постоянно открывается бука (на втором реколле). Кнопка-то нажимается, но экран забивается алхеми буками - начинает лагать. А в моем варианте он ругается на отсутствие такой буки (с произвольным номером) и тоже нажимает кнопку. И лагов из-за кучи книжек открытых нет.
ЗЫ: Но буду честен - идея твоя, моя только доработка... :)


Top
   
 Post subject:
PostPosted: 2005-07-01 07:38:00 
Offline
Sphere expert
User avatar

Joined: 2004-10-01 08:27:38
Posts: 1143
Location: Уфа
uo.[yhlp_ongump] и только он и не надо ничего изобретать
прекрасно работает.

_________________
Сделал дело - флуди смело !!!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 27 posts ]  Go to page 1 2 Next

All times are UTC+02:00


Who is online

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