Пьяная походка - Drunked walking / вычисление точки встречи

Разработка новых функций.

Модератор: 4epT

ZorDen
Энтузиаст
Сообщения: 86
Зарегистрирован: Пт мар 02, 2007 7:28 pm
Контактная информация:

Сообщение ZorDen »

Эта наработка ещё актуальна? В последнюю сборку не встроили эту функцию?
lirikpl
Грамотный
Сообщения: 476
Зарегистрирован: Вс ноя 12, 2006 12:58 am

Сообщение lirikpl »

Раньше была актульно(пока она не у доброй половины ботоводов была),а теперь есть 2 вида походок
Первая ,походка бота.
Вторая- пьяная походка.
В общем пока атаку не поправят,с походками можно и не парится.
ZorDen
Энтузиаст
Сообщения: 86
Зарегистрирован: Пт мар 02, 2007 7:28 pm
Контактная информация:

Сообщение ZorDen »

Слышал, что после 2.0.0 версии поправили атаку (вроде как новый алгоритм и т.д.) это ложь?
Yoggy
Начинающий
Сообщения: 17
Зарегистрирован: Сб апр 07, 2007 12:10 pm

Сообщение Yoggy »

Если ещё надо - вот примерная реализация алгоритма поиска точки встречи. Прога на дельфях + исходники
Вложения
RO walk calc.rar
(180.34 КБ) 176 скачиваний
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Yoggy
СПС. Буду смотреть.
Аватара пользователя
Poring
Грамотный
Сообщения: 281
Зарегистрирован: Ср июн 27, 2007 1:43 pm

Сообщение Poring »

в опенкоре от ведро был такой. я скопировал,но походка не отличалась.там было hos(не how)_much_drinked 2
теперь заценил)))крута=)))) а он так и должен смешно пятится назад? :lol: 5+
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Poring
много выпил. отрезви немного. :lol: :lol: :lol:
Аватара пользователя
Poring
Грамотный
Сообщения: 281
Зарегистрирован: Ср июн 27, 2007 1:43 pm

Сообщение Poring »

:ROFL: ниасилил :ROFL:
Аватара пользователя
Cooot
Грамотный
Сообщения: 306
Зарегистрирован: Пт апр 25, 2008 8:02 am

Сообщение Cooot »

Внимательно прочитал тему и заинтересовался, могу попробовать выложить свои идеи насчет атаки в ближайшее время, не обещаю, что это очень скоро, но как допишу тоже програмку для тестов собственную, то выложу тут.

Хотелось бы все же довести хорошую идею до реализации.

P.S. Учитывалось ли при отнимании дистанции атаки от отрезка АВ, что в этот момент моб еще не в точке В и надо вносить поправку более сложную, чем просто вычитание длины?
Изображение
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Cooot
В принципе, алгоритм прямо наследовал поведение клиента.
Собственно мобы, не могут прервать свой путь ранее пришедший соответствующим пакетом, кроме вариантов когда их атакуют (тогда движение прерывается и вектор изменяется).

Собственно новый алгоритм вычисления точки соприкосновения должен работать во время, когда моб находится в движении. Вне зависимости от того, что он идёт прямо на нас или возле нас.
В случае если моб стоит, тогда вычисляется ближайшая точка в которую нам нужно стать.

Есть два варианта реализации:
1) Перебор точек с учётом дистанции которую нам нужно держать. Отсортировать время (разницу) когда мы подойдём на дистанцию атаки, и выбрать точку в которой мы наверняка подойдём к мобу на дистанцию атаки в кратчайший срок.
2) Использовать несложные математические условия для более точного нахождения точки соприкосновения.

Самое главное реализовать систему которая будет выдавать одинаковый результат в случае преждевренной остановки моба.
Аватара пользователя
Cooot
Грамотный
Сообщения: 306
Зарегистрирован: Пт апр 25, 2008 8:02 am

Сообщение Cooot »

Пробую второй способ, математический. Учел сообщения MFBeaST и картинку, что была нарисована в предыдущих постах, так же попробовав построить все формулы заново учитывая только координаты точек А, В и С и скорости движения (угол В рассчитывался заново через теорему косинусов). Вот для будущих выкладок образец обозначений, которые я принял в формулах:

т. А - положение бота на начало движения
т. В - положение моба на начало движения
т. С - точка назначения движения моба
т. D - точка предполагаемой встречи [пока что без учета дистанции атаки, поправку внесу позднее]

т. К, M, N, L - вспомогательные точки

Изображение
Изображение
Аватара пользователя
Cooot
Грамотный
Сообщения: 306
Зарегистрирован: Пт апр 25, 2008 8:02 am

Сообщение Cooot »

Начало моих вычислений. Дальше уже сосчитал, но пока что не уверен насчет одного момента.

Изображение
Изображение
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Cooot
Есть один момент. Что произойдёт, если моб уже двигается?
тогда точка Б будет смещается по вектору движения.
Вопрос тогда станет следующий: Дойдём ли мы до точки Д вовремя? и не будем ли мы менять свой вектор движения?
Аватара пользователя
Cooot
Грамотный
Сообщения: 306
Зарегистрирован: Пт апр 25, 2008 8:02 am

Сообщение Cooot »

Расчеты останутся верны, если для координат точки В использовать не {pos}, а realMonsterPos. Это надеюсь реализуемо?
Последний раз редактировалось Cooot Ср июл 16, 2008 2:06 pm, всего редактировалось 2 раза.
Изображение
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Cooot
возможно.
Ответить