Page 1 of 1

ошибка в работе с уошным макросом closegump

Posted: 2006-05-29 03:14:27
by admir
у меня есть предмет , при дабл клике на который открываеться гамп ,
суть в том что когда я жмакаю клозгамп то после этого я вобще не могу открыть с этого предмета гамп .

заметил что клоз гамп и правая кнопка мыши работает по разному , может есть нормальный способ кликнуть по гампу чтоб он закрылся ?

Posted: 2006-05-29 08:13:15
by omi4

Code: Select all

sub test()
   repeat
      UO.FindType('0x0E9B') ;
      UO.Recall('finditem',21) ; нажать кнопу последний крафт
      wait(2000)
      UO.Recall('finditem',0) ; закрыть гамп
      wait(2000)
   until UO.Dead()
end sub


верно для RunUO

Posted: 2006-05-29 15:06:29
by admir
uo macro : closegumps работает только с самим клиентом , закрывает все окошки механически и только , что создает ошибки ,

при нажатии на правую кнопку отсылаеться пакет
b1 о том что была выбрана кнопка 0 ( закрыть гамп )
с сервера высылаеться пакет удаляющий объект гамп , серийный номер которго я хз как узнать , следом идет обновление инфы о чаре .

чтото типа того

-

Code: Select all

----------------------------------------------------
-------- PACKET: 0xB1 ---- LEN: 23 --- FLAG: 0 ----
-----------------------------------------------------
0x00 0x17 0x40 0x00 0xC1 0x3D 0x00 0x00 0x03 0xF5 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
-----------------------------------------------------
-------- PACKET: 0x1D ---- LEN: 5 --- FLAG: 1 ----
-----------------------------------------------------
0x40 0x04 0x96 0x35
-----------------------------------------------------
-------- PACKET: 0x11 ---- LEN: 66 --- FLAG: 1 ----
-----------------------------------------------------
0x42 0x00 0x00 0x01 0xA3 0x76 0x4C 0x6F 0x6C 0x69 0x6E 0x61 0x20 0x70 0x65 0x74 0x72 0x6F 0x76 0x6E 0x61 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x96 0x00 0x96 0x00 0x01 0x01 0x00 0x96 0x00 0x64 0x00 0x64 0x00 0x64 0x00 0x64 0x00 0x64 0x00 0x64 0x00 0x00 0x00 0x00 0x00 0x56 0x00 0x4D


uo.recall жмакает по ИД
ждет гампа b0 и отсылает b1 с номером кнопки .
при этом если ловушка существует и повторно вызываеться recall то
(если включен параметр UO::Set('norbcalc','1');) происходит [Set default rune canceled]

разобрался до конца , и решил свою поблему следущим образом :


ставлю ловушку на недостижимый итем ,например
uo::recall("0x40000000","0");

вызываю гамп
uo::useobject("");

ловушка срабатывает на появившийся гамп

при этом гамп обрабатываеться только инжектом , на экране ничего не появляеться , собсно чего мне и нужно было добиться ) .