Страница 1 из 2

Бот теряет цель и ходит взад-вперёд/ищется разумное решение

Добавлено: Вт янв 30, 2007 2:11 pm
Antarx
Суть проблемы вот в чём: ходит бот-арч по пересечённой местности, в какой-то момент видит цель на горе, пытается пойти её атаковать, после чего, естественно, он её теряет, и идёт, куда шёл до этого, в результате опять видит ту же цель и повторяет сначала...

От attackMaxRouteDistance и attackCheckLOS этот процесс особо не зависит.

Единственная разумная мысль, которая мне пришла в голову для решения этой проблемы - делать ai clear после Target lost (тут тоже возникли проблемы, потому как приличной документации по doCommand не наблюдается, а макросом чистить ai нельзя, и пришлось лезть в код кора, но это мелочи...).

Вопрос в следующем: я чего-то не понимаю и проблема решается прописыванием пары параметров в конфиге? И если нет, то можно ли её решить несколько менее грубым путём (зачастую прописанного расстояния для атаки хватает, чтобы убить моба, не идя долгий путь; кроме того, с 50% вероятностью бот ещё раз увидит ту "недоступную" цель)?

Решение, подсказанное Sauron'ом:

Код: Выделить всё

automacro targetLost {
  console /Target lost/
  call {
    do as
  }
}
Проблемы не решает, т.к. цель ходьбы не сбрасывается...

PS Ну и просто дурацкий вопрос: какое на самом деле реальное расстояние атаки арча с +10 к дальности?

Добавлено: Вт янв 30, 2007 2:41 pm
Прохожий
attackMaxRouteDistance [<number>]
If this option is set, Kore will not move any more than the specified number of blocks to engage the target. This is used to prevent Kore from walking around long cliffs/walls just to attack a monster.

Добавлено: Вт янв 30, 2007 2:44 pm
Antarx
Прохожий
гений! а теперь прочти вторую строчку поста... Если по-твоему когда стоит attackMaxRouteDistance 10 он никуда бежать не будет - запусти хоть раз Кор...

Добавлено: Вт янв 30, 2007 2:45 pm
Sauron
а от чего тогда зависит?

Добавлено: Вт янв 30, 2007 2:47 pm
Antarx
Sauron
Блин, спасибо, не совсем тупой... Кроме того, не просто так в посте об этом написано. Диапазон проверенных значений - от 5 до 500. Особой разницы нет

Добавлено: Вт янв 30, 2007 2:47 pm
Прохожий
Antarx писал(а):Прохожий
гений! а теперь прочти вторую строчку поста... Если по-твоему когда стоит attackMaxRouteDistance 10 он никуда бежать не будет - запусти хоть раз Кор...
Если верить доке то да, гений.
Предпологается, сколько бот пройдёт для атаки цели после её обнаружения, да?

Добавлено: Вт янв 30, 2007 2:53 pm
Antarx
Прохожий
Как ты думаешь:
1) Умею ли я читать?
2) Знаю ли я в достаточной мере английский/умею ли я в случае надобности пользоваться переводчиками?
3) Тестилась ли мной реальная (а не написанная в доке) работа этого параметра?

Re: Бот теряет цель и ходит взад-вперёд/есть ли разумное решение

Добавлено: Вт янв 30, 2007 3:00 pm
Sauron
Antarx писал(а):Единственная разумная мысль, которая мне пришла в голову для решения этой проблемы - делать ai clear после Target lost
teleportAuto_lostTarget 1.. а он точно пишет что потерял цель?

Добавлено: Вт янв 30, 2007 3:03 pm
Прохожий
Antarx
1, 2, 3 - нет.
Ты ставишь attackMaxRouteDistance 5.
Бот видит моба, атака не получается. Бот идёт 5 клеток - моб пропал из виду. Бот теряет цель, продолжает маршрут и видит моба...

Добавлено: Вт янв 30, 2007 3:08 pm
Antarx
Sauron
мда... мне вингов жалко... (в смысле всё-таки хочется разумное решение проблемы)

он пишет только Target lost, что вообщем-то написано в посте...

PS Мне всё-таки кажется, что нужно поправить ai/attack.pm; вот только, не являясь девелопером Кора и совершенно не зная перла и внутренней структуры Кора, я совсем не представляю, как это сделать (пока что только после выдачи target lost в том файле добавил код, обрабатывающий ai clear)

Прохожий
Поверь, он проходит больше 5 клеток, не теряя цель.
Если 1,2,3 - нет - то пнх; честно, твоя помощь тут не нужна...

Добавлено: Вт янв 30, 2007 3:25 pm
Sauron
смотри тему про моба в хайде, там вроде есть решение...

automacro Targetlost {
console /Target lost/
call {
do as
}
}

Добавлено: Вт янв 30, 2007 3:39 pm
Прохожий
Antarx писал(а):Прохожий
Поверь, он проходит больше 5 клеток, не теряя цель.
Если 1,2,3 - нет - то пнх; честно, твоя помощь тут не нужна...
Если он проходит более 5 клеток, тогда дока не верна. И тогда как смеешь ты, вот лично ты, посылать новичков читать доку? Да, и "пнх" - не аргумент. Я могу возразить, что я мол не телепат, неугадаю что ты тестил а что нет, да? :lol: А говорит это лишь о том, что ты тот, у которого кончились аргументы. Свободен.

Добавлено: Вт янв 30, 2007 3:47 pm
Antarx
Sauron
вопрос: сразу было не сказать, что помимо ai clear есть as?

Да, всё-таки вопрос о реальной дальности атаки остаётся открытым...

UPD: Нифига не работает, проблема ровно та же: видит монстра на горе, идёт к нему, теряет, убирает из списка целей, снова идёт к давно назначенному вейпойнту, по дороге опять видит того монстра итд...

Прохожий
Умение читать - довольно важный навык по жизни... Рекомендую приобрести... Также как и мозг :wink:

Добавлено: Вт янв 30, 2007 6:19 pm
Antarx
"Доктор, помогите, меня все игнорируют" © бородатый анекдот

По сабжу: к решению проблемы весь этот топик не продвинул ни на шаг... Неужели то грубое решение в первом посте (от меня, а не Sauron'а, естественно) - единственное, что могут предложить местные знатоки Кора?

Добавлено: Вт янв 30, 2007 7:03 pm
Sauron
Antarx, к сожалению, я не могу потестить в реальных условиях.. у меня нет дистанционных ботов.. я думаю, что вопрос, все равно должен быть разрешим средствами конфига (дальность атаки, принудительная дистанция и всё такое) .. по крайней мере, я не испытывал никаких трудностей в лабиринтах тутанхамона.. (сфинкс, пирамида).. и естественно, мой пример лишь для доказательства того, что потеря и отказ от цели не является решением задачи..