Injection 2014 !

General Injection issues

Moderators: Murderator+, Murderator

Post Reply
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

1402.23 beta

Список изменений:
    - Исправлена работа Corpses Autoopen (вернул в состояние версии 1401.25)
    - Исправлена обработка гампов (для сервера shard.uoex.net)
    - Удалил комманды uo.PrivateMineTile(), uo.PrivatePrepare()
    - Переписана комманда uo.PrivateGetTile(X,Y,GroundOrStatic,Tile1,Tile2)
    Теперь 3 параметр указывает на тип тайла 0 - земля, 1 - статика.
    При удачном поиске возвращает строку с найденными тайлами, попадающими в диапазон от Tile1 до Tile2, иначе - возвращает пустую строку.
    - Добавил комманды uo.IsMineTile(X,Y), uo.IsTreeTile(X,Y), uo.IsWaterTile(X,Y)
    Осуществляют поиск тайлов пещер/скал, деревьев, воды в заданных координатах.
    При удачном поиске возвращает строку с найденными тайлами, попадающими в диапазон поиска, иначе - возвращает пустую строку.
    - Добавил комманду uo.WaitingForMenu(MaxDelay,[MenuCount],[BlockMenu],[MenuName],[UseObjectID/SkillName to call menu])
    MaxDelay - максимальное время ожидания меню в мс
    MenuCount - сколько меню должно появиться до нужного
    BlockMenu - 0 - отправлять меню клиенту, 1 - блокировать меню и отправлять на сервер пакет с закрытием меню правой кнопкой мыши
    MenuName - ожидаемое название меню (с учетом регистра), если указано не пустое имя то функция будет ждать только меню с конкретным названием. При указании пустого имени - будет хавать любые менюшки.
    UseObjectID/SkillName - ID объекта для использования или название скилла (для вызова меню)
    - Первая более-менее рабочая версия ходилки.
    Вызов move X Y [Distance] [Run] [Maxteps] [Hidden] - ходит отправляя запросы на шаг сразу от инжекта (анимации шага не будет, как в Стелсе)
    pmove X Y [Distance] [Run] [Maxteps] [Hidden] - ходит имитируя нажатие в клиенте (коды кнопок 33-40)
    Пока что только тестовая версия, не учитывает Z координату (почти), не ходит по ступенькам, не входит/выходит в дома с порогом, учитывает игровые объекты (заборы, сундуки, дома и т.п.) только если инжект их уже увидел (пока что так, дальше буду ковырять чтоб учитывались при самом передвижении), имеются проблеммы со входом в некоторые пещеры (непроходимые места при входе в пещеру, визуально ничего нет, но пройти там нельзя).
    Требуется проверить как оно будет ходить по лесам/внутри пещер/в отдельных домах в городах (в вашем доме скорее всего заглохнет), с учетом игровых объектов.
    Может использовать 2 почти одинаковых алгоритма, изменять их можно с помощью:
    uo.Set('pfNoMap','1') - отключает создание виртуальной карты и пробирается "наощупь", предварительно прощитывая путь, требует значительно меньше времени на расчет пути, но пока что не стабильна.
    uo.Set('pfNoMap','0') - включает создание виртуальной карты (включено при запуске инжекта, пока что не сохраняется), требуется больше времени на расчет пути, но работает стабильно, исключая то, что описал выше.
    - Исправлена комманда _msg с русским текстом

Code: Select all

sub TestWaitingForMenu()
   if uo.WaitingForMenu(5000,1,1,'Tracking','Tracking') then
      uo.print('Menu received')
   else
      uo.print('WaitingForMenu Failed')
   endif
end sub
5000 - 5 секунд ожидания меню
1 - одно меню пропускаем
1 - блокируем меню (не пропускаем клиенту)
Tracking - имя меню, которое ждем
Tracking - скилл, который используем для вызова меню

Диапазоны ИД тайлов пещер:

Code: Select all

{616,  618},
{1339, 1363},
{2272, 2282},
{4963, 4973},
{6001, 6012},
{13121,13369},
{13446,13455},
{13484,13492},
{13625,13628}

ИД тайлов деревьев:

Code: Select all

3274,3275,3277,3280,3283,
3286,3288,3290,3293,3296,
3299,3302,3320,3323,3326,
3329,3393,3394,3395,3396,
3415,3416,3417,3418,3419,
3438,3439,3440,3441,3442,
3460,3461,3462,3476,3478,
3480,3482,3484,3492,3496,
3276,3289,3291,3292,3294,
3295

Диапазон тайлов воды:

Code: Select all

6038,6066

Если будут предложения по добавлению тайлов - пишите, доабвлю.
Не учтены (или частично учтены) тайлы скал.
Воду и пещеры брал из скрипта Миражика.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Спасибо, качаем. Что такое [Maxteps] и [Hidden]
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Не заходит в УО. Виснет либо на Entering britaniaлибо даже до выбора чара не доходит.
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Incorrect User wrote:Спасибо, качаем. Что такое [Maxteps] и [Hidden]
Юзаем хайд? Сколько максимум делать шагов, работает пока что не так, как планируется)

