Разные буки и номера их кнопок...
Moderators: Murderator+, Murderator
Разные буки и номера их кнопок...
Такой вопрос: Есть на шарде алхеми бук, в нем, соответственно, рецепты. Как бы прописать работу с ней не используя тупое кликанье по координатам кнопки? т.е. по принципу работы с рунбукой.
ЗЫ: И как узнать номера кнопок в буке?
ЗЫ: И как узнать номера кнопок в буке?
Re: Разные буки и номера их кнопок...
Tergos wrote:Такой вопрос: Есть на шарде алхеми бук, в нем, соответственно, рецепты. Как бы прописать работу с ней не используя тупое кликанье по координатам кнопки? т.е. по принципу работы с рунбукой.
ЗЫ: И как узнать номера кнопок в буке?
,[yhlp_infogump] после того как нажал что нить в буке в разделе Reply смотришь код возврата
А вот потом
Code: Select all
uo.exec("ongump anygump "+"Тот самый код возврата")
uo.useobject("ИД той самой буки")
Да. Нужна свежая версия инжи для того что бы работала команда [yhlp_ongump].
Сделал дело - флуди смело !!!
Re: Разные буки и номера их кнопок...
Askaneli wrote:Tergos wrote:Такой вопрос: Есть на шарде алхеми бук, в нем, соответственно, рецепты. Как бы прописать работу с ней не используя тупое кликанье по координатам кнопки? т.е. по принципу работы с рунбукой.
ЗЫ: И как узнать номера кнопок в буке?
,[yhlp_infogump] после того как нажал что нить в буке в разделе Reply смотришь код возврата
А вот потомCode: Select all
uo.exec("ongump anygump "+"Тот самый код возврата")
uo.useobject("ИД той самой буки")
Да. Нужна свежая версия инжи для того что бы работала команда [yhlp_ongump].
хмм. так. вроде бы ясно, но... Если нужен рецепт на скажем третьей странице алхеми буки... ведь при "uo.exec("ongump anygump "+"Тот самый код возврата")" он по идее сразу будет пытаться нажать кнопку, а она на третьей странице... Он просто пригнорирует перелистывание и начнет варить нужный поушен? Или нажмет что-то не то? Или вообще повиснет в ожидании нужной кнопки?
Re: Разные буки и номера их кнопок...
Tergos wrote:Askaneli wrote:Tergos wrote:Такой вопрос: Есть на шарде алхеми бук, в нем, соответственно, рецепты. Как бы прописать работу с ней не используя тупое кликанье по координатам кнопки? т.е. по принципу работы с рунбукой.
ЗЫ: И как узнать номера кнопок в буке?
,[yhlp_infogump] после того как нажал что нить в буке в разделе Reply смотришь код возврата
А вот потомCode: Select all
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].
Сделал дело - флуди смело !!!
Честно скажу - по ссылке не сходил, вроде и так понял, что надо будет отдельную процедуру на перелистывание через обработку гампа сделать. Именно так у нас - два гампа. первый - тип поушена, второй - начало варки оного... Ну а на случай если это просто перелистывание, то вроде вот такой скриптик вырисовывается...
Вроде так? Или я неправильно понял работу с гампами? А то на сайте про "ongump" написано только то, что она в разработке. А формат ее мне не очень ясен...
ЗЫ: Потом еще добавлю сбрасывание пойзонов в мешок, а то у нас на шарде они не кучкуются, придется через вайл пойзон есть в паке кидать - писать ща лень
ЗЗЫ: А чуйствую по ссылочке надо сходить, а то торможу как обработать два гампа, используя только один объект...
Code: Select all
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" написано только то, что она в разработке. А формат ее мне не очень ясен...
ЗЫ: Потом еще добавлю сбрасывание пойзонов в мешок, а то у нас на шарде они не кучкуются, придется через вайл пойзон есть в паке кидать - писать ща лень

