Closed LifeMoroz closed 10 years ago
Не совсем понял описываемую проблему. Пока текущий моб не убит переключения на nexttarget не происходит. Если мы будем всегда переключаться по nexttarget, а не по списку мобов для атаки - это совершенно нормальное поведение. Мы не можем гарантировать, что моб, в радиусе команды nexttarget не сагрился, поэтому его надо убить.
Рад вашему интересу к проекту! Если есть предложения по улучшению алгоритмов, готов их рассмотреть и включить в код.
Проблема не в переключении. Вы вызываете Attack() она рано или поздно вызовет NextAttack(), которая вызовет Attack() и так будет до бесконечности, при условии что боты будут ресаться достаточно быстро. Я чего-то не знаю про рекурсию в autoIt? Мне что то подсказывает что в итоге стэк вызовов переполнится
Да, вы совершенно правы. Возможно переполнение стека. Алгоритм должен быть исправлен.
Коммит, исправляющий проблему: https://github.com/ellysh/l2bot/commit/73eafc1097ccfab255e522be55e6f15b753f6e83
Перекрестная рекурсия? А если спаун мобов будет настолько частый, что всегда будет nexttarget? Переполнение гарантировано. Attack <> NextAttack source / attack.au3