Не реагировать на мобов использующих хайд.

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

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

Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Аватара пользователя
Будёный
Энтузиаст
Сообщения: 79
Зарегистрирован: Вт сен 14, 2010 9:16 am
Сервер RO:: rRO

Не реагировать на мобов использующих хайд.

Сообщение Будёный »

Собственно сабж.
Бесит когда бот подходит к пустому месту и ждет пока оттуда, из хайда, вынырнет обсидеант. Если ты не видел как он схайдился, значит впе или кора, соответственно палево.

Есть варианты вылечить бота?
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Не реагировать на мобов использующих хайд.

Сообщение EternalHarvest »

Есть, сделать проверку статуса в алгоритме выбора новой цели для атаки.
Аватара пользователя
Будёный
Энтузиаст
Сообщения: 79
Зарегистрирован: Вт сен 14, 2010 9:16 am
Сервер RO:: rRO

Re: Не реагировать на мобов использующих хайд.

Сообщение Будёный »

EternalHarvest
эээ... помедленнее я записсываю... :shock:
Можно как для идиота? где эта кнопка? :crazy:
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Не реагировать на мобов использующих хайд.

Сообщение EternalHarvest »

AI::CoreLogic::processAutoAttack

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

	my $control = mon_control($monster->{name});
	if (!AI::is(qw/sitAuto take items_gather items_take/)
	 && $config{'attackAuto'} >= 2
	 && ($control->{attack_auto} == 1 || $control->{attack_auto} == 3)
	 && (!$config{'attackAuto_onlyWhenSafe'} || isSafe())
	 && !$ai_v{sitAuto_forcedBySitCommand}
	 && ($attackOnRoute >= 2 || $LOSSubRoute)
	 && !$monster->{dmgFromYou}
	 && timeOut($monster->{attack_failed}, $timeout{ai_attack_unfail}{timeout})) {
		push @cleanMonsters, $_;
	}
Добавляем в условия что-нибудь вроде:

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

	&& !$monster->statusActive('EFST_HIDING, EFST_CLOAKING, EFFECTSTATE_HIDING, EFFECTSTATE_SPECIALHIDING')
Аватара пользователя
Будёный
Энтузиаст
Сообщения: 79
Зарегистрирован: Вт сен 14, 2010 9:16 am
Сервер RO:: rRO

Re: Не реагировать на мобов использующих хайд.

Сообщение Будёный »

Нука патестим.

Добавлено спустя 14 минут 8 секунд:
Чот у меня не робит? Моб прыгает в хайд а бот встает рядом и ждет его.
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Не реагировать на мобов использующих хайд.

Сообщение EternalHarvest »

Будёный писал(а):Моб прыгает в хайд а бот встает рядом и ждет его.
Когда уже началась атака? Ну это уже надо в обработке процесса атаки проверять статус постоянно, и останавливать атаку.
Аватара пользователя
Будёный
Энтузиаст
Сообщения: 79
Зарегистрирован: Вт сен 14, 2010 9:16 am
Сервер RO:: rRO

Re: Не реагировать на мобов использующих хайд.

Сообщение Будёный »

EternalHarvest
Непосредственно приступить не успевал, соответственно моб не агрился.
EternalHarvest писал(а):Ну это уже надо в обработке процесса атаки проверять статус постоянно, и останавливать атаку.
Я тебе на все 100 балов верю, но всеравно не умею это настраивать. ну поконкретнее пожалуйста.
Последний раз редактировалось Будёный Чт апр 28, 2011 7:16 pm, всего редактировалось 1 раз.
EternalHarvest
Разработчик
Сообщения: 819
Зарегистрирован: Пн окт 27, 2008 9:49 pm

Re: Не реагировать на мобов использующих хайд.

Сообщение EternalHarvest »

AI::Attack

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

sub shouldGiveUp {
	my $args = AI::args;
+	if (Actor::get($args->{ID})->statusActive('EFST_HIDING, EFST_CLOAKING, EFFECTSTATE_HIDING, EFFECTSTATE_SPECIALHIDING')) {
+		message "Dropping hidden target\n";
+		return 1;
+	}
	return !$config{attackNoGiveup} && (timeOut($args->{ai_attack_giveup}) || $args->{unstuck}{count} > 5);
}
Аватара пользователя
Будёный
Энтузиаст
Сообщения: 79
Зарегистрирован: Вт сен 14, 2010 9:16 am
Сервер RO:: rRO

Re: Не реагировать на мобов использующих хайд.

Сообщение Будёный »

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

Unknown #64180 uses Спрятаться on self (Lv: 65535)
Target died
You are now attacking Monster Обсидиан (1)
Item Exists: Ржавый шуруп (0) x 1
Can't reach or damage target, dropping target
Unknown #64168 is casting Спрятаться on self (Delay: 500ms)
Я плакаю

Добавлено спустя 1 час 14 минут 52 секунды:
Будёный писал(а):

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

Unknown #64180 uses Спрятаться on self (Lv: 65535)
Target died
You are now attacking Monster Обсидиан (1)
Item Exists: Ржавый шуруп (0) x 1
Can't reach or damage target, dropping target
Unknown #64168 is casting Спрятаться on self (Delay: 500ms)
Я плакаю
В смысле он продолжает отачить "пустоту"
Аватара пользователя
Будёный
Энтузиаст
Сообщения: 79
Зарегистрирован: Вт сен 14, 2010 9:16 am
Сервер RO:: rRO

Re: Не реагировать на мобов использующих хайд.

Сообщение Будёный »

Вопрс не решен.
Ап!
Ответить