Incorrect User wrote:Не заходит в УО. Виснет либо на Entering britaniaлибо даже до выбора чара не доходит.
оО В протокол не лез. Проверь шифрование, версию клиента, заходит ли с чистого клиента?
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Настройки ок. Без инжекта и на предыдущей версии заходит нормально. Юзаем хайд? - не понял.
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Ну при ходьбе юзает хайд, перед каждым шагом, если не в хайде.
Логинсервер в личку с тестовым акком.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Аа, сама ходилка юзает, я думал типа можно выбирать идти или не идти если ты в хайде :mrgreen: Логин в ЛС.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

uo.move(2916, 682, 0, 0, 0, 0) правильно? Кстати в новой версии нет системных сообщений, типа Contains, Now menu waiting... и тд
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

MaxSteps не должно быть 0, 50 или 100 ставь.
А вообще можно uo.move(2916, 682, 0) остальное стандартно будет, без хайда, идти (не бежать), 100 шагов максимум.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Ходит. Немного плавности не хватает но уже хорошо. Скиньте функцию InString у кого есть.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Так же бывает иногда старый глюк, отредактируешь скрипт, запускаешь его а он не работает, видно что запущен но ничего не делает, помогает только перезаход.
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Incorrect User wrote:Так же бывает иногда старый глюк, отредактируешь скрипт, запускаешь его а он не работает, видно что запущен но ничего не делает, помогает только перезаход.
Включи галку Debug на закладке скриптов инжекта, найди в редакторе свой скрипт и посмотри, есть ли там изменения, которые ты вносил или нет?
Если нет - нажми на иконку "Обновить" на закладке скриптов, рядом с запускаемой функцией находится.

Исправлена комманда _msg с русским текстом.
Обновил ссылки.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

- Исправлена комманда _msg с русским текстом

Все равно с русским падает.
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Incorrect User wrote:
- Исправлена комманда _msg с русским текстом

Все равно с русским падает.

оО перекачивал после увиденного сообщения?
Или использовал ту, что скачал до этого?
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Скачивал, даже для полной уверенности скачал еще раз эту http://rghost.ru/52623164 - падает. И с этим uo.WaitingForMenu проблемы. Получается сама менюшка выбора кого трекать называется так же Tracking и если поставить ожидание меню сразу после юза трекинга то она сработает на это окошко выбора, то есть ты можешь трекнуть любой тип, например животных, и даже если никого нет вокруг напишет что меню нашло, потому что поймало меню выбора кого трекать. А если поставить задержку между ними wait(100)

Code: Select all

sub Test()
   uo.waitmenu("Tracking", "Animals")
   uo.useskill("Tracking")
   wait(100)
   if uo.WaitingForMenu(1000) then
      uo.print('Menu received')
   else
      uo.print('WaitingForMenu Failed')
   endif
end sub


Тогда даже если натрекал кого то пишет что меню не нашло.
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Да, т.к. меню уже приходило за эти 100 мс и уже обработано инжектом.
uo.WaitingForMenu() работает только с момента вызова и до MaxDelay.
Если за время MaxDelay не приходило меню от сервера - возвращает 0.

Code: Select all

sub Test()
   uo.waitmenu("Tracking", "Animals")
   if uo.WaitingForMenu(1000,0,'','Tracking') then
      uo.print('Menu received')
   else
      uo.print('WaitingForMenu Failed')
   endif
end sub
Почему бы так не юзать? Зачем 100 задержка?
Так он будет ловить меню с любым названием, пропускать его клиенту и для вызова меню заюзает скилл Трэкинг.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Ты не понял, вот скрипт

Code: Select all

sub Test()
   uo.waitmenu("Tracking", "Animals")
   if uo.WaitingForMenu(1000,0,'Tracking','Tracking') then
      uo.print('Menu received')
   else
      uo.print('WaitingForMenu Failed')
   endif
end sub

Пишет что меню поймал, хотя никого не натрекал. Почему? Потому что само окно с выбором персонажа называется Tracking и уже иенюшка которая может появится когда кого-то натрекал так же называется Tracking. И получается скрипт срабатывает на окошко выбора персонажей. Вот поэтому я и пытался делать по другому,трекнуть, чтобы прошла эта менюшка, подождать и потом включить ожидание меню если кого натрекали.
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Обновил ссылки

Code: Select all

sub Test()
   uo.waitmenu("Tracking", "Animals")
   if uo.WaitingForMenu(1000,1,0,'Tracking','Tracking') then
      uo.print('Menu received')
   else
      uo.print('WaitingForMenu Failed')
   endif
end sub
Теперь оно будет игнорить первое меню (второй параметр 1) и смотреть только на второе.
Описание параметра в посте с обновлением.
Incorrect User
Posts: 949
Joined: 2011-05-23 00:33:30

Re: Injection 2014 !

Post by Incorrect User »

Теперь хорошо, спасибо. Что с русским?
Juicy Fruit
Posts: 820
Joined: 2011-06-11 19:54:23

Re: Injection 2014 !

Post by Juicy Fruit »

Incorrect User wrote:Теперь хорошо, спасибо. Что с русским?
Пока что провал видимо, скинь в личку последние строк 20 лога после _msg с русским текстом, посмотрю что там напишется.
У меня не выкидывает больше...
Post Reply