Yoko

All sides of Injection
It is currently 2024-04-26 10:36:43

All times are UTC+02:00




Post new topic  Reply to topic  [ 67 posts ]  Go to page Previous 1 2 3 4 Next
Author Message
PostPosted: 2014-06-01 15:01:02 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Code:
UO.WaitTargetTile(uo.IsMineTile(UO.GetX()+x, UO.GetY()+Y), STR(UO.GetX()+x), STR(UO.GetY()+Y), z)
Тоже не сработает? Для первого варианта.


Top
   
PostPosted: 2014-06-01 21:10:37 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
isMineTile что возвращает? массив? список? число в HEX системе? строку с числом в HEX представлении?
Так не работает, пишет Target cannot be seen.


Top
   
PostPosted: 2014-06-01 21:19:57 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Quote:
- Добавил комманды uo.IsMineTile(X,Y), uo.IsTreeTile(X,Y), uo.IsWaterTile(X,Y)
Осуществляют поиск тайлов пещер/скал, деревьев, воды в заданных координатах.
При удачном поиске возвращает строку с найденными тайлами, попадающими в диапазон поиска, иначе - возвращает пустую строку.
Но это при учете, что тайлы пещеры забиты в статику, а не созданные ГМом.
Список тайлов есть в теме с 2014 инжектом.


Top
   
PostPosted: 2014-06-01 21:22:28 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
Аха, то есть мне эту строку ещё и парсить надо , если в ней больше одного тайла. А разделитель что? Пробел?
Врядли в минок пещере кто-то что-то правил. По крайней мере координата Z везде = 0, и по графике всё стандартно.


Top
   
PostPosted: 2014-06-01 21:28:06 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Разделитель вроде бы запятая.
Я не находил еще тайлы в пещерах, где на 1 были несколько, несколько тайлов скорее к деревьям относится, т.к. там может учитываться листва.
Можешь принт в чат/текстовое окно этого тайла сделать для проверки.


Top
   
PostPosted: 2014-06-01 21:30:25 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
Да я делал, возвращает HEX тайла. Но почему-то он не прокатывает в WaitTargetTile. WTT вообще способен HEX принимать как параметр?
Ещё странная вещь : пытался результат IsMineTile() в DEC перевести с помощью hex2int - ошибку выдаёт.


Top
   
PostPosted: 2014-06-01 21:36:00 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Опа, atoi отказывается переводить HEX в число.
Вариант:
Code:
uo.print('DEC tile='+str( uo.Hex2Int( uo.IsMineTile(uo.getx(), uo.gety()) ) ))
uo.print('HEX tile='+uo.IsMineTile(uo.getx(), uo.gety()))
Мне перевело сейчас.


Top
   
PostPosted: 2014-06-01 21:43:31 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
Да, это работает. Не думал что INT надо ещё и в строку перевести, прежде чем передать в WaitTargetTile.
такие моменты нигде не документированы, вот и начинается секас на ровном месте.

Однако работает условно, оригинальная проблема никуда не исчезла :) Что , вообщем-то , и не удивительно. Тип тайла и так правильно передавался.
Кстати, у меня тут ещё в injection_log пишет ***Error: MulReader::failed to load verdata.mul . Может как-то связано?


Last edited by grundick on 2014-06-01 21:51:46, edited 1 time in total.

Top
   
PostPosted: 2014-06-01 21:50:34 
Offline

Joined: 2011-06-11 19:54:23
Posts: 820
Кхм, в строку не обязательно переводить вроде бы, для отправки в WTT, как и в остальные фукнции, которые не возвращают значения. Перевод чисел в строки в инжекте давно уже делается (должен) автоматом.
Странно) Можешь скинуть тестовый акк в личку? Завтра вечером если не занят буду - тоже посмотрю что за дела творятся. Или там авторег? Версия клиента?
Кстати, Z координата играет роль?


Top
   
PostPosted: 2014-06-01 21:53:47 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
Там авторег, клиент 5.0.9.1 .
Насчёт координаты Z - хз, в пещере она везде 0. Я даже не экспериментировал с ней.


Top
   
PostPosted: 2014-06-01 21:56:26 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
А поставь, в изначальном варианте скрипта, перед ловушкой таргета wait(500)
Code:
            startTime = now()  
                    wait(500)           
            UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
            UO.UseType(PickAxeType)

_________________
CodeSweeper


Top
   
PostPosted: 2014-06-01 21:57:27 
Offline

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


Top
   
PostPosted: 2014-06-01 22:00:09 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
Ёшкин кот, копал, копал и выдал ошибку - Target cannot be seen.
Я сейчас верну оригинальное использование WTT и поставлю задержку.

А, ну это нормально. Проверять же на 0 надо.


Top
   
PostPosted: 2014-06-01 22:39:41 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
У меня такое ощущение что твоё предложение о wait перед WTT сработало :))))))))))))))


Top
   
PostPosted: 2014-06-01 22:44:45 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
Да, копает как проклятый. И все мессаги теперь приходят.

Кстати, обработайте эксепшн, когда кнопочкой отрубаю скрипт ,висящий в WaitForJournalText


Last edited by grundick on 2014-06-01 22:45:43, edited 1 time in total.

Top
   
PostPosted: 2014-06-01 22:45:27 
Offline

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

_________________
CodeSweeper


Top
   
PostPosted: 2014-06-01 22:49:59 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
В принципе и при wait(500) периодически проскакивают попытки копнуть без ответа. Сократил до 100, тоже такие фейлы случаются, гораздо чаще, но стабильно не больше одного раза, вполне играбельно :)


Top
   
PostPosted: 2014-06-01 22:54:23 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
Значит может даже больше 500 будет хорошо, подкрути на свое усмотрение. А пилить инжект... когда нибудь это случится)

_________________
CodeSweeper


Top
   
PostPosted: 2014-06-01 22:57:40 
Offline

Joined: 2006-11-25 17:44:44
Posts: 258
Ну охренеть, из-за такой мелочи я полдня возился и вас напрягал :)


Top
   
PostPosted: 2014-06-01 23:04:35 
Offline

Joined: 2011-05-23 00:33:30
Posts: 949
И саму задержку в принципе межно перенести сразу за строку
Code:
uo.WaitingForJournalText(startTime,10000,"0x7ACF9|0x7AD03|0x7A2DE|0x7A867|0x7AD00|0x7A197") 

И wait(2000) лишнее как по мне.

_________________
CodeSweeper


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 67 posts ]  Go to page Previous 1 2 3 4 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 32 guests


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