Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
GuardInstance & AI Guard
#1
Проблема такая, по задумке - гварды должны атаковать вражескую фракцию и не бить свою, так и есть, но бывает так, после того как убьют врага, переключает атаку на игрока своей фракции, так быть не должно.
Яву не особо хорошо знаю, но код вроде как верный, может быть что-то упустил, посмотрите пожалуйста, подскажите, где может быть проблема ?
AI Ranger

FactionRanger AI собственно который прописан у гварда

ну и GuardInstance
Ответ
#2
Enjoooy Написал:Проблема такая, по задумке - гварды должны атаковать вражескую фракцию и не бить свою, так и есть, но бывает так, после того как убьют врага, переключает атаку на игрока своей фракции, так быть не должно.
Яву не особо хорошо знаю, но код вроде как верный, может быть что-то упустил, посмотрите пожалуйста, подскажите, где может быть проблема ?
AI Ranger

FactionRanger AI собственно который прописан у гварда

ну и GuardInstance
Я не силен в яве, но если Гвард все еще находиться в режиме EvtAttacked, то стоит и туда добавить проверку.
Код:
if(GeoEngine.canMoveToCoord(old_posX, old_posY, old_posZ, posX, posY, posZ, actor.getGeoIndex()))
        {
                        if(attacker.getFactionId() != this.getFactionId())//либо actor.getFactionId() вместо this
                       {
            addTaskMove(posX, posY, posZ, false);
            addTaskAttack(attacker);
                       }
                        else
                           return;//ну и выйти как то из EvAttacked.

        }
    }
P.S.
Но если честно, проблема мне видится немного глобальнее, но так как полного сурса не предоставили, и если EvtAttacked это единственный класс который отвечает за начало атаки (addTaskAttack) , то как минимум стоит поискать все его вызовы, ибо не должно быть такого чтобы он самовольно получал список тех кто рядом находиться и вызывал EvtAttacked(Это видимо с агром или переагром связанно, либо еще с чем то), и лучше в том месте добавить проверку. Хотя это же все ява kappa , кому какая разница - пиши как хочешь, и может даже сработает.
Ответ
#3
Для начала вам нужно узнать что именно выдают ваши проверки в checkAggr и canAttackChar
Ответ
#4
FaintSmile Написал:Для начала вам нужно узнать что именно выдают ваши проверки в checkAggr и canAttackChar

Вроде как помогло EvtAttacked, дальше, думаю, не имеет смысла проверять..
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  GuardInstance L2J 6 2,131 05-21-2014, 10:44 PM
Последний пост: Mifesto
  Guard L2J 11 17,866 04-11-2014, 05:18 PM
Последний пост: moveton
  Guard BlackJeck 18 5,081 02-14-2013, 07:30 PM
Последний пост: gorodetskiy

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)