Yoko

All sides of Injection
It is currently 2025-10-16 11:37:00

All times are UTC+02:00




Post new topic  Reply to topic  [ 589 posts ]  Go to page Previous 15 6 7 8 930 Next
Author Message
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 13:20:16 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
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:
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:
{616,  618},
{1339, 1363},
{2272, 2282},
{4963, 4973},
{6001, 6012},
{13121,13369},
{13446,13455},
{13484,13492},
{13625,13628}

ИД тайлов деревьев:
Code:
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:
6038,6066

Если будут предложения по добавлению тайлов - пишите, доабвлю.
Не учтены (или частично учтены) тайлы скал.
Воду и пещеры брал из скрипта Миражика.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 13:48:05 
Offline

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

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 13:53:34 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Не заходит в УО. Виснет либо на Entering britaniaлибо даже до выбора чара не доходит.

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 13:57:37 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Incorrect User wrote:
Спасибо, качаем. Что такое [Maxteps] и [Hidden]
Юзаем хайд? Сколько максимум делать шагов, работает пока что не так, как планируется)

Incorrect User wrote:
Не заходит в УО. Виснет либо на Entering britaniaлибо даже до выбора чара не доходит.
оО В протокол не лез. Проверь шифрование, версию клиента, заходит ли с чистого клиента?


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 14:00:21 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Настройки ок. Без инжекта и на предыдущей версии заходит нормально. Юзаем хайд? - не понял.

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 14:06:47 
Offline

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


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 14:12:53 
Offline

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

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 16:25:23 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
uo.move(2916, 682, 0, 0, 0, 0) правильно? Кстати в новой версии нет системных сообщений, типа Contains, Now menu waiting... и тд

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 16:31:25 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
MaxSteps не должно быть 0, 50 или 100 ставь.
А вообще можно uo.move(2916, 682, 0) остальное стандартно будет, без хайда, идти (не бежать), 100 шагов максимум.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 16:49:09 
Offline

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

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 17:35:26 
Offline

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

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 18:10:58 
Offline

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

Исправлена комманда _msg с русским текстом.
Обновил ссылки.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 20:58:18 
Offline

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

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

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 21:18:34 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Incorrect User wrote:
Quote:
- Исправлена комманда _msg с русским текстом

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

оО перекачивал после увиденного сообщения?
Или использовал ту, что скачал до этого?


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 21:38:39 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Скачивал, даже для полной уверенности скачал еще раз эту http://rghost.ru/52623164 - падает. И с этим uo.WaitingForMenu проблемы. Получается сама менюшка выбора кого трекать называется так же Tracking и если поставить ожидание меню сразу после юза трекинга то она сработает на это окошко выбора, то есть ты можешь трекнуть любой тип, например животных, и даже если никого нет вокруг напишет что меню нашло, потому что поймало меню выбора кого трекать. А если поставить задержку между ними wait(100)
Code:
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


Тогда даже если натрекал кого то пишет что меню не нашло.

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 21:45:32 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Да, т.к. меню уже приходило за эти 100 мс и уже обработано инжектом.
uo.WaitingForMenu() работает только с момента вызова и до MaxDelay.
Если за время MaxDelay не приходило меню от сервера - возвращает 0.
Code:
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 задержка?
Так он будет ловить меню с любым названием, пропускать его клиенту и для вызова меню заюзает скилл Трэкинг.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 21:52:21 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Ты не понял, вот скрипт
Code:
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. И получается скрипт срабатывает на окошко выбора персонажей. Вот поэтому я и пытался делать по другому,трекнуть, чтобы прошла эта менюшка, подождать и потом включить ожидание меню если кого натрекали.

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 22:01:46 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Обновил ссылки
Code:
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) и смотреть только на второе.
Описание параметра в посте с обновлением.


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 22:05:06 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Теперь хорошо, спасибо. Что с русским?

_________________
CodeSweeper


Top
   
 Post subject: Re: Injection 2014 !
PostPosted: 2014-02-23 22:09:06 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Incorrect User wrote:
Теперь хорошо, спасибо. Что с русским?
Пока что провал видимо, скинь в личку последние строк 20 лога после _msg с русским текстом, посмотрю что там напишется.
У меня не выкидывает больше...


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 589 posts ]  Go to page Previous 15 6 7 8 930 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


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:  
cron
Powered by phpBB® Forum Software © phpBB Limited