Page 2 of 4
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 15:01:02
by Juicy Fruit
Code: Select all
UO.WaitTargetTile(uo.IsMineTile(UO.GetX()+x, UO.GetY()+Y), STR(UO.GetX()+x), STR(UO.GetY()+Y), z)
Тоже не сработает? Для первого варианта.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:10:37
by grundick
isMineTile что возвращает? массив? список? число в HEX системе? строку с числом в HEX представлении?
Так не работает, пишет Target cannot be seen.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:19:57
by Juicy Fruit
- Добавил комманды uo.IsMineTile(X,Y), uo.IsTreeTile(X,Y), uo.IsWaterTile(X,Y)
Осуществляют поиск тайлов пещер/скал, деревьев, воды в заданных координатах.
При удачном поиске возвращает строку с найденными тайлами, попадающими в диапазон поиска, иначе - возвращает пустую строку.
Но это при учете, что тайлы пещеры забиты в статику, а не созданные ГМом.
Список тайлов есть в теме с 2014 инжектом.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:22:28
by grundick
Аха, то есть мне эту строку ещё и парсить надо , если в ней больше одного тайла. А разделитель что? Пробел?
Врядли в минок пещере кто-то что-то правил. По крайней мере координата Z везде = 0, и по графике всё стандартно.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:28:06
by Juicy Fruit
Разделитель вроде бы запятая.
Я не находил еще тайлы в пещерах, где на 1 были несколько, несколько тайлов скорее к деревьям относится, т.к. там может учитываться листва.
Можешь принт в чат/текстовое окно этого тайла сделать для проверки.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:30:25
by grundick
Да я делал, возвращает HEX тайла. Но почему-то он не прокатывает в WaitTargetTile. WTT вообще способен HEX принимать как параметр?
Ещё странная вещь : пытался результат IsMineTile() в DEC перевести с помощью hex2int - ошибку выдаёт.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:36:00
by Juicy Fruit
Опа, atoi отказывается переводить HEX в число.
Вариант:
Code: Select all
uo.print('DEC tile='+str( uo.Hex2Int( uo.IsMineTile(uo.getx(), uo.gety()) ) ))
uo.print('HEX tile='+uo.IsMineTile(uo.getx(), uo.gety()))
Мне перевело сейчас.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:43:31
by grundick
Да, это работает. Не думал что INT надо ещё и в строку перевести, прежде чем передать в WaitTargetTile.
такие моменты нигде не документированы, вот и начинается секас на ровном месте.
Однако работает условно, оригинальная проблема никуда не исчезла

Что , вообщем-то , и не удивительно. Тип тайла и так правильно передавался.
Кстати, у меня тут ещё в injection_log пишет ***Error: MulReader::failed to load verdata.mul . Может как-то связано?
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:50:34
by Juicy Fruit
Кхм, в строку не обязательно переводить вроде бы, для отправки в WTT, как и в остальные фукнции, которые не возвращают значения. Перевод чисел в строки в инжекте давно уже делается (должен) автоматом.
Странно) Можешь скинуть тестовый акк в личку? Завтра вечером если не занят буду - тоже посмотрю что за дела творятся. Или там авторег? Версия клиента?
Кстати, Z координата играет роль?
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:53:47
by grundick
Там авторег, клиент 5.0.9.1 .
Насчёт координаты Z - хз, в пещере она везде 0. Я даже не экспериментировал с ней.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:56:26
by Incorrect User
А поставь, в изначальном варианте скрипта, перед ловушкой таргета wait(500)
Code: Select all
startTime = now()
wait(500)
UO.WaitTargetTile(TileNum,STR(UO.GetX()+x),STR(UO.GetY()+Y),z)
UO.UseType(PickAxeType)
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 21:57:27
by Juicy Fruit
Не, ошибка загрузки вердаты роли не играет. 5 клиент разьве еще использует вердату?
Вердата может играть роль при расчете поиска пути, если в ней забиты мульти.
С ошибкой загрузки вердаты уже разобрался, надо только дождаться релиза, который неизвестно когда будет.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 22:00:09
by grundick
Ёшкин кот, копал, копал и выдал ошибку - Target cannot be seen.
Я сейчас верну оригинальное использование WTT и поставлю задержку.
А, ну это нормально. Проверять же на 0 надо.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 22:39:41
by grundick
У меня такое ощущение что твоё предложение о wait перед WTT сработало

)))))))))))))
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 22:44:45
by grundick
Да, копает как проклятый. И все мессаги теперь приходят.
Кстати, обработайте эксепшн, когда кнопочкой отрубаю скрипт ,висящий в WaitForJournalText
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 22:45:27
by Incorrect User
Если будет нормально работать, можно задержку оптимизировать, срезай по -100 до тех пор пока не подберешь оптимальное значение.
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 22:49:59
by grundick
В принципе и при wait(500) периодически проскакивают попытки копнуть без ответа. Сократил до 100, тоже такие фейлы случаются, гораздо чаще, но стабильно не больше одного раза, вполне играбельно

Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 22:54:23
by Incorrect User
Значит может даже больше 500 будет хорошо, подкрути на свое усмотрение. А пилить инжект... когда нибудь это случится)
Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 22:57:40
by grundick
Ну охренеть, из-за такой мелочи я полдня возился и вас напрягал

Re: Странная хрень у меня на РанУО
Posted: 2014-06-01 23:04:35
by Incorrect User
И саму задержку в принципе межно перенести сразу за строку
Code: Select all
uo.WaitingForJournalText(startTime,10000,"0x7ACF9|0x7AD03|0x7A2DE|0x7A867|0x7AD00|0x7A197")
И wait(2000) лишнее как по мне.