Не реагировать на мобов использующих хайд.
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Не реагировать на мобов использующих хайд.
Собственно сабж.
Бесит когда бот подходит к пустому месту и ждет пока оттуда, из хайда, вынырнет обсидеант. Если ты не видел как он схайдился, значит впе или кора, соответственно палево.
Есть варианты вылечить бота?
Бесит когда бот подходит к пустому месту и ждет пока оттуда, из хайда, вынырнет обсидеант. Если ты не видел как он схайдился, значит впе или кора, соответственно палево.
Есть варианты вылечить бота?
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: Не реагировать на мобов использующих хайд.
Есть, сделать проверку статуса в алгоритме выбора новой цели для атаки.
Re: Не реагировать на мобов использующих хайд.
EternalHarvest
эээ... помедленнее я записсываю...
Можно как для идиота? где эта кнопка?
эээ... помедленнее я записсываю...
Можно как для идиота? где эта кнопка?
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: Не реагировать на мобов использующих хайд.
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')
Re: Не реагировать на мобов использующих хайд.
Нука патестим.
Добавлено спустя 14 минут 8 секунд:
Чот у меня не робит? Моб прыгает в хайд а бот встает рядом и ждет его.
Добавлено спустя 14 минут 8 секунд:
Чот у меня не робит? Моб прыгает в хайд а бот встает рядом и ждет его.
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: Не реагировать на мобов использующих хайд.
Когда уже началась атака? Ну это уже надо в обработке процесса атаки проверять статус постоянно, и останавливать атаку.Будёный писал(а):Моб прыгает в хайд а бот встает рядом и ждет его.
Re: Не реагировать на мобов использующих хайд.
EternalHarvest
Непосредственно приступить не успевал, соответственно моб не агрился.
Непосредственно приступить не успевал, соответственно моб не агрился.
Я тебе на все 100 балов верю, но всеравно не умею это настраивать. ну поконкретнее пожалуйста.EternalHarvest писал(а):Ну это уже надо в обработке процесса атаки проверять статус постоянно, и останавливать атаку.
Последний раз редактировалось Будёный Чт апр 28, 2011 7:16 pm, всего редактировалось 1 раз.
-
- Разработчик
- Сообщения: 819
- Зарегистрирован: Пн окт 27, 2008 9:49 pm
Re: Не реагировать на мобов использующих хайд.
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);
}
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)
Re: Не реагировать на мобов использующих хайд.
Вопрс не решен.
Ап!
Ап!