Страница 1 из 1
Не реагировать на мобов использующих хайд.
Добавлено: Ср апр 27, 2011 7:32 pm
Будёный
Собственно сабж.
Бесит когда бот подходит к пустому месту и ждет пока оттуда, из хайда, вынырнет обсидеант. Если ты не видел как он схайдился, значит впе или кора, соответственно палево.
Есть варианты вылечить бота?
Re: Не реагировать на мобов использующих хайд.
Добавлено: Ср апр 27, 2011 7:47 pm
EternalHarvest
Есть, сделать проверку статуса в алгоритме выбора новой цели для атаки.
Re: Не реагировать на мобов использующих хайд.
Добавлено: Чт апр 28, 2011 10:38 am
Будёный
EternalHarvest
эээ... помедленнее я записсываю...
Можно как для идиота? где эта кнопка?
![Crazy :crazy:](./images/smilies/crazy.gif)
Re: Не реагировать на мобов использующих хайд.
Добавлено: Чт апр 28, 2011 12:43 pm
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')
Re: Не реагировать на мобов использующих хайд.
Добавлено: Чт апр 28, 2011 6:26 pm
Будёный
Нука патестим.
Добавлено спустя 14 минут 8 секунд:
Чот у меня не робит? Моб прыгает в хайд а бот встает рядом и ждет его.
Re: Не реагировать на мобов использующих хайд.
Добавлено: Чт апр 28, 2011 6:31 pm
EternalHarvest
Будёный писал(а):Моб прыгает в хайд а бот встает рядом и ждет его.
Когда уже началась атака? Ну это уже надо в обработке процесса атаки проверять статус постоянно, и останавливать атаку.
Re: Не реагировать на мобов использующих хайд.
Добавлено: Чт апр 28, 2011 6:47 pm
Будёный
EternalHarvest
Непосредственно приступить не успевал, соответственно моб не агрился.
EternalHarvest писал(а):Ну это уже надо в обработке процесса атаки проверять статус постоянно, и останавливать атаку.
Я тебе на все 100 балов верю, но всеравно не умею это настраивать. ну поконкретнее пожалуйста.
Re: Не реагировать на мобов использующих хайд.
Добавлено: Чт апр 28, 2011 6:56 pm
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);
}
Re: Не реагировать на мобов использующих хайд.
Добавлено: Чт апр 28, 2011 8:37 pm
Будёный
Код: Выделить всё
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: Не реагировать на мобов использующих хайд.
Добавлено: Чт май 05, 2011 9:21 am
Будёный
Вопрс не решен.
Ап!