CalypsoToolz 451 Опубликовано 18 мая, 2014 (изменено) Всем привет. В общем хотел бы узнать - как сделать так, чтобы моб, при получении повреждений от моба, агрился на него (и рядом стоящие мобы с этой же фракции) так же как и на простого игрока? Вот код аи: package scripts.ai; import l2n.game.ai.CtrlIntention; import l2n.game.ai.Fighter; import l2n.game.model.actor.L2Character; import l2n.game.model.L2World; import l2n.game.model.instances.L2NpcInstance; import l2n.util.Rnd; public class GludioGuard extends Fighter { private long _lastAttackTime = 0; private static final long NextAttack = 10 * 1000; // 10 сек private L2NpcInstance monster; private static final int[] NPC_GLUDIO = { 18342, 18655 }; public GludioGuard(L2Character actor) { super(actor); AI_TASK_DELAY = 500; } public boolean isGlobalAI() { return true; } @Override protected boolean thinkActive() { L2NpcInstance actor = getActor(); if(actor == null) return true; if(!actor.isRunning()) startRunningTask(1000); if(getIntention() == CtrlIntention.AI_INTENTION_ACTIVE) { if(monster == null) for(L2NpcInstance npc : L2World.getAroundNpc(actor, 2000, 500)) if(npc.getNpcId() == NPC_GLUDIO[Rnd.get(NPC_GLUDIO.length)]) { npc.addDamageHate(actor, 0, 500); monster = npc; } if(monster != null) { setIntention(CtrlIntention.AI_INTENTION_ATTACK, monster); _lastAttackTime = System.currentTimeMillis(); } } return true; } @Override protected void onEvtDead(L2Character killer) { monster = null; _lastAttackTime = 0; super.onEvtDead(killer); } } Изменено 18 мая, 2014 пользователем BymerOK Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 19 мая, 2014 Ну или хотя бы чтобы при атаке его игроком, он сразу переагривался на него. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
YuraAAA1 13 Опубликовано 20 мая, 2014 Ну или хотя бы чтобы при атаке его игроком, он сразу переагривался на него. GludioGuard причём тут? Это ведь AI гварда. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 20 мая, 2014 GludioGuard причём тут? Это ведь AI гварда. Это не AI гварда, это созданное мною аи. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 20 мая, 2014 Ну в общем я хочу стравить две пачки мобов между собой, щас пока только выходит так: кто то бьет, кто то просто стоит. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты