Page 10 of 22
Posted: 2006-04-17 01:06:35
by DerMeister =)
Grin wrote:Хорошие новости;)
В скором времни добавлю процедуру
pathfind(x0, y0, z0, x1, y1, z1, xz, prec)
соответственно кординаты начала и конца...
теперь обстоит вопрос делема... функция выстраивает маршрут... и что сним делать? передать на растерзание в модуль? или уже програмно реализовывать хождение по нему?
По мне так первый интересней;)
Собственно, а зачем координаты начала?
xz-это твой юмор или что?

Posted: 2006-04-17 01:22:53
by Grin
ну если ты чита внимательно весь этот бред что тут пишут то ты мог увидить пару моих постов о том что была найдена само что не наесть процедура которая строит маршрут до точки... и это ее особенности что она умеет расчитывать путь между 2 точками... помойму это большой плюс... унее есть точность (насколько близко подойти), а xz это параметр который отвечает за добросовестность процедуры...
чем он больше тем больше шанс что путь будет найден... по умолчанию клиент всегда туда 500 пихал
как это соотносится и счем не вникал особо... но чем больше тем больше ресурсов хавается

Posted: 2006-04-17 01:27:55
by DerMeister =)
Теперь понял, прикольно... только получается что такой пасфайнд будет находить путь, но ходить самим чаром не сможет...
Тогда вопрос: зачем это нужно?

Posted: 2006-04-17 01:37:07
by Grin
гррр... ты про вариант Точка->Точка то это задел на будущие... Может комуто понадобитмя определять а можно ли ВОН ТАМ пройти какнибудь ВОН ТУДА... А если про вариант Чар->Точка то извеняй ты меня так скоро доведешь;)
Posted: 2006-04-17 01:59:13
by DerMeister =)
Grin wrote:гррр... ты про вариант Точка->Точка то это задел на будущие... Может комуто понадобитмя определять а можно ли ВОН ТАМ пройти какнибудь ВОН ТУДА... А если про вариант Чар->Точка то извеняй ты меня так скоро доведешь;)
Ну естесьно я про "точка->точка"
Кстати, почему-то у меня очень часто инжект ресенд делает... Это на пачфайнд может как нибудь влиять?
Posted: 2006-04-17 13:22:26
by Grin
поповоду ресендов это к ёко... это его баг...
это может влиять на текущую обстановку сам клиент может не правельно расположить твоего чара;) а ресенд тебе поможет еще раз обдумать все заново;)))
Posted: 2006-04-21 00:17:09
by Grin
Свершилось руки дошли до трасировки...
pathfind(x, y, z, x`, y`, z`, 500, prec)
x, y, z -начальная точка пути
x`, y`, z`-конечная точка
prec-точность подхода
Функция возвращает
ССЫЛКУ на двумерный масив...
Вмасиве точки отсортированы с конца пути, тоесть [0] это конечная точка, заканчивается масив начальной точкой. Будте внимательны;)
Пример ходилки:
Code: Select all
sub smartmove($$$$){
my($myx, $myy, $i, $div, @a);
$myx=uo::getx();
$myy=uo::gety();
@a=@{pathfind($myx, $myy, uo::getz(), $_[0], $_[1], $_[2], 500, $_[3])};
for ($i=scalar(@a)-1; $i>=0; $i--){
$myx-=@a[$i]->[0];
$myy-=@a[$i]->[1];
$div=abs($myx)+abs($myy);
if ($div){
uo::addstep(((5+4*$myy)*abs($myy)+(5+2*$myx)*abs($myx))/($div));
}
while ((uo::getx()!=@a[$i]->[0]) or (uo::gety()!=@a[$i]->[1])){
&wait(100);
}
$myx=uo::getx();
$myy=uo::gety();
}
return scalar(@a);
}
Posted: 2006-04-21 08:14:18
by dmitrykit
vo.. maladech, vse ochenj kruto
P.S. sintaksis zavernul kone4no ne dlja novi4kov
nnu glavnoje 4tob rabotalo

