206SVN6458-трабла с защитой сопартийца

Общие вопросы по OpenKore обсуждаются здесь. Можно сказать, что это - основной раздел форума.
Возник вопрос? Вам сюда.

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

206SVN6458-трабла с защитой сопартийца

Сообщение Rumata »

206SVN6458 -сборка

если играют атакер и прист (атакер - бот), то когда моб атакует приста, контактник в большинстве случаев ничего не делает - просто тупо стоит и смотрит и у него горит 'attack, route', если пошевелить приста то контактник оживает, в предидущей сборке (потестил щас) загорается наоборот 'route, attack' и все оки пашет.

проверял на контактниках и лучниках, с лучниками все норм.
Аватара пользователя
Aib0
Бывалый
Сообщения: 961
Зарегистрирован: Чт ноя 16, 2006 12:50 am
Контактная информация:

Сообщение Aib0 »

а вот у меня наоборот косяк... что-то не пашет хант+прист... надо тестить
Wtf is "OpenKore"?

"What we're dealing with here is a total lack of respect for the law"
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

вобчем когда начинают бить сопартийца - идут какие то глюки, хрень млинн, пошел копать аи
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

вобчем по идее проблема в проверке LOS (линия взгляда), когда прист становиться на этой линии между мобов и контактником - контактник тупит, пока прист с этой линии не сойдет

было

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

		### Step 2: Pick out the "best" monster ###

			# We define whether we should attack only monsters in LOS or not
			if (!$config{attackCheckLOS} || $LOSSubRoute) {
				$attackTarget = getBestTarget(\@aggressives, 1);
				if (!$attackTarget) {
					$attackTarget = getBestTarget(\@partyMonsters, 1);
				}
			} elsif ($config{attackCheckLOS}) {
				$attackTarget = getBestTarget(\@aggressives);
				if (!$attackTarget) {
					$attackTarget = getBestTarget(\@partyMonsters);
				}
			}
стало

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

			my $nonLOSNotAllowed = !$config{attackCheckLOS} || $LOSSubRoute;
			$attackTarget = getBestTarget(\@aggressives, $nonLOSNotAllowed)
							|| getBestTarget(\@partyMonsters, $nonLOSNotAllowed)
							|| getBestTarget(\@cleanMonsters, $nonLOSNotAllowed);
кто в перле шарит - почему если в кофиге $config{attackCheckLOS} = 0 все равно идут какие то глюки, эх и даааа да тут все изменено :(

Добавлено спустя 52 минуты 28 секунд:

народ, кто учавствовал при написании аи атаки - что так сильно изменили, где лучше смотреть? ситуция такая - (потестил многа и нудна):

А(атакер)--вплотную--П(прист)---вплотную--М(моб) все на одной линии

оХо
АПМ
оХо

атакер стоит и тупит, прист стоит и получает по башке, это продолжается пока прист не сдохнет (при таком раскладе такая ситуация складывается ВСЕГДА).

пользуя предыдущую сборку атакер делает шаг в точку Х и бьет моба.

думаю проблема серьезная- помогите разобраться, новую сборку я пока кинул в топку....
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

в продолжении темы - вот что выдает лучгик в новой сборке

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

No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
No LOS from (40, 203) to target (36, 206); moving to (40, 203)
и какого батюшки бафомета, он пытается двинуться с одной точки в туже точку едрить?!!!

зы моб стоял за деревом, будь это неподвижный моб - так они бы и стояли до 1го пришествия ГМа, я не оч понимаю у всех все норм чтоли?

Добавлено спустя 36 минут 16 секунд:

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

		# Move to the closest spot
		my $msg = "No LOS from ($realMyPos->{x}, $realMyPos->{y}) to target ($realMonsterPos->{x}, $realMonsterPos->{y})";
		if ($best_spot) {
			message TF("%s; moving to (%s, %s)\n", $msg, $best_spot->{x}, $best_spot->{y});
			if ($config{attackChangeTarget} == 2) {
				# Restart attack from processAutoAttack
				AI::dequeue;
				ai_route($field{name}, $best_spot->{x}, $best_spot->{y}, LOSSubRoute => 1);
			} else {
				ai_route($field{name}, $best_spot->{x}, $best_spot->{y});
			}
я херею с каких пор attackChangeTarget может равняться 2?!!!
Rumata
Грамотный
Сообщения: 235
Зарегистрирован: Ср фев 14, 2007 10:52 am

Сообщение Rumata »

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

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

No LOS from (210, 210) to target (215, 220); moving to (210, 212)
Ответить