ЗЗЫ: А чуйствую по ссылочке надо сходить, а то торможу как обработать два гампа, используя только один объект...
Так то вроде всё норма, должно работать.
Вот почитай тут.
http://yoko.netroof.net/forum/viewtopic ... 3692#23692
Вот почитай тут.
http://yoko.netroof.net/forum/viewtopic ... 3692#23692
Сделал дело - флуди смело !!!
хмм... почитал...
А вот такая свзка работать будет?
ЗЫ: А как он различает айди гампа я вписал или сериал?
ЗЗЫ: В процессе чтения наткнулся на это
Не совсем понял опять же формат онгампа... 16 - десятичный номер кнопки, 0x00000009 - айди самого гампа, а 0x4001AA8A - это что? Айди буки? (Видимо я все же тормоз
)
А вот такая свзка работать будет?
Code: Select all
UO.exec('ongump id_гампа_с_типом_поушенов номер_гампа_пойзонов')
UO.exec('ongump id_гампа_с_выбором_конкретного_пойзона номер_гампа_нужного_поушена')
UO.UseObject('id_алхеми_буки')
ЗЫ: А как он различает айди гампа я вписал или сериал?
ЗЗЫ: В процессе чтения наткнулся на это
Code: Select all
sub test()
UO.Recall('0x4001AA8A','1')
UO.OnGump('0x4001AA8A','0x00000009','16')
end sub
Не совсем понял опять же формат онгампа... 16 - десятичный номер кнопки, 0x00000009 - айди самого гампа, а 0x4001AA8A - это что? Айди буки? (Видимо я все же тормоз

У меня не получилось с ИД гампа ничего вымутить.
Но он равняется ИД итема юз которого вызывает гамп.
uo.[yhlp_ongump] же насколько я понял сам гамп не вызывает а лишь обрабатывает его, в частности жмёт определённую кнопку в книге уже открытую. По сути ставит ловушку на событие.
Но он равняется ИД итема юз которого вызывает гамп.
uo.[yhlp_ongump] же насколько я понял сам гамп не вызывает а лишь обрабатывает его, в частности жмёт определённую кнопку в книге уже открытую. По сути ставит ловушку на событие.
Сделал дело - флуди смело !!!
Tergos wrote:хмм. А сериалы? Если он работает как ловушка на событие, то интересно - что для него является событием... Открыте второй страницы - событие? или попробовать по содержащемуся тексту...
наличие гампа для него является событием.
Причём
Code: Select all
uo.exec("ongump anygump "+"Тот самый код возврата")
uo.useobject("ИД той самой буки")
Code: Select all
uo.useobject("ИД той самой буки")
uo.exec("ongump anygump "+"Тот самый код возврата")
сработают одинаково.
У тебя как процесс происходит ваще, расскажи.
Ты юзаешь реги и у тебя книга сама открывается или ты юзаешь книгу ?
Сделал дело - флуди смело !!!
Эх а я делал вот так:
И че удивительное работало
Ну небыло тада ongump'a небыло
p.s. а шард то доминари
Code: Select all
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()
И че удивительное работало

Ну небыло тада ongump'a небыло

p.s. а шард то доминари

Tergos wrote:I'm, ты прав. Шард - доминария.
А порядок действий:
1 - юз книги (открывается список доступных рецептов)
2 - кнопка - выбор рецепта (открывается страничка с этими рецептами)
3 - кнопка - начало варки (бук закрывается)
Тады тебе тока
Code: Select all
sub test()
UO.Recall('0x4001AA8A','1')
UO.OnGump('0x4001AA8A','0x00000009','16')
end sub
Сделал дело - флуди смело !!!
Tergos wrote:Хм, тогда объясните плиз подробно вот это: UO.OnGump('0x4001AA8A','0x00000009','16')
0x4001AA8A - айди буки.
16 - номер кнопки.
0x00000009 - Это что?
Я не знаю зачем ты придрался к этим цифрам
Code: Select all
uo.recall('ИД буки','5') ; 5 - это номер раздела который ты выбираешь
uo.exec("ongump anygump 11") ; 11 - это поушен из 5 раздела который ты варишь
эти цифры достаешь из [yhlp_infogump]
и в начале скрипт ещё
Code: Select all
uo.exec("set norbcheck 1")
uo.exec("set norbcalc 1")
Сделал дело - флуди смело !!!
ХА! По ходу я нашел способ работать с такой алхеми букой.
Вот такой код. На второй реколл он ругается что нет такого айтема, но кнопку нажимает
ЗЫ: Сейчас проверил - так обраьатывается любая вложенность. Хоть 5 гампов подряд
Code: Select all
UO.Recall('айди_алхеми_буки','номер_первой_кнопки')
UO.DeleteJournal()
repeat
wait(100)
until UO.InJournal(' ')
UO.Recall('ПРОИЗВОЛЬНОЕ_ЧИСЛО', 'номер_второй кнопки')
While not UO.Injournal('You put|fail|have')
wait(200)
wend
Вот такой код. На второй реколл он ругается что нет такого айтема, но кнопку нажимает

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

Кхм-кхм найди 10 отличий
То-то же

Tergos wrote:Code: Select all
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: Select all
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()
То-то же

Кхм. Отличие есть. По твоему варианту постоянно открывается бука (на втором реколле). Кнопка-то нажимается, но экран забивается алхеми буками - начинает лагать. А в моем варианте он ругается на отсутствие такой буки (с произвольным номером) и тоже нажимает кнопку. И лагов из-за кучи книжек открытых нет.
ЗЫ: Но буду честен - идея твоя, моя только доработка...
ЗЫ: Но буду честен - идея твоя, моя только доработка...
