sub bonus() while not uo.Dead() if uo.LastGump('replyed') == 0 then if uo.LastGump('text', 0) == ' * AIION! *' then uo.LClick(uo.LastGump('x')+73, uo.LastGump('y')+109) wait(1000) end if end if wait(100) wend end sub
Buttons: ________ page 0 1 [ 1] image=0x0851 at 73:109
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
uo.LClick(uo.LastGump('x')+73, uo.LastGump('y')+109)
uo.LastGump('x') и uo.LastGump('y') тут незачем, так как гамп сам не двигается, двигаются только жлементы
Все что нужно сделать это вырезать из текста кнопки координаты, опять таки в макросах (антимакросах) есть достаточно примеров как это сделать.
Можешь воспользоватся командой Mid, можешь Left Right использовать.
sub bonus() var btnxy while not uo.Dead() if uo.LastGump('replyed') == 0 then if uo.LastGump('text', 0) == ' * AIION! *' then btnxy = Right(uo.LastGump('button', 0), 6) uo.LClick(val(Left(btnxy, 2)), val(Right(btnxy, 3))) wait(1000) end if end if wait(100) wend end sub
Запускаю с выскочившим гампом, а оно не работает. Просто ничего не делает.
Может быть ошибка в этом, это фраза " * БОНУС! *", которая в инфогампе отображается следующими иероглифами:
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
После появления гампа кнопка не нажимается и макрос начинает непрерывно выдавать "AntiMacro!".
И видно жмет где-то левее нужного, т.к. появляются комментарии того, на что нажали кнопкой. Поменяю 6 на 7, попробую.
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
sub bonus() var btnxy while not uo.Dead() if uo.LastGump('replyed') == 0 then if uo.LastGump('text', 0) == ' * AIION! *' then uo.Print('AntiMacro!') btnxy = Right(uo.LastGump('button', 0), 7) uo.LClick(val(Left(btnxy, 2)), val(Right(btnxy, 3))) wait(1000) uo.print('Записали: ' +btnxy) end if end if wait(100) wend end sub
Создается цикл:
"AntiMacro!"
"Записали: 5 y=119"
Странно
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
Значит, у меня такая проблемка... иногда координата Х трехзначная, иногда - двузначная.
Выдается в виде:
х=000 у=000
либо
х=00 у=000
как вырезать нужное количество цифр? или делать две проверки - по двузначным цифрам и трехзначным?
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
Sub getXfromStr( str ) var i, flag = false, x = "" for i = 0 to strlen( str ) -1 if flag then if str[i] == " " then return val( x ) endif x = x + str[i] endif if str[i-1] + str[i] == "x=" then flag = true endif next return val( x ) endsub
Или заюзать что-нибудь готовое, типа explode.
YokoInjection CodeSweeper Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Как можно узнать возник ли этот гамп, если я нахожусь в процессе использования крафтовых скиллов, у которых тоже появляются таблички (гампы), с которыми я оперирую командой uo.recall(*******)
Т.е. получается что появился "бонус", и в этот момент он - uo.lastgump, но через мгновение идет команда uo.recall() и тут появляется другой гамп, и соответственно становится он уже uo.lastgump.
Есть ли способ "найти" появившийся гамп с бонусом при таких условиях?
Надеюсь понятно объяснил.
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
sub bonus() var btnxy, one, two while not uo.Dead() if uo.LastGump('text', 0) == ' * AIION! *' then uo.Print('AntiMacro!') btnxy = Right(uo.LastGump('button', 0), 9) one = val(left(btnxy, 3)) two = val(right(btnxy, 3)) uo.LClick(one, two) wait(1000) uo.print('Записали x: ' + one) uo.Print('Записали у: ' + two) end if wait(100) wend end sub
Выдает ошибку: "line 11: Runtime error - Bad operation for this type". Не получается что-то этот макрос у меня. Пожалуйста, кто может, помогите.
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php
one = val(left(btnxy, 3)) ... uo.print('Записали x: ' + one)
Сами разберётесь?)
YokoInjection CodeSweeper Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
one = val(left(btnxy, 3)) ... uo.print('Записали x: ' + one)
Сами разберётесь?)
Да, с этим разобрался уже
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php