Posted: 2006-04-21 08:15:51
by Slam FW
дайте потестить прогу=)
Posted: 2006-04-21 10:51:09
by dmitrykit
Slam FW wrote:дайте потестить прогу=)
prochti vnimateljno toppic, na mojem forume est' vse. dlja osobo lenivyh vot adress:
[url]pinject.darkuo.ru[/url]
Posted: 2006-04-21 14:26:39
by Grin
Версии вы кладываются в реальном времени и все в публичный тест. все ссылки в самом первом посте этотого топика
Posted: 2006-04-21 22:31:09
by admir
а патфанлинг ? может тогда уж сразу 2 функции одна патфиндинг как раньгше другая эта ?
адд степ что0то не сильно радует
Posted: 2006-04-21 22:36:15
by Grin
нашлась замена старому pathfind но нерадует что ей нельзя выставить точность
Но это лутше чем старая;)
Posted: 2006-04-21 23:39:09
by doomstar
Мужики, у меня пара вопросов и одно предложение
1) Почему
http://pinject.darkuo.ru/ постоянно лежит? Если с хостингом траблы, могу помочь )
2) Я никак не могу разобраться как надо ловить функцию pathfind в клиенте. Я вообще человек не глупый - программить могу норм, но вот с асмом никогда не работал... Я не знаю ни как ловить ни что ловить... Пожалуйста, если возможно, напишите гайд по этому делу.
Я играю на шарде, где клиент должен быть 4.x.x и выше. В частности я играю на 402a + LowCPU + rise.
Я скачал толпу дебагеров, тыкал их на протяжении часа, но понял, что я перед ними бессилен.
ХЭЭЭЭЛП!!
3) В клиенте есть маза (в 402a точно есть) , что если зажать правый Alt и потом ткнуть левой капой мыши на другого чара, то появится надпись "Now following" и мой чар бежит за тем чаром.
Предложение: замутить функцию (также как вы замутили с findpath) follow(id). Типа кинул таргет, нажал капу и сразу прицепился к этому челу ))) А то руками это делать очень неудобно
Posted: 2006-04-21 23:42:22
by DerMeister =)
doomstar wrote:Мужики, у меня пара вопросов и одно предложение
1) Почему
http://pinject.darkuo.ru/ постоянно лежит? Если с хостингом траблы, могу помочь )
2) Я никак не могу разобраться как надо ловить функцию pathfind в клиенте. Я вообще человек не глупый - программить могу норм, но вот с асмом никогда не работал... Я не знаю ни как ловить ни что ловить... Пожалуйста, если возможно, напишите гайд по этому делу.
Я играю на шарде, где клиент должен быть 4.x.x и выше. В частности я играю на 402a + LowCPU + rise.
Я скачал толпу дебагеров, тыкал их на протяжении часа, но понял, что я перед ними бессилен.
ХЭЭЭЭЛП!!
3) В клиенте есть маза (в 402a точно есть) , что если зажать правый Alt и потом ткнуть левой капой мыши на другого чара, то появится надпись "Now following" и мой чар бежит за тем чаром.
Предложение: замутить функцию (также как вы замутили с findpath) follow(id). Типа кинул таргет, нажал капу и сразу прицепился к этому челу ))) А то руками это делать очень неудобно
Это во всех клиетах есть... И про это уже здесь писали (прям в этом топике!!!)
Posted: 2006-04-21 23:49:13
by DerMeister =)
На счёт форума ХЗ, когда всё в одной теме (как здесь) не удобно...
Еслиб на заглавной странице создать отдельный раздел форума тогда да, будет кул

Posted: 2006-04-22 00:09:57
by Grin
Форум не моя прихоть;)
Ёко я никак не могу отловить... Собственно мне он нужен побольшей части из за исходников...
Поповоду поисков...
То что я писал ранее что нашел замену... короче это окозалась дебаг процедуа разработчиков... так они решали проверить как все работает.. в итоге очень забавная картина№)
в остальных версиях я ее просто не нашел...
Что имеется на даный момент... Есть трейсер работающий... И есть функция патч файдинга от экраных координат..
Собствено с этим выуже столкнулись но последняя функция работает странно и порой не доходит доконца... я предложил использовать трейсер..
Тоесть квам в руки падает массив точек куда чар должен наступить что бы дойти до места... а уже как вы реализуете проход этого маршрута зависет от вас..
Теперь как найти эту функцию...
53 55 56 57 33 FF 6A 50 6A 01 89 3D 64 93 CC 00
Это первые 16 байт функции трейсера(pathfind) в различных версиях они могут отличаться... но первые гдето 8 должны совпасть во всех..
теперь ищем какимнибудь хэкс редактором в клиенти эти байты..
Как нашли берем смещение относительно начала файла и плюсуем 0х00400000
Posted: 2006-04-22 00:29:48
by DerMeister =)
Grin wrote:Форум не моя прихоть;)
Ёко я никак не могу отловить... Собственно мне он нужен побольшей части из за исходников...
Поповоду поисков...
То что я писал ранее что нашел замену... короче это окозалась дебаг процедуа разработчиков... так они решали проверить как все работает.. в итоге очень забавная картина№)
в остальных версиях я ее просто не нашел...
Что имеется на даный момент... Есть трейсер работающий... И есть функция патч файдинга от экраных координат..
Собствено с этим выуже столкнулись но последняя функция работает странно и порой не доходит доконца... я предложил использовать трейсер..
Тоесть квам в руки падает массив точек куда чар должен наступить что бы дойти до места... а уже как вы реализуете проход этого маршрута зависет от вас..
Теперь как найти эту функцию...
53 55 56 57 33 FF 6A 50 6A 01 89 3D 64 93 CC 00
Это первые 16 байт функции трейсера(pathfind) в различных версиях они могут отличаться... но первые гдето 8 должны совпасть во всех..
теперь ищем какимнибудь хэкс редактором в клиенти эти байты..
Как нашли берем смещение относительно начала файла и плюсуем 0х00400000
Я походу туплю...

Адреса строк в файле в шестнадцатиричном формате, да?
Posted: 2006-04-22 00:36:06
by Grin
непонял...
Те 16 бит записаны в хексе..
Аесли ты про смешение... ты как планируешь 16-ое число складывать с 10-ым?
все зависет от той проги который тысмотришь.. она может выдвать смешение может и не выдавать... а может выдавать так в 10 так и в 16...
я пользуюсь УльттраЕдитом там и редактор и все все все;) очень быстрый и удобный;)
P.S. Прям реклама какаято;)))
Posted: 2006-04-22 00:45:42
by DerMeister =)
Вощем понял...
Только вот впрос: 0х00400000 - это в ХЕКС иди нет? Потомучто мой хексредактор номера в шестнадцатиричной системе показыват...[/img]