 | pc._hateList.remove(cha);
pc._hateList.clear();
target = targetPc;
final L1Character target = null;
pc.checkTarget();
pc.targetClear();
pc.setFirstAttack(false);
用以上方法,都不能解除打手的攻擊目標,只要主人打了怪物一下,打手就會一直打怪物,直到死亡,才會繼續跟隨主人,主人走遠以後自動傳送打手到主人身邊,打手就會又跑回去打先前沒有打死的怪物。。。頭痛慾裂,不知道怎麼解決了。
貼上代碼,求大大幫忙看看!
if (pc.glanceCheck(targets.getX(), targets.getY()) &&
pc.getLocation().getTileLineDistance(targetPc.getLocation()) < 16 &&
// pc.getMapId() == targetPc.getMapId() &&
!targets.isDead()){
// targets.onAction(pc);
// pc.setNowTarget(targets);
pc._hateList.add(cha, 0);
pc.attackTarget(targets);
} else {
pc._hateList.remove(cha);
pc._hateList.clear();
target = targetPc;
final L1Character target = null;
// pc.checkTarget();
// pc.targetClear();
// pc.setFirstAttack(false);
// pc.setNowTarget(null);// 解除目前攻击目标设置
pc.allTargetClear();
pc.setTeleportX(targetPc.getX());
pc.setTeleportY(targetPc.getY());
pc.setTeleportMapId((short) targetPc.getMapId());
pc.setTeleportHeading(pc.getHeading());
teleportation(pc);
MoveCha(pc , targetPc);
// target = null;
// pc.setFirstAttack(false);
// this.setNowTarget(null);// 解除目前攻击目标设置
return;
| |