• SiteAnalyzer, технический и SEO-анализ сайтов

NPC и геодата

giphy.gif
 
А ты кто ?) епт, было бы что править. Запускаем сборку в отладке, включаем логирование и смотрим по каким причинам моб ведет себя именно так и какие методы в этот момент работают\не работают в сборке. Дальше смотрим что может этому мешать и делаем следующее:
В MoveTaskManager добавить метод:
public Creature getCreature(Creature creature) {
return movingCreatures.get(creature.getObjectId());
}
В NpcMoveController в методе moveToTargetObject() под условием if (started.compareAndSet(false, true)) добавляем:
else if (MoveTaskManager.getInstance().getCreature(owner) == null
&& owner.getAi2().getState() == AIState.FIGHT
&& owner.getTarget() != null) {
owner.getAi2().onGeneralEvent(AIEventType.TARGET_GIVEUP);
}
Сложно пиздец да?

Лучше убрать обращение к гео в AggroEventHandler. Выглядит более презентабельно, т.к. моб еще бежит некоторое время за тобой
 
Лучше убрать обращение к гео в AggroEventHandler. Выглядит более презентабельно, т.к. моб еще бежит некоторое время за тобой
Можно сборку удалить раз непонимаешь ничего все равно, выглядеть будет еще лучше и головняков тоже нет
 
А ты кто ?) епт, было бы что править. Запускаем сборку в отладке, включаем логирование и смотрим по каким причинам моб ведет себя именно так и какие методы в этот момент работают\не работают в сборке. Дальше смотрим что может этому мешать и делаем следующее:
В MoveTaskManager добавить метод:
public Creature getCreature(Creature creature) {
return movingCreatures.get(creature.getObjectId());
}
В NpcMoveController в методе moveToTargetObject() под условием if (started.compareAndSet(false, true)) добавляем:
else if (MoveTaskManager.getInstance().getCreature(owner) == null
&& owner.getAi2().getState() == AIState.FIGHT
&& owner.getTarget() != null) {
owner.getAi2().onGeneralEvent(AIEventType.TARGET_GIVEUP);
}
Сложно пиздец да?

не компилиться нифига твой метод)))
 
Назад
Сверху